33struct DRC_REGRESSION_TEST_FIXTURE
35 DRC_REGRESSION_TEST_FIXTURE()
38 SETTINGS_MANAGER m_settingsManager;
39 std::unique_ptr<BOARD> m_board;
53 std::vector<DRC_ITEM> violations;
66 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
67 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
73 violations.push_back( *aItem );
76 violations.back().SetParent(
nullptr );
82 if( violations.size() == 8 )
94 for(
const DRC_ITEM& item : violations )
97 BOOST_ERROR(
"Custom rule severity test failed" );
constexpr EDA_IU_SCALE pcbIUScale
Container for design settings for a BOARD object.
std::map< int, SEVERITY > m_DRCSeverities
std::shared_ptr< DRC_ENGINE > m_DRCEngine
std::set< DRC_EXCLUSION, DRC_EXCLUSION_COMPARE > m_DrcExclusions
Implements the RC_ITEM_RESOLVER interface to resolve PCB items by their KIID.
void RunTests(EDA_UNITS aUnits, bool aReportAllTrackErrors, bool aTestFootprints, BOARD_COMMIT *aCommit=nullptr)
Run the DRC tests.
void SetViolationHandler(DRC_VIOLATION_HANDLER aHandler)
Set an optional DRC violation handler (receives DRC_ITEMs and positions).
static DRC_EXCLUSION FromMarker(const PCB_MARKER &aMarker)
@ DRCE_LIB_FOOTPRINT_ISSUES
@ DRCE_FOOTPRINT_TYPE_MISMATCH
@ DRCE_LIB_FOOTPRINT_MISMATCH
void LoadBoard(SETTINGS_MANAGER &aSettingsManager, const wxString &aRelPath, std::unique_ptr< BOARD > &aBoard)
void FillZones(BOARD *m_board)
BOOST_FIXTURE_TEST_CASE(DRCCustomRuleSeverityTest, DRC_REGRESSION_TEST_FIXTURE)
BOOST_TEST_MESSAGE("Polyline has "<< chain.PointCount()<< " points")
BOOST_CHECK_EQUAL(result, "25.4")
VECTOR2< int32_t > VECTOR2I