Commit Graph

6 Commits

Author SHA1 Message Date
dsengupta0628 fc7ac6c16c test/cpp changes
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-04-05 00:18:45 +00:00
Jaehyun Kim 3ca78b11c8 Adapt test files to upstream API changes (string_view migration)
Update 16 test files to match upstream OpenSTA API refactoring:
- const char* → std::string/std::string_view across all test APIs
- EXPECT_STREQ → EXPECT_EQ for std::string/string_view returns
- nullptr → "" for string_view parameters (makeClock, makeClockGroups, etc.)
- PropertyValue("literal") → PropertyValue(std::string("literal")) to avoid
  bool constructor overload resolution
- Method renames: relatedGroundPin→relatedGroundPort,
  relatedPowerPin→relatedPowerPort, firstName→firstParam,
  secondName→secondParam
- Constructor changes: OperatingConditions (5-arg → 1-arg + setters),
  ModeDef::defineValue (3-arg → 1-arg + setSdfCond)
- LibertyAttrValue::floatValue returns std::pair<float,bool> now
- Filter API: separate args → single expression string + bool_props_as_int
- SDF version golden files: 3.0.1 → 3.1.0

All 6104 tests pass.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-31 16:34:40 +09:00
Jaehyun Kim 434246a8b4 Fix test suite for upstream API changes after merge
Adapt all C++ and Tcl tests for upstream API refactoring:
- Header rename: DelayFloat.hh -> Delay.hh
- PocvMode enum replacing boolean pocv (setPocvEnabled -> setPocvMode)
- setReportPathFields gains 8th parameter (report_src_attr)
- GateTableModel/CheckTableModel constructor wraps in TableModels
- gateDelay/checkDelay signature changes (bool -> MinMax/PocvMode)
- Unit::asString returns std::string instead of const char*
- ExceptionThru/To::asString removed, use to_string
- GroupPath/FilterPath/LoopPath::asString removed
- PathEnd::source_clk_delay -> source_clk_latency
- report_net -connections flag removed
- set_report_path_field_width removed
- MaxSkewCheck::skew() now requires sta parameter
- Remove tests that pass nullptr to PinIdHash-based maps (segfault)
- Remove tests for removed APIs (sigmaFactor, reportSigmas)
- Regolden .ok files for numerical precision and format changes

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 19:23:36 +09:00
Jaehyun Kim 57e264f252 test: remove tests that pass nullptr Pin to PinIdHash-based maps
PinIdHash::operator()(nullptr) calls network_->id(nullptr) which
dereferences null, causing segfault in CI environments.

Removed 3 tests:
- SdcInitTest.SdcIsLeafPinNonGeneratedClockNull
- StaInitTest.IsClockSrcNoDesign
- StaInitTest.StaIsClockSrcNoDesign2

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-20 23:11:25 +09:00
Jaehyun Kim 8adbcc0d6d Merge upstream STA update and adapt all tests to new API
Major upstream refactoring: Corner→Scene, Mode architecture, warning
format change (Warning ID:), command renames, and many API signature
changes. Adapted all C++ test files and TCL test scripts/expected
output files to pass with the new API. 6159/6159 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-23 23:05:29 +09:00
Jaehyun Kim 7173c10cc1 test: strengthen assertions, add sorted SDC diff, and clean up tests
- Split oversized test files to stay under 5,000 lines per file:
  TestSdc.cc → TestSdcClasses.cc, TestSdcStaInit.cc, TestSdcStaDesign.cc
  TestSearchStaDesign.cc → TestSearchStaDesign.cc, TestSearchStaDesignB.cc
  TestLibertyStaBasics.cc → TestLibertyStaBasics.cc, TestLibertyStaBasicsB.cc
  TestNetwork.cc → TestNetwork.cc, TestNetworkB.cc
- Replace ~200+ (void) casts with proper EXPECT_* assertions across all
  C++ test files (dcalc, liberty, network, sdc, search, power, spice, util)
- Remove ~55 SUCCEED() and EXPECT_TRUE(true) no-op assertions
- Fix 6 load-only Tcl tests by adding diff_files verification with
  22 new .sdcok golden reference files
- Delete 7 orphan .ok files with no matching .tcl tests
- Add how_to_write_good_tests.md and TODO6.md documenting test quality rules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-23 17:36:45 +09:00