|
KiCad PCB EDA Suite
|
Performance regression test for creepage DRC check. More...
#include <qa_utils/wx_utils/unit_test_utils.h>#include <pcbnew_utils/board_test_utils.h>#include <board.h>#include <board_design_settings.h>#include <footprint.h>#include <pcb_track.h>#include <pcb_marker.h>#include <drc/drc_item.h>#include <drc/drc_engine.h>#include <settings/settings_manager.h>#include <widgets/report_severity.h>#include <chrono>#include <cstdlib>#include <fstream>Go to the source code of this file.
Classes | |
| struct | DRC_CREEPAGE_PERF_TEST_FIXTURE |
Functions | |
| BOOST_FIXTURE_TEST_CASE (CreepagePerformanceIssue21482, DRC_CREEPAGE_PERF_TEST_FIXTURE) | |
| Test that creepage DRC check completes in a reasonable time. | |
Performance regression test for creepage DRC check.
This test verifies that the creepage DRC check completes in a reasonable time even with many copper elements that are not in the creepage checking area.
Takes 11 seconds on my machine. Hopefully faster on better machines. Shooting for <15 seconds on boards with thousands of elements
Definition in file test_drc_creepage_issue21482.cpp.
| BOOST_FIXTURE_TEST_CASE | ( | CreepagePerformanceIssue21482 | , |
| DRC_CREEPAGE_PERF_TEST_FIXTURE | ) |
Test that creepage DRC check completes in a reasonable time.
This test uses a board with:
The creepage check should NOT scale linearly with the number of unrelated copper elements.
Definition at line 87 of file test_drc_creepage_issue21482.cpp.
References BOOST_TEST_MESSAGE(), DRC_ENGINE::ClearViolationHandler(), DRCE_CREEPAGE, DRCE_FIRST, DRCE_LAST, end, BOARD_DESIGN_SETTINGS::GetSeverity(), KI_TEST::LoadBoard(), BOARD_DESIGN_SETTINGS::m_DRCEngine, BOARD_DESIGN_SETTINGS::m_DRCSeverities, MM, RPT_SEVERITY_ERROR, RPT_SEVERITY_IGNORE, DRC_ENGINE::RunTests(), and DRC_ENGINE::SetViolationHandler().