Fix libstdc++ testsuite parallelization with uninstalled compilers.
Libstdc++ testsuite logic deduplicated to fix parallelization issues with uninstalled compilers.
This commit corrects an issue in the libstdc++ testsuite’s parallelization logic that was inadvertently introduced in a previous change. The problem arose from duplicated test filtering functions in both gcc-defs.exp and libstdc++‘s test utilities, causing a test partition counter to be incremented twice. This revision removes the libstdc++-specific copy and ensures that necessary GCC testsuite definitions are loaded at the correct point.
In Details
The libstdc++ testsuite's parallelization mechanism, specifically the runtest_file_p filter and gcc-defs.exp's gcc_parallelize_saved_runtest_file_p, had a bug. Both gcc-defs and libstdc++ independently defined a function to check if a test falls within a given parallelization partition. This led to double-counting partitions. The fix removes the libstdc++ definition, relying solely on the one in gcc-defs.exp, and also adjusts the loading order of test suite utility files to prevent symbol conflicts.
- testsuite
- A collection of test programs and scripts used to verify the correctness of a software project, such as GCC or its libraries.
- parallelization
- The technique of running multiple test cases concurrently to reduce the overall testing time.
- gcc-defs.exp
- A Tcl script used in the GCC testsuite that defines common testing utilities and variables.