KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_drc_via_stack.cpp File Reference
#include <fstream>
#include <memory>
#include <wx/filename.h>
#include <qa_utils/file_utils.h>
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <pcbnew_utils/board_file_utils.h>
#include <board.h>
#include <board_design_settings.h>
#include <board_stackup_manager/board_stackup.h>
#include <board_stackup_manager/stackup_predefined_prms.h>
#include <common.h>
#include <lset.h>
#include <padstack.h>
#include <pcb_track.h>
#include <generators/pcb_via_stack.h>
#include <drc/drc_engine.h>
#include <drc/drc_item.h>
#include <drc/drc_rule_parser.h>
#include <pcbnew_utils/board_test_utils.h>
#include <reporter.h>
#include <settings/settings_manager.h>
#include <widgets/report_severity.h>

Go to the source code of this file.

Classes

struct  VIA_STACK_DRC_FIXTURE
 

Functions

static PCB_VIA * makeMicrovia (BOARD *aBoard, const VECTOR2I &aPos, PCB_LAYER_ID aTop, PCB_LAYER_ID aBottom, bool aFilled)
 
static PCB_VIA_STACK * makeStack (BOARD *aBoard, PCB_LAYER_ID aStart, PCB_LAYER_ID aEnd)
 
 BOOST_FIXTURE_TEST_CASE (GoodStackNoViolations, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (StackNotTilingItsSpanReported, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (DuplicateHopReported, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (UnfilledInnerHopReported, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (StackTooDeepReported, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (LooseStackedMicroviasReportNotFilled, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (LooseStackedMicroviasReportDepth, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (CoaxialButSeparatedMicroviasAreNotOneStack, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (GeneratorStackIsNotReportedTwice, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (OverlappingButOffsetMicroviasAreOneStructure, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (ClearOfTheViaBelowIsAStaggerNotAStack, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (EveryHopOfAStackMustBeFilled, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (ALoneMicroviaMayBeUnfilled, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (MicroviaTooDeepForItsDiameterIsReported, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AspectRatioIsSilentWithoutALimit, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AspectRatioSurvivesTheOtherChecksBeingIgnored, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AspectRatioNeedsStackupThicknesses, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (MicroviaStackDepthRuleIsHonoured, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (IgnoredDepthRuleIsSilent, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (IgnoredAspectRuleIsSilent, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (ZeroSpanMicroviasDoNotMultiplyViolations, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AspectRatioCountsEveryDielectricSublayer, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AspectRatioUsesTheFoilTheLaserEnters, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (FillFromBoardHonoursTheBoardDefault, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AViaCarriedTwiceIsReportedOnce, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (TouchingHolesFormAColumn, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (MicroviaThroughCoreIsReported, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (ASecondHopSharingALandingViaIsStillChecked, VIA_STACK_DRC_FIXTURE)
 
 BOOST_FIXTURE_TEST_CASE (AnIgnoredAspectRatioDoesNotStopTheCoreCheck, VIA_STACK_DRC_FIXTURE)
 

Function Documentation

◆ BOOST_FIXTURE_TEST_CASE() [1/29]

BOOST_FIXTURE_TEST_CASE ( ALoneMicroviaMayBeUnfilled ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 359 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [2/29]

◆ BOOST_FIXTURE_TEST_CASE() [3/29]

BOOST_FIXTURE_TEST_CASE ( ASecondHopSharingALandingViaIsStillChecked ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 734 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [4/29]

◆ BOOST_FIXTURE_TEST_CASE() [5/29]

◆ BOOST_FIXTURE_TEST_CASE() [6/29]

◆ BOOST_FIXTURE_TEST_CASE() [7/29]

◆ BOOST_FIXTURE_TEST_CASE() [8/29]

◆ BOOST_FIXTURE_TEST_CASE() [9/29]

BOOST_FIXTURE_TEST_CASE ( AViaCarriedTwiceIsReportedOnce ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 642 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [10/29]

BOOST_FIXTURE_TEST_CASE ( ClearOfTheViaBelowIsAStaggerNotAStack ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 335 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [11/29]

BOOST_FIXTURE_TEST_CASE ( CoaxialButSeparatedMicroviasAreNotOneStack ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 298 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [12/29]

◆ BOOST_FIXTURE_TEST_CASE() [13/29]

BOOST_FIXTURE_TEST_CASE ( EveryHopOfAStackMustBeFilled ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 348 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [14/29]

BOOST_FIXTURE_TEST_CASE ( FillFromBoardHonoursTheBoardDefault ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 630 of file test_drc_via_stack.cpp.

◆ BOOST_FIXTURE_TEST_CASE() [15/29]

BOOST_FIXTURE_TEST_CASE ( GeneratorStackIsNotReportedTwice ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 312 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [16/29]

◆ BOOST_FIXTURE_TEST_CASE() [17/29]

◆ BOOST_FIXTURE_TEST_CASE() [18/29]

◆ BOOST_FIXTURE_TEST_CASE() [19/29]

BOOST_FIXTURE_TEST_CASE ( LooseStackedMicroviasReportDepth ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 285 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [20/29]

BOOST_FIXTURE_TEST_CASE ( LooseStackedMicroviasReportNotFilled ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 275 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [21/29]

BOOST_FIXTURE_TEST_CASE ( MicroviaStackDepthRuleIsHonoured ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 468 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [22/29]

◆ BOOST_FIXTURE_TEST_CASE() [23/29]

◆ BOOST_FIXTURE_TEST_CASE() [24/29]

BOOST_FIXTURE_TEST_CASE ( OverlappingButOffsetMicroviasAreOneStructure ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 324 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [25/29]

BOOST_FIXTURE_TEST_CASE ( StackNotTilingItsSpanReported ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 219 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [26/29]

BOOST_FIXTURE_TEST_CASE ( StackTooDeepReported ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 262 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [27/29]

BOOST_FIXTURE_TEST_CASE ( TouchingHolesFormAColumn ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 653 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [28/29]

BOOST_FIXTURE_TEST_CASE ( UnfilledInnerHopReported ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 251 of file test_drc_via_stack.cpp.

References BOOST_CHECK_EQUAL().

◆ BOOST_FIXTURE_TEST_CASE() [29/29]

BOOST_FIXTURE_TEST_CASE ( ZeroSpanMicroviasDoNotMultiplyViolations ,
VIA_STACK_DRC_FIXTURE  )

Definition at line 538 of file test_drc_via_stack.cpp.

◆ makeMicrovia()

◆ makeStack()