def _run_commands(self, commands, name): logging.info("Running %s", name) if commands: System.run_commands(commands, dry_run=self.args.dry_run, with_continuous_output=True, cwd=self.args.work_dir, shell=True) logging.info("Finished running %s", name) else: logging.info("No commands given, continuing...")
def test_run_command_dry(self): with captured_output() as (console_out, console_err): out, err, rc = System.run_command("false", dry_run=True) self.assertIn("[DRY] Would execute command: false", console_out.getvalue().strip()) self.assertEqual(out, "") self.assertEqual(err, "") self.assertEqual(rc, 0)
def get_docker_version(): cmd = " ".join([Constants.DOCKER_PATH, "version", "--format", "{{.Server.Version}}"]) version, _, return_code = System.run_command(cmd, fail_on_bad_return_code=False, shell=True) if return_code != 0: raise Exception("docker needs to be installed in order to use docker-make") suffix = None if "+" in version: split = version.split("+", 1) version = split[0] if "-" in version: split = version.split("-", 1) version = split[0] suffix = split[1] logging.debug("Found docker version: %s (edition: %s)", version, suffix) return version, suffix
def run(self): return System.run_command(self.command, **self.command_options)
def test_run_command_with_rc_0(self): out, err, rc = System.run_command(["echo", "-n", "42"]) self.assertEqual(out, "42") self.assertEqual(err, "") self.assertEqual(rc, 0)
def test_run_command_with_continuous_output_through_shell(self): with captured_output(): out, err, rc = System.run_command(["echo -n 42"], with_continuous_output=True, shell=True) self.assertEqual(out, "42") self.assertEqual(err, "") self.assertEqual(rc, 0)
def test_run_command_with_continuous_output(self): with captured_output(): out, err, rc = System.run_command(["echo", "-n", "42"], with_continuous_output=True) self.assertEqual(out, "42") self.assertEqual(err, "") self.assertEqual(rc, 0)
def test_run_command_raises_exception(self): try: _, _, _ = System.run_command(["false"]) self.fail() except Exception as e: self.assertEqual(str(e), "Command returned with exit code 1: false")
def test_run_command_with_rc_1(self): out, err, rc = System.run_command(["false"], fail_on_bad_return_code=False) self.assertEqual(out, "") self.assertEqual(err, "") self.assertEqual(rc, 1)
def check_if_git_is_installed(): cmd = ["git", "version"] System.run_command(cmd)
def get_gitsha1_hash_of_head(): cmd = ["git", "rev-parse", "--short=8", "HEAD"] out, _, _ = System.run_command(cmd, fail_on_bad_return_code=False) return out
def get_git_remote_origin_url(): cmd = ["git", "config", "--get", "remote.origin.url"] url, _, _ = System.run_command(cmd, fail_on_bad_return_code=False) return url