def do_test_serialization(suites_or_report, backend, tmpdir, fixtures=(), report_saving_strategy=None): report_filename = tmpdir.join(backend.get_report_filename()).strpath if isinstance(suites_or_report, Report): report = suites_or_report backend.save_report(report_filename, report) else: suites = suites_or_report if type(suites) not in (list, tuple): suites = [suites] report = run_suite_classes( suites, fixtures=fixtures, backends=[backend], tmpdir=tmpdir, report_saving_strategy=report_saving_strategy) unserialized_report = backend.load_report(report_filename) # dump_report(unserialized_report) assert_report(unserialized_report, report)
def test_load_reports_from_dir(tmpdir, sample_report): save_xml(sample_report, tmpdir.join("report.xml").strpath) save_json(sample_report, tmpdir.join("report.js").strpath) tmpdir.join("report.txt").write("foobar") reports = list(load_reports_from_dir(tmpdir.strpath)) assert_report(reports[0], sample_report) assert_report(reports[1], sample_report) assert "json" in [r.backend.name for r in reports] assert "xml" in [r.backend.name for r in reports]
def test_nb_threads(backend, tmpdir): if backend is None: return # test is not relevant report = Report() report.nb_threads = 3 report.start_time = time.time() report.end_time = report.start_time report.report_generation_time = report.start_time report_filename = tmpdir.join("report").strpath backend.save_report(report_filename, report) unserialized_report = backend.load_report(report_filename) # dump_report(unserialized_report) assert_report(unserialized_report, report)
def _test_load_report(tmpdir, sample_report, save_func): filename = tmpdir.join("report").strpath save_func(sample_report, filename) report = load_report(filename) assert_report(report, sample_report)
def _test_save_report(tmpdir, sample_report, backend, load_func): filename = tmpdir.join("report").strpath save_report(filename, sample_report, backend) report = load_func(filename) assert_report(report, sample_report)