https://github.com/asb updated https://github.com/llvm/llvm-project/pull/111657
>From afd9488eb0b69c5375f7259a02581389c5003917 Mon Sep 17 00:00:00 2001 From: Alex Bradbury <a...@igalia.com> Date: Wed, 9 Oct 2024 11:09:44 +0100 Subject: [PATCH 1/4] [clang][python] Don't add check-clang-python to check-all if cross-compiling Consistent with other cases for these tests, we opt not to add the target to check-all if they're known to fail. The tests fail when cross compiling for a different architecture because the host Python3_EXECUTABLE is used to run them, and FFI calls will of course fail against the libraries compiled for the target. This is an alternate take on <https://github.com/llvm/llvm-project/pull/111367>. --- clang/bindings/python/tests/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt index 2543cf739463d9..de75d303aca7bb 100644 --- a/clang/bindings/python/tests/CMakeLists.txt +++ b/clang/bindings/python/tests/CMakeLists.txt @@ -47,6 +47,14 @@ if(${LLVM_NATIVE_ARCH} MATCHES "^(AArch64|Hexagon|Sparc|SystemZ)$") set(RUN_PYTHON_TESTS FALSE) endif() +# Tests will fail if cross-compiling for a different target, as tests will try +# to use the host Python3_EXECUTABLE and make FFI calls to functions in target +# libraries. +if(CMAKE_CROSS_COMPILING) + message(WARNING "check-clang-python-tests not added to check-all as they fail in a cross-build setup") + set(RUN_PYTHON_TESTS FALSE) +endif() + if(RUN_PYTHON_TESTS) set_property(GLOBAL APPEND PROPERTY LLVM_ALL_ADDITIONAL_TEST_TARGETS check-clang-python) >From 8ca43d1c13bfe106a412ad229735045fa24c7c6a Mon Sep 17 00:00:00 2001 From: Alex Bradbury <a...@igalia.com> Date: Sun, 13 Oct 2024 15:04:46 +0100 Subject: [PATCH 2/4] Fix typo of CMAKE_CROSSCOMPILING --- clang/bindings/python/tests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt index de75d303aca7bb..77688009c9b3e2 100644 --- a/clang/bindings/python/tests/CMakeLists.txt +++ b/clang/bindings/python/tests/CMakeLists.txt @@ -50,7 +50,7 @@ endif() # Tests will fail if cross-compiling for a different target, as tests will try # to use the host Python3_EXECUTABLE and make FFI calls to functions in target # libraries. -if(CMAKE_CROSS_COMPILING) +if(CMAKE_CROSSCOMPILING) message(WARNING "check-clang-python-tests not added to check-all as they fail in a cross-build setup") set(RUN_PYTHON_TESTS FALSE) endif() >From 3653541312edc27a705ba1649e0eec12466e239b Mon Sep 17 00:00:00 2001 From: Alex Bradbury <a...@igalia.com> Date: Sun, 13 Oct 2024 15:06:37 +0100 Subject: [PATCH 3/4] Fix typo and refine wording when check-clang-python not added to check-all --- clang/bindings/python/tests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt index 77688009c9b3e2..a44ff8d49e3409 100644 --- a/clang/bindings/python/tests/CMakeLists.txt +++ b/clang/bindings/python/tests/CMakeLists.txt @@ -51,7 +51,7 @@ endif() # to use the host Python3_EXECUTABLE and make FFI calls to functions in target # libraries. if(CMAKE_CROSSCOMPILING) - message(WARNING "check-clang-python-tests not added to check-all as they fail in a cross-build setup") + message(WARNING "check-clang-python not added to check-all as these tests fail in a cross-build setup") set(RUN_PYTHON_TESTS FALSE) endif() >From 3f210405d221e6b4583e26e14671a704987310f5 Mon Sep 17 00:00:00 2001 From: Alex Bradbury <a...@igalia.com> Date: Sun, 13 Oct 2024 15:10:15 +0100 Subject: [PATCH 4/4] Add FIXME based on review discussion --- clang/bindings/python/tests/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt index a44ff8d49e3409..a0ddabc21bb411 100644 --- a/clang/bindings/python/tests/CMakeLists.txt +++ b/clang/bindings/python/tests/CMakeLists.txt @@ -51,6 +51,11 @@ endif() # to use the host Python3_EXECUTABLE and make FFI calls to functions in target # libraries. if(CMAKE_CROSSCOMPILING) + # FIXME: Consider a solution that allows better control over these tests in + # a crosscompiling scenario. e.g. registering them with lit to allow them to + # be explicitly skipped via appropriate LIT_ARGS, or adding a mechanism to + # allow specifying a python interpreter compiled for the target that could + # be executed using qemu-user. message(WARNING "check-clang-python not added to check-all as these tests fail in a cross-build setup") set(RUN_PYTHON_TESTS FALSE) endif() _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits