Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_log_pcall(self, mocksession):
mocksession.logging_levels(quiet=Verbosity.DEFAULT, verbose=Verbosity.INFO)
mocksession.config.logdir.ensure(dir=1)
assert not mocksession.config.logdir.listdir()
with mocksession.newaction("what", "something") as action:
action.popen(["echo"])
match = mocksession.report.getnext("logpopen")
log_name = py.path.local(match[1].split(">")[-1].strip()).relto(
mocksession.config.logdir
)
assert log_name == "what-0.log"
def test_log_pcall(self, mocksession):
mocksession.logging_levels(quiet=Verbosity.DEFAULT, verbose=Verbosity.INFO)
mocksession.config.logdir.ensure(dir=1)
assert not mocksession.config.logdir.listdir()
with mocksession.newaction("what", "something") as action:
action.popen(["echo"])
match = mocksession.report.getnext("logpopen")
log_name = py.path.local(match[1].split(">")[-1].strip()).relto(
mocksession.config.logdir
)
assert log_name == "what-0.log"
def test_resolve_pkg_multiple_valid_versions(tmpdir, mocksession):
mocksession.logging_levels(quiet=Verbosity.DEFAULT, verbose=Verbosity.DEBUG)
distshare = tmpdir.join("distshare")
distshare.ensure("pkg123-1.3.5.zip")
p = distshare.ensure("pkg123-1.4.5.zip")
result = resolve_package(distshare.join("pkg123-*"))
assert result == p
mocksession.report.expect("info", "determin*pkg123*")
finally:
if out_path is not None and out_path.exists():
lines = out_path.read_text("UTF-8").split("\n")
# first three lines are the action, cwd, and cmd - remove it
output = "\n".join(lines[3:])
try:
if exit_code and not ignore_ret:
if report_fail:
msg = "invocation failed (exit code {:d})".format(exit_code)
if out_path is not None:
msg += ", logfile: {}".format(out_path)
if not out_path.exists():
msg += " warning log file missing"
reporter.error(msg)
if out_path is not None and out_path.exists():
reporter.separator("=", "log start", Verbosity.QUIET)
reporter.quiet(output)
reporter.separator("=", "log end", Verbosity.QUIET)
raise InvocationError(cmd_args_shell, exit_code, output)
finally:
self.command_log.add_command(cmd_args, output, exit_code)
return output
def runcommand(self):
reporter.using(
"tox-{} from {} (pid {})".format(tox.__version__, tox.__file__, os.getpid())
)
show_description = reporter.has_level(reporter.Verbosity.DEFAULT)
if self.config.run_provision:
provision_tox_venv = self.getvenv(self.config.provision_tox_env)
return provision_tox(provision_tox_venv, self.config.args)
else:
if self.config.option.showconfig:
self.showconfig()
elif self.config.option.listenvs:
self.showenvs(all_envs=False, description=show_description)
elif self.config.option.listenvs_all:
self.showenvs(all_envs=True, description=show_description)
else:
with self.cleanup():
return self.subcommand_test()
def _summary(self):
is_parallel_child = PARALLEL_ENV_VAR_KEY_PRIVATE in os.environ
if not is_parallel_child:
reporter.separator("_", "summary", reporter.Verbosity.QUIET)
exit_code = 0
for venv in self.venv_dict.values():
report = reporter.good
status = getattr(venv, "status", "undefined")
if isinstance(status, tox.exception.InterpreterNotFound):
msg = " {}: {}".format(venv.envconfig.envname, str(status))
if self.config.option.skip_missing_interpreters == "true":
report = reporter.skip
else:
exit_code = 1
report = reporter.error
elif status == "platform mismatch":
msg = " {}: {} ({!r} does not match {!r})".format(
venv.envconfig.envname, str(status), sys.platform, venv.envconfig.platform
)
report = reporter.skip
def show_config(config):
parser = configparser.ConfigParser()
if not config.envlist_explicit or reporter.verbosity() >= reporter.Verbosity.INFO:
tox_info(config, parser)
version_info(parser)
tox_envs_info(config, parser)
content = StringIO()
parser.write(content)
value = content.getvalue().rstrip()
reporter.verbosity0(value)
def _run():
reporter.update_default_reporter(0, reporter.Verbosity.DEBUG)
for spec in discover_pythons():
print(repr(spec))
else:
yield val
cmd = list(chain.from_iterable(expand(val) for val in self.envconfig.install_command))
env = self._get_os_environ()
self.ensure_pip_os_environ_ok(env)
old_stdout = sys.stdout
sys.stdout = codecs.getwriter("utf8")(sys.stdout)
try:
self._pcall(
cmd,
cwd=self.envconfig.config.toxinidir,
action=action,
redirect=reporter.verbosity() < reporter.Verbosity.DEBUG,
env=env,
)
finally:
sys.stdout = old_stdout