Commit Graph

23 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 069de0498c Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-31 15:27:01 +09:00
dsengupta0628 b5f647cb7f update test infra to accomodate std::string instead of const char*
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-30 19:44:26 +00:00
Jaehyun Kim 422f774b64 Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenSTA into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-29 22:33:08 +09:00
dsengupta0628 3f2c80a830 Merge branch 'master' into sta_update_upstream_lvf_stuff 2026-03-25 19:55:19 +00:00
dsengupta0628 3d5f1e8594 fix warnings
Signed-off-by: dsengupta0628 <dsengupta@precisioninno.com>
2026-03-25 14:48:15 +00:00
Jaehyun Kim 59663ab640 update test files for upstream API refactoring
Adapt all cpp/tcl test files to match upstream OpenSTA API changes:
- string* output params changed to string return values (Verilog, Network)
- Report methods renamed (reportLineString->reportLine, printf->std::format)
- Delay type refactored from float typedef to class (Graph)
- Liberty model APIs updated (value semantics, shared_ptr, PocvMode)
- EXPECT_STREQ -> EXPECT_EQ for std::string returns (Sdc, Search)
- streamPrint -> sta::print with std::format specifiers (Spice)
- Avoid unset_clock_groups -all path (upstream iterator invalidation bug)

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-23 13:58:23 +00: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 9547beead3 Merge remote-tracking branch 'origin/secure-bump-opensta-0321' into secure-sta-test-by-opus
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 18:54:41 +09:00
Jaehyun Kim aac881a974 update test files for upstream API refactoring
Adapt all cpp/tcl test files to match upstream OpenSTA API changes:
- string* output params changed to string return values (Verilog, Network)
- Report methods renamed (reportLineString->reportLine, printf->std::format)
- Delay type refactored from float typedef to class (Graph)
- Liberty model APIs updated (value semantics, shared_ptr, PocvMode)
- EXPECT_STREQ -> EXPECT_EQ for std::string returns (Sdc, Search)
- streamPrint -> sta::print with std::format specifiers (Spice)
- Avoid unset_clock_groups -all path (upstream iterator invalidation bug)

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-21 18:46:31 +09:00
Jaehyun Kim a4419fb7dd Enable disabled liberty tests and stabilize clock groups regression
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-11 18:24:39 +09:00
Jaehyun Kim e7b861051d test: Fix post-merge build errors and regolden .ok files
After merging upstream changes, fix all build errors in C++ test files
and regolden Tcl test golden files to match updated code output.

Build fixes:
- dcalc/test/cpp/TestDcalc.cc: Fix const char* loop iterations, use
  EXPECT_NEAR for uninitialized subnormal float comparison
- liberty/test/cpp/TestLibertyStaBasicsB.cc: Wrap tests using removed
  LibertyBuilder() default constructor in #if 0
- liberty/test/cpp/TestLibertyStaCallbacks.cc: Fix LibertyBuilder()
  call to use sta_->debug()/report(); wrap old visitor tests in #if 0
- search/test/cpp/TestSearchStaDesignB.cc: Fix pg->name() nullptr
  comparison (now returns std::string&)
- search/test/cpp/TestSearchStaInit.cc: Fix 5 clkPinsInvalid/isIdealClock
  tests to expect throw (API now requires linked network)

Tcl test fixes:
- Remove calls to removed APIs: report_path_end_header/footer, report_path_end2
  from 6 search test scripts; regolden their .ok files
- Regolden .ok files for liberty (15), graph (1), network (8),
  parasitics (3), sdc (3), util (2), verilog (8) modules to reflect
  upstream format changes (timing arcs output, pin ordering, spacing)

All 6103 tests now pass.

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-11 17:11:08 +09:00
Jaehyun Kim a5f8e9c3ab test: Fix test failures after master merge
Update test code to match API changes from upstream master:

- TestGraph.cc: Fix makeScenes() call to pass reference instead of pointer
- TestLibertyClasses.cc: Fix ScaleFactorType wire_res/wire_cap name mapping;
  fix TablePtr usage by calling .get() where const TableModel* is expected
- TestLibertyClasses.cc: Update liberty_read_nangate.ok for new timing arc output
- TestPower.cc: Replace PwrActivityOrigin::defaulted with ::unknown;
  fix isSet() expectations (unknown origin returns false)
- TestSdcClasses.cc, TestSdf.cc, TestUtil.cc, TestSpice.cc:
  Fix RiseFall::to_string() expected values from short form ("^"/"v")
  to long form ("rise"/"fall")
- TestUtil.cc: Remove tests for deleted StringVector/split/TokenParser
  and StringSet::deleteContents (removed from master)
- TestSpice.cc: Replace StdStringSeq with StringSeq
- helpers.tcl: Use pwd-based result_dir so module tests write results
  to their own test/results/ directory
- verilog_bus.ok: Update golden file for new port ordering from master

Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-03-11 10:16:27 +09:00
Jaehyun Kim 92bb9b8ec9 test: Add comprehensive test infrastructure and test cases across all OpenSTA modules
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-27 12:59:25 +09:00
Jaehyun Kim 9bbac53157 test: Make ctest run C++ unit tests
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-27 09:51:10 +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
Jaehyun Kim a242c3f2f2 Refactor test suites and strengthen cpp test assertions 2026-02-23 14:13:29 +09:00
Jaehyun Kim a58d7e4cc6 test: add explicit assertions to all cpp test cases
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 21:14:35 +09:00
Jaehyun Kim b55fcabee4 test: improve test stability and assertions
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-22 20:34:07 +09:00
Jaehyun Kim b77779f7a6 test: Refactoring. Standardize Google Test naming conventions by removing `R#_` prefixes, improve temporary file creation with `mkstemp`, etc
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-13 20:36:42 +09:00
Jaehyun Kim d6c09372ba test: Initial upload
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
2026-02-13 19:19:09 +09:00