def test_crash_report_store_cleanup(crash_dir, n_crashes): store = CrashReportStore() assert not set(crash_dir.glob("*")) crash_ids = [] for num in range(n_crashes): try: raise ValueError("Crash #%d" % num) except ValueError: crash = UnitTestCrashReport.from_exception() store.save(crash) crash_ids.append(crash.ident_to_text()) assert len(set(crash_dir.glob("*"))) <= store._keep_num_crashes assert {e.name for e in crash_dir.glob("*")} == set(crash_ids[-store._keep_num_crashes:])
def test_crash_report_store_cleanup(): store = CrashReportStore() base_dir = cmk.utils.paths.crash_dir / "test" expected_crash_ids = set() assert set(e.name for e in base_dir.glob("*")) == expected_crash_ids for num in range(store._keep_num_crashes + 1): try: raise ValueError("Crash #%d" % num) except ValueError: crash = UnitTestCrashReport.from_exception() if num != 0: expected_crash_ids.add(crash.ident_to_text()) store.save(crash) assert set(e.name for e in base_dir.glob("*")) == expected_crash_ids