-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[libc] Add missing dependency for test target #138423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
It seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.__unit__ would create a custom target in the form of: add_custom_target( libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ ) but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ being built. For some reason, it would break the rv32b buildbot, as it would try to run a test but the __build__ is nowhere to be found, since it wasn't built in the first place.
@llvm/pr-subscribers-libc Author: Mikhail R. Gadelha (mikhailramalho) ChangesIt seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.unit would create a custom target in the form of: add_custom_target( but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.unit.build being built. For some reason, it would break the rv32b buildbot, as it would try to run a test but the build is nowhere to be found, since it wasn't built in the first place. Full diff: https://github.com/llvm/llvm-project/pull/138423.diff 1 Files Affected:
diff --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index a28e15fc5e394..3f804694b5bae 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -321,6 +321,7 @@ function(create_libc_unittest fq_target_name)
${fq_target_name}
COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} ${fq_build_target_name}
COMMENT "Running unit test ${fq_target_name}"
+ DEPENDS ${fq_build_target_name}
)
endif()
|
I can't explain why this only happens in the rv32 buildbot, maybe it's the version of cmake?
Local tests are still running but there no issues so far. |
It seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.__unit__ would create a custom target in the form of: ``` add_custom_target( libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ ) ``` but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ being built. For some reason, it would break the rv32 buildbot, as it would try to run a test but the __build__ is nowhere to be found, since it wasn't built in the first place.
It seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.__unit__ would create a custom target in the form of: ``` add_custom_target( libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ ) ``` but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ being built. For some reason, it would break the rv32 buildbot, as it would try to run a test but the __build__ is nowhere to be found, since it wasn't built in the first place.
It seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.__unit__ would create a custom target in the form of: ``` add_custom_target( libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ ) ``` but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ being built. For some reason, it would break the rv32 buildbot, as it would try to run a test but the __build__ is nowhere to be found, since it wasn't built in the first place.
It seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.__unit__ would create a custom target in the form of: ``` add_custom_target( libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ COMMAND ${LIBC_UNITTEST_ENV} ${CMAKE_CROSSCOMPILING_EMULATOR} libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ COMMENT Running unit test libc.test.src.__support.FPUtil.dyadic_float_test.__unit__ ) ``` but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ being built. For some reason, it would break the rv32 buildbot, as it would try to run a test but the __build__ is nowhere to be found, since it wasn't built in the first place.
It seems we were missing a dependency when adding a new test target, e.g., test libc.test.src.math.sqrt_test.__unit__ would create a custom target in the form of:
but it wouldn't set that it depends on libc.test.src.__support.FPUtil.dyadic_float_test.__unit__.__build__ being built.
For some reason, it would break the rv32 buildbot, as it would try to run a test but the __build__ is nowhere to be found, since it wasn't built in the first place.