def test_exclude_coverage(coverage_mode, tester, config): tester.useSafeMath(5, 10) coverage_eval = coverage.get_merged_coverage_eval() report = _build_coverage_output(coverage_eval) assert _build_coverage_output(coverage_eval) == report config.settings["reports"]["exclude_contracts"] = "SafeMath" assert _build_coverage_output(coverage_eval) != report
def test_exclude_coverage_by_glob(coverage_mode, tester, vypertester, config): tester.useSafeMath(5, 10) vypertester.overflow(1, 2) coverage_eval = coverage.get_merged_coverage_eval() report = _build_coverage_output(coverage_eval) assert _build_coverage_output(coverage_eval) == report config.settings["reports"]["exclude_paths"] = "contracts/*.vy" assert _build_coverage_output(coverage_eval) != report
def pytest_terminal_summary(self, terminalreporter): """ Add a section to terminal summary reporting. * When the `--disable-warnings` flag is active, removes all raised warnings prior to outputting the final console report. * When `--coverage` is active, outputs the result to stdout and saves the final report json. Arguments --------- terminalreporter : `_pytest.terminal.TerminalReporter` The internal terminal reporter object """ if self.config.getoption( "--disable-warnings") and "warnings" in terminalreporter.stats: del terminalreporter.stats["warnings"] if CONFIG.argv["coverage"]: terminalreporter.section("Coverage") # output coverage report to console coverage_eval = coverage.get_merged_coverage_eval() for line in output._build_coverage_output(coverage_eval): terminalreporter.write_line(line) # save coverage report as `reports/coverage.json` output._save_coverage_report( self.project._build, coverage_eval, self.project_path.joinpath(self.project._structure["reports"]), )