diff --git a/pcbnew/drc/drc_test_provider_library_parity.cpp b/pcbnew/drc/drc_test_provider_library_parity.cpp index d356962b95..87d75f6a10 100644 --- a/pcbnew/drc/drc_test_provider_library_parity.cpp +++ b/pcbnew/drc/drc_test_provider_library_parity.cpp @@ -341,23 +341,29 @@ bool padNeedsUpdate( const PAD* a, const PAD* b, REPORTER* aReporter ) PAD_DESC( a ), layerName ) ); - TEST_D( a->GetRoundRectRadiusRatio( layer ), - b->GetRoundRectRadiusRatio( layer ), - wxString::Format( _( "%s rounded corners differ on layer %s." ), - PAD_DESC( a ), - layerName ) ); - - TEST_D( a->GetChamferRectRatio( layer ), - b->GetChamferRectRatio( layer ), - wxString::Format( _( "%s chamfered corner sizes differ on layer %s." ), - PAD_DESC( a ), - layerName ) ); - - TEST( a->GetChamferPositions( layer ), - b->GetChamferPositions( layer ), - wxString::Format( _( "%s chamfered corners differ on layer %s." ), - PAD_DESC( a ), - layerName ) ); + if( a->GetShape( layer ) == PAD_SHAPE::ROUNDRECT || a->GetShape( layer ) == PAD_SHAPE::CHAMFERED_RECT) + { + TEST_D( a->GetRoundRectRadiusRatio( layer ), + b->GetRoundRectRadiusRatio( layer ), + wxString::Format( _( "%s rounded corners differ on layer %s." ), + PAD_DESC( a ), + layerName ) ); + } + + if( a->GetShape( layer ) == PAD_SHAPE::CHAMFERED_RECT) + { + TEST_D( a->GetChamferRectRatio( layer ), + b->GetChamferRectRatio( layer ), + wxString::Format( _( "%s chamfered corner sizes differ on layer %s." ), + PAD_DESC( a ), + layerName ) ); + + TEST( a->GetChamferPositions( layer ), + b->GetChamferPositions( layer ), + wxString::Format( _( "%s chamfered corners differ on layer %s." ), + PAD_DESC( a ), + layerName ) ); + } TEST_PT( a->GetOffset( layer ), b->GetOffset( layer ), wxString::Format( _( "%s shape offset from hole differs on layer %s." ),