test: Apply review feedback - part2

- Remove stale line-number coverage comments (# Targets: line NNN, hit=0)
- Remove useless file-existence checks from verilog/sdf tests
- Delete 21 orphaned dcalc Tcl tests (C++ tests already cover them)
- Rename liberty_ccsn_ecsm -> liberty_ccsn (no ECSM libs available)
- Fix liberty_sky130_corners to use define_corners/-corner for real multi-corner testing
- Add report_checks per wireload model in liberty_wireload
- Fix test/regression to work from test/ directory (label mismatch)
- Refactor all module CMakeLists.txt with sta_module_tests() macro

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jaehyun Kim
2026-02-20 01:13:42 +09:00
parent 6799b1909a
commit 547737f71e
95 changed files with 314 additions and 6552 deletions

View File

@@ -1,120 +1,22 @@
add_test(
NAME tcl.parasitics.spef
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_spef
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
sta_module_tests("parasitics"
TESTS
annotation_query
corners
coupling
coupling_reduce
delete_network
detailed
estimate_wirerc
gcd_reduce
gcd_spef
manual
pi_pole_residue
reduce
reduce_dcalc
spef
spef_formats
spef_namemap
wireload
)
set_tests_properties(tcl.parasitics.spef PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.detailed
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_detailed
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.detailed PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.corners
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_corners
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.corners PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.manual
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_manual
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.manual PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.reduce
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_reduce
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.reduce PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.spef_namemap
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_spef_namemap
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.spef_namemap PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.coupling
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_coupling
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.coupling PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.reduce_dcalc
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_reduce_dcalc
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.reduce_dcalc PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.estimate_wirerc
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_estimate_wirerc
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.estimate_wirerc PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.gcd_spef
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_gcd_spef
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.gcd_spef PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.wireload
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_wireload
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.wireload PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.annotation_query
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_annotation_query
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.annotation_query PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.delete_network
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_delete_network
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.delete_network PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.coupling_reduce
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_coupling_reduce
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.coupling_reduce PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.pi_pole_residue
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_pi_pole_residue
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.pi_pole_residue PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.spef_formats
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_spef_formats
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.spef_formats PROPERTIES LABELS "tcl;module_parasitics")
add_test(
NAME tcl.parasitics.gcd_reduce
COMMAND bash ${STA_HOME}/test/regression.sh $<TARGET_FILE:sta> parasitics_gcd_reduce
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set_tests_properties(tcl.parasitics.gcd_reduce PROPERTIES LABELS "tcl;module_parasitics")
add_subdirectory(cpp)

View File

@@ -1,16 +1,5 @@
# Test parasitic annotation queries, find_pi_elmore, find_elmore, and
# detailed SPEF operations for coverage improvement.
# Targets:
# ConcreteParasitics.cc: findPiElmore, findElmore, setPiModel, setElmore,
# makeParasiticPi, makeParasiticPiElmore, deleteParasitics(Pin),
# deleteParasitics(Net), isReduced, setIsReduced, capacitance,
# findParasitic, piModel, elmore, deletePinBefore
# ReduceParasitics.cc: parasitic reduction, reduceToPiElmore,
# reduceToPi, arnoldiPole
# SpefReader.cc: SPEF parsing detailed paths, name mapping,
# D_NET/R_NET parsing, *CONN/*CAP/*RES sections
# Parasitics.cc: find/make/delete parasitic operations
# ReportParasiticAnnotation.cc: report annotation with various flags
source ../../test/helpers.tcl

View File

@@ -1,22 +1,4 @@
# Test manual parasitic creation with coupling caps
# Targets: ConcreteParasitics.cc uncovered functions:
# makeCapacitor (coupling cap, line 1389, hit=0)
# ConcretePi constructor (line 138, hit=0), setPiModel (line 155, hit=0)
# ConcretePiElmore constructor (line 182, hit=0)
# ConcreteParasitic::setPiModel (line 92, hit=0)
# ConcreteParasitic::setElmore (line 118, hit=0)
# ConcreteParasitic::setIsReduced (line 105, hit=0)
# ConcretePi::setIsReduced (line 175, hit=0)
# ConcreteParasitics::setPiModel (line 1050, hit=0)
# deleteParasitics(Pin) (line 824, hit=0)
# deleteParasitics(Pin, AnalysisPt) (line 810, hit=0)
# deleteParasitics(Net, AnalysisPt) (line 838, hit=0)
# deleteParasiticNetworks (line 1305, hit=0)
# deletePinBefore (line 897, hit=0)
# makePiPoleResidue (line 1112, hit=0)
# setPoleResidue (line 1160, hit=0)
# Also targets: Parasitics.cc, ReduceParasitics.cc
# ReportParasiticAnnotation.cc
# Read ASAP7 libraries
read_liberty ../../test/asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib

View File

@@ -1,13 +1,4 @@
# Test parasitic deletion, network cleanup, and re-read flows.
# Targets: ConcreteParasitics.cc uncovered functions:
# deleteParasitics(Pin), deleteParasitics(Pin, AnalysisPt),
# deleteParasitics(Net, AnalysisPt), deleteReducedParasitics,
# deleteDrvrReducedParasitics, disconnectPinBefore,
# isPiElmore, isPiModel, isPiPoleResidue, isReducedParasiticNetwork,
# capacitance, hasParasiticNetwork, findParasiticNetwork,
# makeParasiticNetwork, deleteParasiticNetworks
# Also targets: Parasitics.cc, ReduceParasitics.cc
source ../../test/helpers.tcl
# Read ASAP7 libraries

View File

@@ -1,10 +1,4 @@
# Test parasitic estimation with set_wire_rc and wireload models
# Targets: EstimateParasitics.cc (estimatePiElmore, wireload-based estimation)
# ConcreteParasitics.cc (makeParasiticPi, makeParasiticPiElmore, setPiModel,
# setElmore, findPiElmore, findElmore, delete operations)
# ReduceParasitics.cc (parasitic reduction with estimated parasitics)
# Parasitics.cc (estimate operations, delete parasitics, find parasitics)
# SpefReader.cc (additional format coverage)
# Read ASAP7 libraries
read_liberty ../../test/asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib

View File

@@ -1,9 +1,4 @@
# Test manual parasitic model setting and parasitic reduction
# Targets: ConcreteParasitics.cc (Pi/Elmore model creation, parasitic queries)
# Parasitics.cc (makePiElmore, setElmore, findPiElmore, findElmore)
# ReduceParasitics.cc (parasitic reduction paths)
# EstimateParasitics.cc (estimated parasitic paths)
# ReportParasiticAnnotation.cc
read_liberty ../../test/nangate45/Nangate45_typ.lib
read_verilog ../../test/reg1_asap7.v

View File

@@ -1,13 +1,4 @@
# Test pi_pole_residue parasitic model creation and query.
# Targets: ConcreteParasitics.cc uncovered:
# ConcretePiPoleResidue constructor (line 309), isPiPoleResidue,
# ConcretePiPoleResidue::piModel, setPiModel, capacitance,
# findPoleResidue, setPoleResidue, deleteLoad,
# ConcretePoleResidue constructor, poleResidue, poleResidueCount,
# unannotatedLoads
# Also targets: Parasitics.cc: makePiPoleResidue, setPoleResidue, findPiPoleResidue
# ReduceParasitics.cc: reduceToPiPoleResidue, arnoldi reduction with pole/residue
# ConcreteParasitics.cc: isPiModel vs isPiPoleResidue branching
source ../../test/helpers.tcl

View File

@@ -1,9 +1,4 @@
# Test parasitic reduction and various delay calculators with parasitics
# Targets: ReduceParasitics.cc (parasitic reduction - 43.5% coverage)
# ConcreteParasitics.cc (48.2% coverage, parasitic operations)
# Parasitics.cc (43.0% coverage)
# SpefReader.cc (68.6% coverage, more SPEF paths)
# EstimateParasitics.cc (68.7% coverage)
# Read ASAP7 libraries
read_liberty ../../test/asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib

View File

@@ -1,9 +1,4 @@
# Test parasitic reduction with different delay calculators
# Targets: ReduceParasitics.cc (parasitic reduction algorithms)
# ConcreteParasitics.cc (parasitic network operations, node/resistor/cap creation)
# Parasitics.cc (parasitic find/make/delete operations)
# SpefReader.cc (SPEF parsing with parasitic network)
# EstimateParasitics.cc (estimated parasitic paths)
# Read ASAP7 libraries
read_liberty ../../test/asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib

View File

@@ -1,13 +1,5 @@
# Test SPEF reader with different SPEF formats, port sections, design flow,
# RSPF sections, and varied scale factors.
# Targets: SpefReader.cc uncovered:
# portDirection (I, O, B variants), rspfBegin/rspfFinish/rspfDrvrBegin/rspfLoad,
# dspfBegin/dspfFinish, findParasiticNode (port path, net:subnode path),
# setDesignFlow, RSPF parsing vs DSPF, findPin (port-only name path),
# findNetRelative (sdc_network fallback), different scale factors
# Also targets: ConcreteParasitics.cc: makeParasiticNetwork, parasitic network
# node/resistor/capacitor creation, deleteParasiticNetworks on re-read
source ../../test/helpers.tcl
#---------------------------------------------------------------

View File

@@ -1,16 +1,4 @@
# Test SPEF reader with different name mapping styles and corner handling
# Targets: SpefReader.cc uncovered functions:
# findPinRelative (line 176, hit=0)
# findPortPinRelative (line 182, hit=0)
# findInstanceRelative (line 159, hit=0)
# setDesignFlow (line 300)
# setDivider, setDelimiter, setBusBrackets
# setCapScale, setResScale, setTimeScale, setInductScale
# Also targets: SpefParse.yy (more parser paths)
# SpefLex.ll (more lexer paths)
# ConcreteParasitics.cc (parasitic network creation/query paths)
# Parasitics.cc (findParasiticNetwork, makeParasiticNetwork)
# Read ASAP7 libraries
read_liberty ../../test/asap7/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
read_liberty ../../test/asap7/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz

View File

@@ -1,10 +1,4 @@
# Test parasitic estimation with pi model / elmore, deletion, and override paths.
# Targets: ConcreteParasitics.cc (makePiElmore, findElmore, deletePiElmore,
# isPiElmore, isPiModel, piModel, setPiModel, setElmore paths,
# delete operations, cap calculation)
# Targets: ReduceParasitics.cc (reduction with various pi models)
# Targets: Parasitics.cc (set/get/delete parasitic operations)
# Targets: EstimateParasitics.cc (estimatePiElmore tree cases)
source ../../test/helpers.tcl