69 wxString brd_name( wxT(
"soldermask_bridge_all_tracks" ) );
72 std::vector<DRC_ITEM> violations;
83 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
84 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
87 violations.push_back( *aItem );
94 for(
PCB_TRACK* track : m_board->Tracks() )
96 if( track->GetNetname() == wxT(
"a" ) )
98 else if( track->GetNetname() == wxT(
"b" ) )
103 netA_tracks, netB_tracks ) );
128 BOOST_CHECK_GT( violations.size(), 5 );
131 violations.size() ) );
134 std::set<KIID> netAItemIds;
136 for(
const DRC_ITEM& item : violations )
138 if( item.GetAuxItemID() !=
niluuid )
139 netAItemIds.insert( item.GetAuxItemID() );
143 BOOST_CHECK_GE( netAItemIds.size(), 4 );
145 BOOST_TEST_MESSAGE( wxString::Format(
"Found %zu different net A items in violations",
146 netAItemIds.size() ) );
155 wxString brd_name( wxT(
"soldermask_bridge_all_tracks" ) );
158 std::vector<DRC_ITEM> violations;
168 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
169 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
172 violations.push_back( *aItem );
178 size_t singleErrorViolations = violations.size();
180 BOOST_TEST_MESSAGE( wxString::Format(
"Single error mode: Found %zu soldermask bridge violations",
181 singleErrorViolations ) );
187 size_t allErrorsViolations = violations.size();
189 BOOST_TEST_MESSAGE( wxString::Format(
"All errors mode: Found %zu soldermask bridge violations",
190 allErrorsViolations ) );
193 BOOST_CHECK_GE( allErrorsViolations, singleErrorViolations );