67 wxString brd_name( wxT(
"soldermask_bridge_all_tracks" ) );
70 std::vector<DRC_ITEM> violations;
81 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
82 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
85 violations.push_back( *aItem );
92 for(
PCB_TRACK* track : m_board->Tracks() )
94 if( track->GetNetname() == wxT(
"a" ) )
96 else if( track->GetNetname() == wxT(
"b" ) )
101 netA_tracks, netB_tracks ) );
126 BOOST_CHECK_GT( violations.size(), 5 );
129 violations.size() ) );
132 std::set<KIID> netAItemIds;
134 for(
const DRC_ITEM& item : violations )
136 if( item.GetAuxItemID() !=
niluuid )
137 netAItemIds.insert( item.GetAuxItemID() );
141 BOOST_CHECK_GE( netAItemIds.size(), 4 );
143 BOOST_TEST_MESSAGE( wxString::Format(
"Found %zu different net A items in violations",
144 netAItemIds.size() ) );
153 wxString brd_name( wxT(
"soldermask_bridge_all_tracks" ) );
156 std::vector<DRC_ITEM> violations;
166 [&](
const std::shared_ptr<DRC_ITEM>& aItem,
const VECTOR2I& aPos,
int aLayer,
167 const std::function<
void(
PCB_MARKER* )>& aPathGenerator )
170 violations.push_back( *aItem );
176 size_t singleErrorViolations = violations.size();
178 BOOST_TEST_MESSAGE( wxString::Format(
"Single error mode: Found %zu soldermask bridge violations",
179 singleErrorViolations ) );
185 size_t allErrorsViolations = violations.size();
187 BOOST_TEST_MESSAGE( wxString::Format(
"All errors mode: Found %zu soldermask bridge violations",
188 allErrorsViolations ) );
191 BOOST_CHECK_GE( allErrorsViolations, singleErrorViolations );