bazel: remove the manual tag for tests marked MANUAL_FOR_BAZEL_TESTS
Description
Due to differences in compilers, stdlibs, unordered map/set iteration, floating point order of operations, etc... the same program compiled using bazel may generate different results than that of cmake. This causes certain tests that rely on the exact 1-1 output to determine their passing criteria to fail when run under bazel test vs ctest.
These tests have been marked as MANUAL_FOR_BAZEL_TESTS -- https://github.com/search?q=repo%3AThe-OpenROAD-Project%2FOpenROAD%20MANUAL_FOR_BAZEL_TESTS&type=code
This issue is to track the progress in root-causing the difference, and updating the code to minimize and ideally remove the difference.
Suggested Solution
No response
Additional Context
No response
Tests that are marked as MANUAL_FOR_BAZEL_TESTS:
//test:upf_test
//src/drt/test:drc_test-tcl_test
//src/drt/test:ispd18_sample-tcl_test
//src/drt/test:ispd18_sample_incr-tcl_test
//src/drt/test:ndr_vias1-tcl_test
//src/drt/test:ndr_vias2-tcl_test
//src/drt/test:ndr_vias3-tcl_test
//src/drt/test:single_step-tcl_test
//src/drt/test:top_level_term2-tcl_test
//src/gpl/test:incremental02-tcl_test
//src/grt/test:cugr_adjustment1-tcl_test
//src/grt/test:cugr_adjustment2-tcl_test
//src/grt/test:cugr_adjustment3-tcl_test
//src/grt/test:gcd_cugr-tcl_test
//src/odb/test:dump_netlists-tcl_test
//src/odb/test:dump_netlists_withfill-tcl_test
//src/pad/test:rdl_route_single_target-tcl_test
//src/par/test:partition_gcd-tcl_test
//src/par/test:write_artnet-tcl_test
//src/pdn/test:pads_black_parrot-tcl_test
//src/pdn/test:pads_black_parrot_flipchip-tcl_test
//src/pdn/test:pads_black_parrot_flipchip_connect_bumps-tcl_test
//src/pdn/test:pads_black_parrot_flipchip_connect_overpads-tcl_test
//src/pdn/test:pads_black_parrot_offset-tcl_test
//src/rcx/test:net_name_consistency-tcl_test
//src/rmp/test:aes_annealing-tcl_test
//src/rmp/test:gcd_annealing1-tcl_test
//src/rmp/test:gcd_annealing2-tcl_test
//src/rsz/test:liberty_dont_use-tcl_test
//src/rsz/test:report_dont_use-tcl_test
//src/rsz/test:report_dont_use_corners-tcl_test
DONE
//test:upf_aes
//src/cts/test:array-tcl_test
//src/cts/test:array_ins_delay-tcl_test
//src/cts/test:array_no_blockages-tcl_test
//src/cts/test:array_repair_clock_nets-tcl_test
//src/cts/test:gated_clock4-tcl_test
//src/cts/test:simple_test_hier-tcl_test
//src/dpl/test:aes-tcl_test
//src/dpl/test:cell_on_block2-tcl_test
//src/dpl/test:gcd-tcl_test
//src/dpl/test:ibex-tcl_test
//src/dpl/test:mirror1-tcl_test
//src/dpl/test:obstruction2-tcl_test
//src/odb/test:replace_hier_mod1-tcl_test
//src/rsz/test:pinswap_flat-tcl_test
//src/rsz/test:pinswap_hier-tcl_test
//src/rsz/test:repair_fanout1_hier-tcl_test
//src/rsz/test:repair_fanout2_hier-tcl_test
//src/rsz/test:repair_fanout3_hier-tcl_test
//src/rsz/test:repair_setup4_flat-tcl_test
//src/rsz/test:repair_setup4_hier-tcl_test
//src/rsz/test:report_buffers_asap7-tcl_test
//src/rsz/test:split_load_hier-tcl_test
Dpl fixed in #8568
Also these for non-determinism
//src/ram/test/... //src/rsz/test:pin_swap1 //src/rsz/test:repair_tie11_hier-tcl_test //src/rsz/test:repair_tie12_hier-tcl_test //src/rsz/test:resize_slack2-tcl_test
Some of these differences are due to use of libstdc++ in Cmake/GCC and libc++ by Bazel/LLVM.
Bazel/LLVM can be switched to use the system libstdc++ for select platforms via MODULE.bazel
diff --git a/MODULE.bazel b/MODULE.bazel
index 47c9aa3180..b93d216112 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -118,6 +118,7 @@ bazel_dep(name = "toolchains_llvm", version = "1.5.0")
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm.toolchain(
llvm_version = "20.1.8",
+ stdlib = {"linux-x86_64" : "dynamic-stdc++"},
)
use_repo(llvm, "llvm_toolchain")
# use_repo(llvm, "llvm_toolchain_llvm") # if you depend on specific tools in scripts
//src/pdn/test:pads_black_parrot-tcl_test
//src/pdn/test:pads_black_parrot_flipchip-tcl_test
//src/pdn/test:pads_black_parrot_flipchip_connect_bumps-tcl_test
//src/pdn/test:pads_black_parrot_flipchip_connect_overpads-tcl_test
//src/pdn/test:pads_black_parrot_offset-tcl_test
Prospective fix for those in https://github.com/The-OpenROAD-Project/OpenROAD/pull/8904