65 wxString brd_name( wxT(
"soldermask_bridge_all_tracks" ) );
68 std::vector<DRC_ITEM> violations;
79 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
80 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
83 violations.push_back( *aItem );
90 for(
PCB_TRACK* track : m_board->Tracks() )
92 if( track->GetNetname() == wxT(
"a" ) )
94 else if( track->GetNetname() == wxT(
"b" ) )
99 netA_tracks, netB_tracks ) );
124 BOOST_CHECK_GT( violations.size(), 5 );
127 violations.size() ) );
130 std::set<KIID> netAItemIds;
132 for(
const DRC_ITEM& item : violations )
134 if( item.GetAuxItemID() !=
niluuid )
135 netAItemIds.insert( item.GetAuxItemID() );
139 BOOST_CHECK_GE( netAItemIds.size(), 4 );
141 BOOST_TEST_MESSAGE( wxString::Format(
"Found %zu different net A items in violations",
142 netAItemIds.size() ) );
151 wxString brd_name( wxT(
"soldermask_bridge_all_tracks" ) );
154 std::vector<DRC_ITEM> violations;
164 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
165 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
168 violations.push_back( *aItem );
174 size_t singleErrorViolations = violations.size();
176 BOOST_TEST_MESSAGE( wxString::Format(
"Single error mode: Found %zu soldermask bridge violations",
177 singleErrorViolations ) );
183 size_t allErrorsViolations = violations.size();
185 BOOST_TEST_MESSAGE( wxString::Format(
"All errors mode: Found %zu soldermask bridge violations",
186 allErrorsViolations ) );
189 BOOST_CHECK_GE( allErrorsViolations, singleErrorViolations );