Skip to content

Commit

Permalink
[libc] Make hermetic test depend on the unit test if it exists.
Browse files Browse the repository at this point in the history
We want to do this so that build system like ninja don't end up running
the hermetic and unit tests in parallel. Running in parallel can cause
problems for tests which read/write disk files as the hermetic and unit
tests can end up stepping on each other.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D151291
  • Loading branch information
Siva Chandra Reddy committed May 25, 2023
1 parent 8b90f8e commit 99a493e
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions libc/cmake/modules/LLVMLibCTestRules.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -740,5 +740,12 @@ function(add_libc_test test_name)
endif()
if(LIBC_ENABLE_HERMETIC_TESTS AND NOT LIBC_TEST_UNIT_TEST_ONLY)
add_libc_hermetic_test(${test_name}.__hermetic__ ${LIBC_TEST_UNPARSED_ARGUMENTS})
get_fq_target_name(${test_name} fq_test_name)
if(TARGET ${fq_test_name}.__unit__)
# Tests like the file tests perform file operations on disk file. If we
# don't chain up the unit test and hermetic test, then those tests will
# step on each other's files.
add_dependencies(${fq_test_name}.__hermetic__ ${fq_test_name}.__unit__)
endif()
endif()
endfunction(add_libc_test)

0 comments on commit 99a493e

Please sign in to comment.