What
Move the top-level integration_tests/ directory under tests/integration_tests/ so the test layout matches the ecosystem standard tests/{unit,stress,integration_tests,benchmarks}/.
Part of #683.
Why
Per the ecosystem-wide directory standard called out in master EPIC kcenon/common_system#657, integration tests should live alongside unit and stress tests under a single tests/ umbrella. Today thread_system has:
tests/
CMakeLists.txt
unit/
stress/
benchmarks/
integration_tests/ <- top-level outlier
...
The outlier complicates downstream tooling that expects a single test root and forces a separate CMake guard (THREAD_BUILD_INTEGRATION_TESTS in cmake/thread_system_targets.cmake:148-151).
How
git mv integration_tests tests/integration_tests.
- Update
tests/CMakeLists.txt to add the new subdirectory (gated by THREAD_BUILD_INTEGRATION_TESTS).
- Remove the legacy
add_subdirectory(integration_tests) block from cmake/thread_system_targets.cmake:148-151.
- Fix any relative paths inside the moved CMakeLists.txt (e.g.,
${CMAKE_CURRENT_SOURCE_DIR}/../include).
- Build with
-DTHREAD_BUILD_INTEGRATION_TESTS=ON and run ctest -R integration to confirm tests still execute.
Acceptance Criteria
Where
| Path |
Action |
integration_tests/ |
git mv to tests/integration_tests/ |
tests/CMakeLists.txt |
Add gated add_subdirectory(integration_tests) |
cmake/thread_system_targets.cmake |
Remove top-level integration_tests branch |
tests/integration_tests/CMakeLists.txt |
Fix relative paths after move |
Independent of sub-issue A — runs in parallel.
What
Move the top-level
integration_tests/directory undertests/integration_tests/so the test layout matches the ecosystem standardtests/{unit,stress,integration_tests,benchmarks}/.Part of #683.
Why
Per the ecosystem-wide directory standard called out in master EPIC kcenon/common_system#657, integration tests should live alongside unit and stress tests under a single
tests/umbrella. Today thread_system has:The outlier complicates downstream tooling that expects a single test root and forces a separate CMake guard (
THREAD_BUILD_INTEGRATION_TESTSincmake/thread_system_targets.cmake:148-151).How
git mv integration_tests tests/integration_tests.tests/CMakeLists.txtto add the new subdirectory (gated byTHREAD_BUILD_INTEGRATION_TESTS).add_subdirectory(integration_tests)block fromcmake/thread_system_targets.cmake:148-151.${CMAKE_CURRENT_SOURCE_DIR}/../include).-DTHREAD_BUILD_INTEGRATION_TESTS=ONand runctest -R integrationto confirm tests still execute.Acceptance Criteria
integration_tests/directory remainstests/integration_tests/exists with all original filestests/CMakeLists.txtguards integration tests behindTHREAD_BUILD_INTEGRATION_TESTScmake/thread_system_targets.cmakeno longer references the top-level pathcmake -B build -DTHREAD_BUILD_INTEGRATION_TESTS=ON && cmake --build build && ctest --test-dir build -R integrationpassesWhere
integration_tests/git mvtotests/integration_tests/tests/CMakeLists.txtadd_subdirectory(integration_tests)cmake/thread_system_targets.cmaketests/integration_tests/CMakeLists.txtIndependent of sub-issue A — runs in parallel.