67 SCH_SHEET_LIST sheets = m_schematic->BuildSheetListSortedByPageNumbers();
68 m_schematic->ConnectionGraph()->Recalculate( sheets,
true );
69 m_schematic->ConnectionGraph()->RunERC();
86 int pinNotConnected = 0;
87 int isolatedPinLabel = 0;
88 bool sawExpectedPinNotConnected =
false;
89 bool sawExpectedIsolatedLabel =
false;
91 for(
int ii = 0; ii < errors.
GetCount(); ++ii )
93 std::shared_ptr<RC_ITEM> item = errors.
GetItem( ii );
95 int errorCode = item->GetErrorCode();
102 sawExpectedPinNotConnected |= marker->
GetPosition() == expectedPinNotConnected;
107 sawExpectedIsolatedLabel |= marker->
GetPosition() == expectedIsolatedLabel;
116 "Expected 12 pin_not_connected violations but got " << pinNotConnected
121 "Expected at least 1 isolated_pin_label violation but got "
122 << isolatedPinLabel <<
"\n"
127 "Expected pin_not_connected marker at (77.47, 121.92) mm was missing\n"
131 "Expected isolated_pin_label marker at (121.92, 77.47) mm was missing\n"
constexpr EDA_IU_SCALE schIUScale
wxString GetTextReport()
Returns the ERC report in "text" (human readable) format in the C-locale.
Container for ERC settings.
std::map< int, SEVERITY > m_ERCSeverities
int TestPinToPin()
Checks the full netlist against the pin-to-pin connectivity requirements.
int TestSimilarLabels()
Checks for labels that differ only in capitalization.
int TestMultUnitPinConflicts()
Checks if shared pins on multi-unit symbols have been connected to different nets.
int TestNoConnectPins()
In KiCad 5 and earlier, you could connect stuff up to pins with NC electrical type.
int TestMultiunitFootprints()
Test if all units of each multiunit symbol have the same footprint assigned.
Instantiate the current locale within a scope in which you are expecting exceptions to be thrown.
VECTOR2I GetPosition() const override
A container for handling SCH_SHEET_PATH objects in a flattened hierarchy.
An implementation of the RC_ITEM_LIST interface which uses the global SHEETLIST to fulfill the contra...
int GetCount(int aSeverity=-1) const override
void SetSeverities(int aSeverities) override
std::shared_ptr< RC_ITEM > GetItem(int aIndex) const override
Retrieve a RC_ITEM by index.
@ ERCE_LABEL_SINGLE_PIN
A label is connected only to a single pin.
@ ERCE_PIN_NOT_CONNECTED
Pin not connected and not no connect symbol.
@ ERCE_LIB_SYMBOL_MISMATCH
Symbol doesn't match copy in library.
@ ERCE_LIB_SYMBOL_ISSUES
Symbol not found in active libraries.
void LoadSchematic(SETTINGS_MANAGER &aSettingsManager, const wxString &aRelPath, std::unique_ptr< SCHEMATIC > &aSchematic)
std::vector< FAB_LAYER_COLOR > dummy
ERC_MARKER_DEDUP_FIXTURE()
SETTINGS_MANAGER m_settingsManager
std::unique_ptr< SCHEMATIC > m_schematic
BOOST_FIXTURE_TEST_CASE(ERCMarkerDeduplicationMultinetclasses, ERC_MARKER_DEDUP_FIXTURE)
BOOST_REQUIRE(intersection.has_value()==c.ExpectedIntersection.has_value())
BOOST_CHECK_MESSAGE(totalMismatches==0, std::to_string(totalMismatches)+" board(s) with strategy disagreements")
VECTOR2< int32_t > VECTOR2I