KiCad PCB EDA Suite
Loading...
Searching...
No Matches
test_board_downgrade.cpp File Reference
#include <boost/test/unit_test.hpp>
#include <algorithm>
#include <cmath>
#include <fstream>
#include <map>
#include <memory>
#include <filesystem>
#include <set>
#include <wx/image.h>
#include <wx/imagpng.h>
#include <wx/mstream.h>
#include <base_units.h>
#include <board.h>
#include <board_design_settings.h>
#include <footprint.h>
#include <font/font.h>
#include <gr_text.h>
#include <pcb_track.h>
#include <generators/pcb_tuning_pattern.h>
#include <generators/pcb_via_stack.h>
#include <generators/pcb_via_stitch.h>
#include <constraints/pcb_constraint.h>
#include <pad.h>
#include <padstack.h>
#include <pcb_barcode.h>
#include <pcb_group.h>
#include <pcb_dimension.h>
#include <pcb_drill_chart.h>
#include <pcb_drill_map.h>
#include <pcb_grid_item.h>
#include <pcb_reference_image.h>
#include <pcb_shape.h>
#include <pcb_table.h>
#include <pcb_tablecell.h>
#include <pcb_textbox.h>
#include <board_stackup_manager/board_stackup.h>
#include <zone.h>
#include <zone_settings.h>
#include <nlohmann/json.hpp>
#include <netinfo.h>
#include <project.h>
#include <ki_exception.h>
#include <downgrade/board_downgrade.h>
#include <downgrade_scan.h>
#include <downgrade_target.h>
#include <drc_rules_downgrade.h>
#include <drc/drc_rule.h>
#include <drc/drc_rule_parser.h>
#include <project/project_file_downgrade.h>
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
#include <settings/settings_manager.h>
#include <pcbnew_utils/board_test_utils.h>
#include <qa_utils/downgrade_oracle_utils.h>
#include <qa_utils/downgrade_golden_utils.h>
#include <qa_utils/file_utils.h>

Go to the source code of this file.

Functions

 BOOST_AUTO_TEST_CASE (EmptyBoardIsClean)
 
 BOOST_AUTO_TEST_CASE (EllipseIsLoweredForKicad10)
 
 BOOST_AUTO_TEST_CASE (EllipseKeptForNewerTarget)
 
 BOOST_AUTO_TEST_CASE (EllipseTransformedToPolygon)
 
 BOOST_AUTO_TEST_CASE (UnfilledEllipseKeepsOutline)
 
 BOOST_AUTO_TEST_CASE (EllipseArcKeepsInk)
 
 BOOST_AUTO_TEST_CASE (KnockoutTextBoxLoweredForKicad9)
 
 BOOST_AUTO_TEST_CASE (TableCellKnockoutLoweredForKicad10)
 
 BOOST_AUTO_TEST_CASE (FootprintTableCellKnockoutLowered)
 
 BOOST_AUTO_TEST_CASE (RoundedRectangleLoweredForKicad9)
 
 BOOST_AUTO_TEST_CASE (CustomFootprintStackupBlocksKicad9)
 
 BOOST_AUTO_TEST_CASE (ZoneLayerPropertiesDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (BoardZoneDefaultsRoundTripAndDowngrade)
 
 BOOST_AUTO_TEST_CASE (ScaledFootprintBlocksExport)
 
 BOOST_AUTO_TEST_CASE (ViaProtectionDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (DielectricModelDroppedForKicad10)
 
 BOOST_AUTO_TEST_CASE (GroupDesignBlockLinkDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (ExtrudedBodyDroppedForKicad10)
 
 BOOST_AUTO_TEST_CASE (ThievingZoneBlocksKicad10)
 
 BOOST_AUTO_TEST_CASE (BackdrillBlocksKicad9)
 
 BOOST_AUTO_TEST_CASE (BoardExportIgnoresAPredictableStagingSymlink)
 
 BOOST_AUTO_TEST_CASE (BlockedBoardExportWritesNothing)
 
 BOOST_AUTO_TEST_CASE (PadSimTypeDroppedForKicad10)
 
 BOOST_AUTO_TEST_CASE (PostMachiningDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (PressFitDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (SkipViaLoweredForKicad9)
 
 BOOST_AUTO_TEST_CASE (ExportToKicad10PreservesGeometry)
 
 BOOST_AUTO_TEST_CASE (ExportToKicad9PreservesGeometry)
 
 BOOST_AUTO_TEST_CASE (BuriedViaLoweredForKicad9)
 
 BOOST_AUTO_TEST_CASE (ZoneDefaultsDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (BarcodeLoweredToPolygonsForKicad9)
 
 BOOST_AUTO_TEST_CASE (BarcodeProjectVariablesResolvedBeforeExport)
 
 BOOST_AUTO_TEST_CASE (FootprintBarcodeLoweredForKicad9)
 
 BOOST_AUTO_TEST_CASE (FootprintFileDowngradeRoundTrips)
 
 BOOST_AUTO_TEST_CASE (FootprintFileV10RoundTrips)
 
 BOOST_AUTO_TEST_CASE (FootprintPressFitDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (SaveWithTargetVersionStampsOlder)
 
 BOOST_AUTO_TEST_CASE (NullFieldSlotDoesNotCrashV9Writer)
 
 BOOST_AUTO_TEST_CASE (StaleGroupMemberNotWrittenForV10)
 
 BOOST_AUTO_TEST_CASE (SkipViaModeWrittenForV9)
 
 BOOST_AUTO_TEST_CASE (ImageScaleMigratedForV9)
 
 BOOST_AUTO_TEST_CASE (RotatedReferenceImageBlocks)
 
 BOOST_AUTO_TEST_CASE (ReferenceImageOpacityIsDropped)
 
 BOOST_AUTO_TEST_CASE (VerifyGateCatchesUnsupportedTokens)
 
 BOOST_AUTO_TEST_CASE (DrcRulesFilterForKicad9)
 
static size_t ParsedDrcRuleCount (const wxString &aText, const wxString &aSource)
 
 BOOST_AUTO_TEST_CASE (DroppedRulesStayInTheFileAsComments)
 
 BOOST_AUTO_TEST_CASE (CommentedRuleStartsAndEndsOnItsOwnLine)
 
 BOOST_AUTO_TEST_CASE (CommentedRuleKeepsItsOwnCommentsAndLineEndings)
 
 BOOST_AUTO_TEST_CASE (UnknownTopLevelBlockIsCommentedOut)
 
 BOOST_AUTO_TEST_CASE (ExportedRulesFileDowngradesAgainUnchanged)
 
 BOOST_AUTO_TEST_CASE (DrcRuleNamesAndExpressionLiteralsDoNotTriggerDrops)
 
 BOOST_AUTO_TEST_CASE (SpacedTimeAndAngleUnitsAreDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (DrcRulesFilterForKicad10)
 
 BOOST_AUTO_TEST_CASE (DrcRulesWithCommentsRemainIntact)
 
 BOOST_AUTO_TEST_CASE (CommentsAboveTheVersionHeaderAreKept)
 
 BOOST_AUTO_TEST_CASE (MissingVersionHeaderIsWrittenOnItsOwnLine)
 
 BOOST_AUTO_TEST_CASE (HeaderGluedToTheFirstRuleStaysGlued)
 
 BOOST_AUTO_TEST_CASE (InlineCommentBetweenRulesFailsClosed)
 
 BOOST_AUTO_TEST_CASE (UnitInsideAConditionIsChecked)
 
 BOOST_AUTO_TEST_CASE (TextVariableInsideACommentIsIgnored)
 
 BOOST_AUTO_TEST_CASE (FunctionNamesAreMatchedWithoutCase)
 
 BOOST_AUTO_TEST_CASE (ComponentClassSelectorIsDroppedForEveryTarget)
 
 BOOST_AUTO_TEST_CASE (UnquotedExpressionsAreScanned)
 
 BOOST_AUTO_TEST_CASE (QuotedConstraintItemsAreChecked)
 
 BOOST_AUTO_TEST_CASE (StringSpanningLinesFailsClosed)
 
 BOOST_AUTO_TEST_CASE (CommentBetweenParenthesisAndHeadIsKept)
 
 BOOST_AUTO_TEST_CASE (InvalidDrcCommentAndUnbalancedSyntaxFailClosed)
 
 BOOST_AUTO_TEST_CASE (DrcRulesMatchIndependentOlderReferences)
 
 BOOST_AUTO_TEST_CASE (VariantFlattenedIntoBoard)
 
 BOOST_AUTO_TEST_CASE (ProjectFileDowngradeForKicad9)
 
 BOOST_AUTO_TEST_CASE (EmptyNativeProjectSectionsDoNotRequireConsent)
 
 BOOST_AUTO_TEST_CASE (SavedProjectTuningAndClassChoicesStillRequireConsent)
 
 BOOST_AUTO_TEST_CASE (FutureComponentClassSchemaBlocksWithoutMutation)
 
 BOOST_AUTO_TEST_CASE (WrongShapeProjectFileDoesNotThrow)
 
 BOOST_AUTO_TEST_CASE (EmptyNetChainClassesSilent)
 
 BOOST_AUTO_TEST_CASE (NonDefaultTuningModelSettingsAreReportedForKicad10)
 
 BOOST_AUTO_TEST_CASE (ProjectFileDowngradeForKicad10)
 
 BOOST_AUTO_TEST_CASE (EllipseArcRingHasNoHoles)
 
 BOOST_AUTO_TEST_CASE (FootprintImageScaleCompensatedOnBoard)
 
 BOOST_AUTO_TEST_CASE (FootprintImageScaleCompensatedInLibrary)
 
 BOOST_AUTO_TEST_CASE (DuplicatePadJumperFlagDroppedForKicad9)
 
 BOOST_AUTO_TEST_CASE (FootprintFileKeepsZoneLayers)
 
 BOOST_AUTO_TEST_CASE (LibraryFilesDowngradeFailsClosed)
 
 BOOST_AUTO_TEST_CASE (DesignFileFilter)
 
 BOOST_AUTO_TEST_CASE (DenylistCoversCurrentFormat)
 
 BOOST_AUTO_TEST_CASE (DropApproximationsOmitsGraphicsWithoutReplacements)
 
 BOOST_AUTO_TEST_CASE (DropApproximationsOmitsFillAndCellContentsOnly)
 
 BOOST_AUTO_TEST_CASE (HatchedCopperAndInkFillsAreReportedSeparately)
 
 BOOST_AUTO_TEST_CASE (DropApproximationsKeepsHatchedCopperAsSolidFill)
 
 BOOST_AUTO_TEST_CASE (DropApproximationsOmitsRoundedPadPrimitives)
 
 BOOST_AUTO_TEST_CASE (ViaApproximationsSurviveDropPolicy)
 
 BOOST_AUTO_TEST_CASE (DropApproximationsKeepsTargetSupportedFeatures)
 
 BOOST_AUTO_TEST_CASE (DropApproximationsCannotBypassBlockRules)
 
 BOOST_AUTO_TEST_CASE (LibraryReplacementsWaitForTheDesignTransaction)
 
 BOOST_AUTO_TEST_CASE (DirectoryDestinationStopsAllTransactionReplacements)
 
 BOOST_AUTO_TEST_CASE (ConcurrentTransactionsUseDifferentOwnedStagingFiles)
 
 BOOST_AUTO_TEST_CASE (TransactionSymlinkReplacementLeavesLinkedSourcesUnchanged)
 
static void checkFeature (const COMPATIBILITY_REPORT &aReport, const wxString &aName, DOWNGRADE_BUCKET aBucket, int aCount)
 
 BOOST_AUTO_TEST_CASE (GeometricConstraintsDropWithoutMovingBoardOrFootprintGeometry)
 
 BOOST_AUTO_TEST_CASE (GridAndDrillDrawingLossesAreReportedBeforeRemoval)
 
 BOOST_AUTO_TEST_CASE (NewGeneratorsLoseEditabilityAndKeepCopperAndOuterGroups)
 
 BOOST_AUTO_TEST_CASE (NativeViaGeneratorFixtureExportsCopperAndOwnershipForBothTargetsAndPolicies)
 
 BOOST_AUTO_TEST_CASE (NativeTuningFixturesPreserveCopperAndEraEditabilityForBothPolicies)
 
 BOOST_AUTO_TEST_CASE (UnreviewedTuningPropertiesBlockBothTargetsAndPolicies)
 
 BOOST_AUTO_TEST_CASE (HistoricalTuningWritersRejectUnsafeDirectSerialization)
 
 BOOST_AUTO_TEST_CASE (HistoricalWritersRejectDirectViaGeneratorsAtomically)
 
 BOOST_AUTO_TEST_CASE (NativeGroupPlacementFixtureKeepsGeometryAndOwnershipForBothPolicies)
 
 BOOST_AUTO_TEST_CASE (GroupPlacementLinkageUsesTheSameFootprintPolicy)
 
 BOOST_AUTO_TEST_CASE (GroupPlacementGuardIgnoresOrdinaryGroupsAndQuotedText)
 
 BOOST_AUTO_TEST_CASE (InertGroupPlacementMetadataDoesNotRequireConsent)
 
 BOOST_AUTO_TEST_CASE (UnreviewedGeneratorKindBlocksBothPolicies)
 
 BOOST_AUTO_TEST_CASE (LineEndingsLowerPrintedInkOrDropOnlyEmbellishments)
 
 BOOST_AUTO_TEST_CASE (DashedEndedLinesBlockApproximationButAllowDroppingEndings)
 
 BOOST_AUTO_TEST_CASE (CustomPropertiesBakeOnlyAffectedVariablesBeforeRemoval)
 
 BOOST_AUTO_TEST_CASE (UnresolvedPropertyVariablesBlockBothPolicies)
 
 BOOST_AUTO_TEST_CASE (UsedProjectVariablesBakeInFootprintContextAndUnusedDefinitionsDoNotBlock)
 
 BOOST_AUTO_TEST_CASE (CachedBoardVariableDependenciesBakeInFootprintContext)
 
 BOOST_AUTO_TEST_CASE (MixedPropertyTextKeepsEscapedLiteralsAndSupportedVariables)
 
 BOOST_AUTO_TEST_CASE (NewExpressionUnitAliasIsBakedWithoutFreezingOtherVariables)
 
 BOOST_AUTO_TEST_CASE (UnresolvedAffectedExpressionsBlockBothPolicies)
 
 BOOST_AUTO_TEST_CASE (EscapedTextControlsBlockKicad9AndRemainLiteralInKicad10)
 
 BOOST_AUTO_TEST_CASE (TitleBlockExpressionsBakeBeforeDependentFootprintText)
 
 BOOST_AUTO_TEST_CASE (TitleBlockUnresolvablePropertyContextBlocksBothPolicies)
 
 BOOST_AUTO_TEST_CASE (TitleBlockSelfReferenceDoesNotHideUsedProjectDependencies)
 
 BOOST_AUTO_TEST_CASE (AffectedTableExpressionsUseNativeCellCoordinates)
 
 BOOST_AUTO_TEST_CASE (FootprintFileUsesTheSamePostMasterPoliciesAsBoardFootprints)
 
 BOOST_AUTO_TEST_CASE (SimulationExclusionsFollowSelectedVariantAndReportTheirLoss)
 
 BOOST_AUTO_TEST_CASE (LegacyBoldWidthsPreserveNestedTextAndDoNotMutateSource)
 
 BOOST_AUTO_TEST_CASE (ComplexPadstackFrontAndInnerCustomOptionsRoundTripToKicad10)
 
 BOOST_AUTO_TEST_CASE (CurrentProjectSchemasAndSupportedDrcExclusionsMigrateForBothTargets)
 
 BOOST_AUTO_TEST_CASE (UnrepresentableDrcExclusionsDropWithReports)
 
 BOOST_AUTO_TEST_CASE (PostMasterProjectSettingsReportOnlyMeaningfulLosses)
 
 BOOST_AUTO_TEST_CASE (NewTuningBridgeDelayIsRemovedAndReportedForKicad10)
 
 BOOST_AUTO_TEST_CASE (NativeNetChainClassMapReportsOnlyNonemptyMappings)
 
 BOOST_AUTO_TEST_CASE (ReleaseVocabularyKeepsEveryRuleTheReleaseCouldRead)
 
 BOOST_AUTO_TEST_CASE (EveryDowngradeTargetHasARuleVocabulary)
 
 BOOST_AUTO_TEST_CASE (PropertiesTheReleaseCannotEvaluateAreDropped)
 
 BOOST_AUTO_TEST_CASE (SpacedUnitsAreNotMistakenForKeywords)
 
 BOOST_AUTO_TEST_CASE (UnitsAndTextVariablesFollowWhatTheReleaseParses)
 
 BOOST_AUTO_TEST_CASE (WordsAddedInAPointReleaseAreNotInTheSeriesVocabulary)
 
 BOOST_AUTO_TEST_CASE (UnquotedLayerNamesAreNotMistakenForKeywords)
 
 BOOST_AUTO_TEST_CASE (MissingRuleVocabularyFailsClosed)
 
 BOOST_AUTO_TEST_CASE (NewDrcConstraintsAndFunctionsAreFilteredWithoutLiteralFalsePositives)
 
 BOOST_AUTO_TEST_CASE (DrcPostTargetPropertiesAreGuardedInConditionsAndAssertions)
 

Variables

static const DOWNGRADE_TARGET & kicad9 = KI_TEST::RequireDowngradeTarget( wxT( "9.0" ) )
 
static const DOWNGRADE_TARGET & kicad10 = KI_TEST::RequireDowngradeTarget( wxT( "10.0" ) )
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/143]

◆ BOOST_AUTO_TEST_CASE() [2/143]

BOOST_AUTO_TEST_CASE ( BackdrillBlocksKicad9 )

◆ BOOST_AUTO_TEST_CASE() [3/143]

◆ BOOST_AUTO_TEST_CASE() [4/143]

◆ BOOST_AUTO_TEST_CASE() [5/143]

◆ BOOST_AUTO_TEST_CASE() [6/143]

◆ BOOST_AUTO_TEST_CASE() [7/143]

◆ BOOST_AUTO_TEST_CASE() [8/143]

BOOST_AUTO_TEST_CASE ( BuriedViaLoweredForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [9/143]

◆ BOOST_AUTO_TEST_CASE() [10/143]

BOOST_AUTO_TEST_CASE ( CommentBetweenParenthesisAndHeadIsKept )

◆ BOOST_AUTO_TEST_CASE() [11/143]

BOOST_AUTO_TEST_CASE ( CommentedRuleKeepsItsOwnCommentsAndLineEndings )

◆ BOOST_AUTO_TEST_CASE() [12/143]

BOOST_AUTO_TEST_CASE ( CommentedRuleStartsAndEndsOnItsOwnLine )

◆ BOOST_AUTO_TEST_CASE() [13/143]

BOOST_AUTO_TEST_CASE ( CommentsAboveTheVersionHeaderAreKept )

◆ BOOST_AUTO_TEST_CASE() [14/143]

◆ BOOST_AUTO_TEST_CASE() [15/143]

BOOST_AUTO_TEST_CASE ( ComponentClassSelectorIsDroppedForEveryTarget )

◆ BOOST_AUTO_TEST_CASE() [16/143]

BOOST_AUTO_TEST_CASE ( ConcurrentTransactionsUseDifferentOwnedStagingFiles )

◆ BOOST_AUTO_TEST_CASE() [17/143]

BOOST_AUTO_TEST_CASE ( CurrentProjectSchemasAndSupportedDrcExclusionsMigrateForBothTargets )

◆ BOOST_AUTO_TEST_CASE() [18/143]

BOOST_AUTO_TEST_CASE ( CustomFootprintStackupBlocksKicad9 )

◆ BOOST_AUTO_TEST_CASE() [19/143]

◆ BOOST_AUTO_TEST_CASE() [20/143]

◆ BOOST_AUTO_TEST_CASE() [21/143]

BOOST_AUTO_TEST_CASE ( DenylistCoversCurrentFormat )

◆ BOOST_AUTO_TEST_CASE() [22/143]

BOOST_AUTO_TEST_CASE ( DesignFileFilter )

Definition at line 2083 of file test_board_downgrade.cpp.

References BOOST_CHECK(), and IsDowngradeDesignFile().

◆ BOOST_AUTO_TEST_CASE() [23/143]

◆ BOOST_AUTO_TEST_CASE() [24/143]

◆ BOOST_AUTO_TEST_CASE() [25/143]

BOOST_AUTO_TEST_CASE ( DrcPostTargetPropertiesAreGuardedInConditionsAndAssertions )

◆ BOOST_AUTO_TEST_CASE() [26/143]

BOOST_AUTO_TEST_CASE ( DrcRuleNamesAndExpressionLiteralsDoNotTriggerDrops )

◆ BOOST_AUTO_TEST_CASE() [27/143]

BOOST_AUTO_TEST_CASE ( DrcRulesFilterForKicad10 )

◆ BOOST_AUTO_TEST_CASE() [28/143]

BOOST_AUTO_TEST_CASE ( DrcRulesFilterForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [29/143]

BOOST_AUTO_TEST_CASE ( DrcRulesMatchIndependentOlderReferences )

◆ BOOST_AUTO_TEST_CASE() [30/143]

◆ BOOST_AUTO_TEST_CASE() [31/143]

BOOST_AUTO_TEST_CASE ( DropApproximationsCannotBypassBlockRules )

◆ BOOST_AUTO_TEST_CASE() [32/143]

BOOST_AUTO_TEST_CASE ( DropApproximationsKeepsHatchedCopperAsSolidFill )

◆ BOOST_AUTO_TEST_CASE() [33/143]

◆ BOOST_AUTO_TEST_CASE() [34/143]

◆ BOOST_AUTO_TEST_CASE() [35/143]

◆ BOOST_AUTO_TEST_CASE() [36/143]

◆ BOOST_AUTO_TEST_CASE() [37/143]

BOOST_AUTO_TEST_CASE ( DroppedRulesStayInTheFileAsComments )

◆ BOOST_AUTO_TEST_CASE() [38/143]

◆ BOOST_AUTO_TEST_CASE() [39/143]

◆ BOOST_AUTO_TEST_CASE() [40/143]

◆ BOOST_AUTO_TEST_CASE() [41/143]

◆ BOOST_AUTO_TEST_CASE() [42/143]

BOOST_AUTO_TEST_CASE ( EllipseKeptForNewerTarget )

◆ BOOST_AUTO_TEST_CASE() [43/143]

BOOST_AUTO_TEST_CASE ( EllipseTransformedToPolygon )

◆ BOOST_AUTO_TEST_CASE() [44/143]

◆ BOOST_AUTO_TEST_CASE() [45/143]

BOOST_AUTO_TEST_CASE ( EmptyNativeProjectSectionsDoNotRequireConsent )

◆ BOOST_AUTO_TEST_CASE() [46/143]

BOOST_AUTO_TEST_CASE ( EmptyNetChainClassesSilent )

◆ BOOST_AUTO_TEST_CASE() [47/143]

◆ BOOST_AUTO_TEST_CASE() [48/143]

BOOST_AUTO_TEST_CASE ( EveryDowngradeTargetHasARuleVocabulary )

Definition at line 4407 of file test_board_downgrade.cpp.

References FindDrcRuleVocabulary(), and GetDowngradeTargets().

◆ BOOST_AUTO_TEST_CASE() [49/143]

◆ BOOST_AUTO_TEST_CASE() [50/143]

◆ BOOST_AUTO_TEST_CASE() [51/143]

◆ BOOST_AUTO_TEST_CASE() [52/143]

◆ BOOST_AUTO_TEST_CASE() [53/143]

◆ BOOST_AUTO_TEST_CASE() [54/143]

◆ BOOST_AUTO_TEST_CASE() [55/143]

◆ BOOST_AUTO_TEST_CASE() [56/143]

◆ BOOST_AUTO_TEST_CASE() [57/143]

◆ BOOST_AUTO_TEST_CASE() [58/143]

◆ BOOST_AUTO_TEST_CASE() [59/143]

◆ BOOST_AUTO_TEST_CASE() [60/143]

BOOST_AUTO_TEST_CASE ( FootprintPressFitDroppedForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [61/143]

BOOST_AUTO_TEST_CASE ( FootprintTableCellKnockoutLowered )

◆ BOOST_AUTO_TEST_CASE() [62/143]

BOOST_AUTO_TEST_CASE ( FunctionNamesAreMatchedWithoutCase )

Definition at line 1483 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FilterDrcRulesForTarget(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [63/143]

BOOST_AUTO_TEST_CASE ( FutureComponentClassSchemaBlocksWithoutMutation )

◆ BOOST_AUTO_TEST_CASE() [64/143]

◆ BOOST_AUTO_TEST_CASE() [65/143]

◆ BOOST_AUTO_TEST_CASE() [66/143]

BOOST_AUTO_TEST_CASE ( GroupDesignBlockLinkDroppedForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [67/143]

BOOST_AUTO_TEST_CASE ( GroupPlacementGuardIgnoresOrdinaryGroupsAndQuotedText )

Definition at line 3634 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FindUnsupportedBoardToken(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [68/143]

BOOST_AUTO_TEST_CASE ( GroupPlacementLinkageUsesTheSameFootprintPolicy )

◆ BOOST_AUTO_TEST_CASE() [69/143]

◆ BOOST_AUTO_TEST_CASE() [70/143]

BOOST_AUTO_TEST_CASE ( HeaderGluedToTheFirstRuleStaysGlued )

◆ BOOST_AUTO_TEST_CASE() [71/143]

BOOST_AUTO_TEST_CASE ( HistoricalTuningWritersRejectUnsafeDirectSerialization )

◆ BOOST_AUTO_TEST_CASE() [72/143]

BOOST_AUTO_TEST_CASE ( HistoricalWritersRejectDirectViaGeneratorsAtomically )

◆ BOOST_AUTO_TEST_CASE() [73/143]

◆ BOOST_AUTO_TEST_CASE() [74/143]

BOOST_AUTO_TEST_CASE ( InertGroupPlacementMetadataDoesNotRequireConsent )

◆ BOOST_AUTO_TEST_CASE() [75/143]

BOOST_AUTO_TEST_CASE ( InlineCommentBetweenRulesFailsClosed )

Definition at line 1453 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FilterDrcRulesForTarget(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [76/143]

BOOST_AUTO_TEST_CASE ( InvalidDrcCommentAndUnbalancedSyntaxFailClosed )

Definition at line 1566 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FilterDrcRulesForTarget(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [77/143]

◆ BOOST_AUTO_TEST_CASE() [78/143]

◆ BOOST_AUTO_TEST_CASE() [79/143]

BOOST_AUTO_TEST_CASE ( LibraryFilesDowngradeFailsClosed )

◆ BOOST_AUTO_TEST_CASE() [80/143]

◆ BOOST_AUTO_TEST_CASE() [81/143]

◆ BOOST_AUTO_TEST_CASE() [82/143]

BOOST_AUTO_TEST_CASE ( MissingRuleVocabularyFailsClosed )

◆ BOOST_AUTO_TEST_CASE() [83/143]

BOOST_AUTO_TEST_CASE ( MissingVersionHeaderIsWrittenOnItsOwnLine )

◆ BOOST_AUTO_TEST_CASE() [84/143]

◆ BOOST_AUTO_TEST_CASE() [85/143]

BOOST_AUTO_TEST_CASE ( NativeGroupPlacementFixtureKeepsGeometryAndOwnershipForBothPolicies )

◆ BOOST_AUTO_TEST_CASE() [86/143]

BOOST_AUTO_TEST_CASE ( NativeNetChainClassMapReportsOnlyNonemptyMappings )

◆ BOOST_AUTO_TEST_CASE() [87/143]

◆ BOOST_AUTO_TEST_CASE() [88/143]

◆ BOOST_AUTO_TEST_CASE() [89/143]

BOOST_AUTO_TEST_CASE ( NewDrcConstraintsAndFunctionsAreFilteredWithoutLiteralFalsePositives )

◆ BOOST_AUTO_TEST_CASE() [90/143]

BOOST_AUTO_TEST_CASE ( NewExpressionUnitAliasIsBakedWithoutFreezingOtherVariables )

◆ BOOST_AUTO_TEST_CASE() [91/143]

◆ BOOST_AUTO_TEST_CASE() [92/143]

BOOST_AUTO_TEST_CASE ( NewTuningBridgeDelayIsRemovedAndReportedForKicad10 )

◆ BOOST_AUTO_TEST_CASE() [93/143]

BOOST_AUTO_TEST_CASE ( NonDefaultTuningModelSettingsAreReportedForKicad10 )

◆ BOOST_AUTO_TEST_CASE() [94/143]

BOOST_AUTO_TEST_CASE ( NullFieldSlotDoesNotCrashV9Writer )

◆ BOOST_AUTO_TEST_CASE() [95/143]

BOOST_AUTO_TEST_CASE ( PadSimTypeDroppedForKicad10 )

◆ BOOST_AUTO_TEST_CASE() [96/143]

BOOST_AUTO_TEST_CASE ( PostMachiningDroppedForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [97/143]

BOOST_AUTO_TEST_CASE ( PostMasterProjectSettingsReportOnlyMeaningfulLosses )

◆ BOOST_AUTO_TEST_CASE() [98/143]

BOOST_AUTO_TEST_CASE ( PressFitDroppedForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [99/143]

BOOST_AUTO_TEST_CASE ( ProjectFileDowngradeForKicad10 )

◆ BOOST_AUTO_TEST_CASE() [100/143]

◆ BOOST_AUTO_TEST_CASE() [101/143]

BOOST_AUTO_TEST_CASE ( PropertiesTheReleaseCannotEvaluateAreDropped )

◆ BOOST_AUTO_TEST_CASE() [102/143]

BOOST_AUTO_TEST_CASE ( QuotedConstraintItemsAreChecked )

◆ BOOST_AUTO_TEST_CASE() [103/143]

◆ BOOST_AUTO_TEST_CASE() [104/143]

◆ BOOST_AUTO_TEST_CASE() [105/143]

◆ BOOST_AUTO_TEST_CASE() [106/143]

◆ BOOST_AUTO_TEST_CASE() [107/143]

BOOST_AUTO_TEST_CASE ( SavedProjectTuningAndClassChoicesStillRequireConsent )

◆ BOOST_AUTO_TEST_CASE() [108/143]

BOOST_AUTO_TEST_CASE ( SaveWithTargetVersionStampsOlder )

◆ BOOST_AUTO_TEST_CASE() [109/143]

◆ BOOST_AUTO_TEST_CASE() [110/143]

◆ BOOST_AUTO_TEST_CASE() [111/143]

◆ BOOST_AUTO_TEST_CASE() [112/143]

◆ BOOST_AUTO_TEST_CASE() [113/143]

BOOST_AUTO_TEST_CASE ( SpacedTimeAndAngleUnitsAreDroppedForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [114/143]

BOOST_AUTO_TEST_CASE ( SpacedUnitsAreNotMistakenForKeywords )

◆ BOOST_AUTO_TEST_CASE() [115/143]

BOOST_AUTO_TEST_CASE ( StaleGroupMemberNotWrittenForV10 )

◆ BOOST_AUTO_TEST_CASE() [116/143]

BOOST_AUTO_TEST_CASE ( StringSpanningLinesFailsClosed )

Definition at line 1537 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FilterDrcRulesForTarget(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [117/143]

◆ BOOST_AUTO_TEST_CASE() [118/143]

BOOST_AUTO_TEST_CASE ( TextVariableInsideACommentIsIgnored )

Definition at line 1472 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FilterDrcRulesForTarget(), and kicad9.

◆ BOOST_AUTO_TEST_CASE() [119/143]

◆ BOOST_AUTO_TEST_CASE() [120/143]

◆ BOOST_AUTO_TEST_CASE() [121/143]

◆ BOOST_AUTO_TEST_CASE() [122/143]

BOOST_AUTO_TEST_CASE ( TitleBlockUnresolvablePropertyContextBlocksBothPolicies )

◆ BOOST_AUTO_TEST_CASE() [123/143]

BOOST_AUTO_TEST_CASE ( TransactionSymlinkReplacementLeavesLinkedSourcesUnchanged )

◆ BOOST_AUTO_TEST_CASE() [124/143]

◆ BOOST_AUTO_TEST_CASE() [125/143]

BOOST_AUTO_TEST_CASE ( UnitInsideAConditionIsChecked )

◆ BOOST_AUTO_TEST_CASE() [126/143]

BOOST_AUTO_TEST_CASE ( UnitsAndTextVariablesFollowWhatTheReleaseParses )

◆ BOOST_AUTO_TEST_CASE() [127/143]

BOOST_AUTO_TEST_CASE ( UnknownTopLevelBlockIsCommentedOut )

◆ BOOST_AUTO_TEST_CASE() [128/143]

BOOST_AUTO_TEST_CASE ( UnquotedExpressionsAreScanned )

◆ BOOST_AUTO_TEST_CASE() [129/143]

BOOST_AUTO_TEST_CASE ( UnquotedLayerNamesAreNotMistakenForKeywords )

Definition at line 4505 of file test_board_downgrade.cpp.

References FilterDrcRulesForTarget(), kicad10, kicad9, and result.

◆ BOOST_AUTO_TEST_CASE() [130/143]

BOOST_AUTO_TEST_CASE ( UnrepresentableDrcExclusionsDropWithReports )

◆ BOOST_AUTO_TEST_CASE() [131/143]

BOOST_AUTO_TEST_CASE ( UnresolvedAffectedExpressionsBlockBothPolicies )

◆ BOOST_AUTO_TEST_CASE() [132/143]

BOOST_AUTO_TEST_CASE ( UnresolvedPropertyVariablesBlockBothPolicies )

◆ BOOST_AUTO_TEST_CASE() [133/143]

BOOST_AUTO_TEST_CASE ( UnreviewedGeneratorKindBlocksBothPolicies )

◆ BOOST_AUTO_TEST_CASE() [134/143]

◆ BOOST_AUTO_TEST_CASE() [135/143]

◆ BOOST_AUTO_TEST_CASE() [136/143]

◆ BOOST_AUTO_TEST_CASE() [137/143]

BOOST_AUTO_TEST_CASE ( VerifyGateCatchesUnsupportedTokens )

Definition at line 1128 of file test_board_downgrade.cpp.

References BOOST_CHECK(), FindUnsupportedBoardToken(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [138/143]

◆ BOOST_AUTO_TEST_CASE() [139/143]

BOOST_AUTO_TEST_CASE ( ViaProtectionDroppedForKicad9 )

◆ BOOST_AUTO_TEST_CASE() [140/143]

BOOST_AUTO_TEST_CASE ( WordsAddedInAPointReleaseAreNotInTheSeriesVocabulary )

Definition at line 4483 of file test_board_downgrade.cpp.

References FilterDrcRulesForTarget(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [141/143]

BOOST_AUTO_TEST_CASE ( WrongShapeProjectFileDoesNotThrow )

Definition at line 1796 of file test_board_downgrade.cpp.

References DowngradeProjectFileJson(), kicad10, and kicad9.

◆ BOOST_AUTO_TEST_CASE() [142/143]

◆ BOOST_AUTO_TEST_CASE() [143/143]

◆ checkFeature()

◆ ParsedDrcRuleCount()

Variable Documentation

◆ kicad10

const DOWNGRADE_TARGET& kicad10 = KI_TEST::RequireDowngradeTarget( wxT( "10.0" ) )
static

Definition at line 84 of file test_board_downgrade.cpp.

◆ kicad9

const DOWNGRADE_TARGET& kicad9 = KI_TEST::RequireDowngradeTarget( wxT( "9.0" ) )
static

Definition at line 83 of file test_board_downgrade.cpp.