diff --git a/suite/runsuite.cmake b/suite/runsuite.cmake index 6ed3a463baf..47eb42feb54 100644 --- a/suite/runsuite.cmake +++ b/suite/runsuite.cmake @@ -98,7 +98,7 @@ if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT cross_riscv64_linux_only) # TODO i#6417: The switch to AMD VM's for GA CI has broken many of our tests. # This includes timeouts which increases suite length. # Until we get ths x86-32 job back green, we drop back to a small set of tests. - set(extra_ctest_args INCLUDE_LABEL UBUNTU_22) + set(extra_ctest_args EXCLUDE_LABEL AMD_X32_DENYLIST) endif () endif () diff --git a/suite/tests/CMakeLists.txt b/suite/tests/CMakeLists.txt index 97da580d15e..c5659d833f1 100644 --- a/suite/tests/CMakeLists.txt +++ b/suite/tests/CMakeLists.txt @@ -6209,3 +6209,90 @@ if (RISCV64) PROPERTIES LABELS RUNS_ON_QEMU) endif () endif () + +# Set a LABEL property on a list of tests, ignoring any listed tests that +# don't exist. +macro(set_labels_on_known_tests LABEL) + foreach (testname ${ARGN}) + if (TEST ${testname}) + set_tests_properties(${testname} PROPERTIES LABELS ${LABEL}) + else () + message(DEBUG "Not applying ${LABEL} to non-existing test ${testname}") + endif () + endforeach () +endmacro() + +# TODO i#6417: The switch to AMD VM's for GA CI has broken many of our tests. +# This includes timeouts which increase suite length. +# The following tests are excluded until they are fixed. +# LINUX_XARCH_TEST is defined only for x86-64 linux.xarch test which don't +# have the following tests, so we need to skip set_tests_properties. +if (UNIX AND X86 AND CPU_AMD AND NOT DR_HOST_X64) + set_labels_on_known_tests(AMD_X32_DENYLIST + code_api|api.detach + code_api|api.detach_spawn_quick_exit + code_api|api.ibl-stress + code_api|api.startstop + code_api|api.static_detach + code_api|api.static_prepop + code_api|api.static_signal + code_api|api.thread_churn + code_api|client.alloc + code_api|client.attach_blocking + code_api|client.attach_test + code_api|client.detach_test + code_api|client.drwrap-test-detach + code_api|client.flush + code_api|client.strace + code_api|common.decode-stress + code_api|linux.eintr + code_api|linux.eintr-noinline + code_api|tool.basic_counts + code_api|tool.drcacheoff.altbindir + code_api|tool.drcacheoff.burst_client + code_api|tool.drcacheoff.basic_counts + code_api|tool.drcacheoff.burst_futex + code_api|tool.drcacheoff.burst_malloc + code_api|tool.drcacheoff.burst_maps + code_api|tool.drcacheoff.burst_reattach + code_api|tool.drcacheoff.burst_replace + code_api|tool.drcacheoff.burst_replaceall + code_api|tool.drcacheoff.burst_static + code_api|tool.drcacheoff.burst_syscall_inject + code_api|tool.drcacheoff.burst_threadfilter + code_api|tool.drcacheoff.burst_threads + code_api|tool.drcacheoff.burst_threads_counts + code_api|tool.drcacheoff.burst_threadL0filter + code_api|tool.drcacheoff.func_view_noret + code_api|tool.drcacheoff.gencode + code_api|tool.drcacheoff.gencode_filtered + code_api|tool.drcacheoff.getretaddr_record_replace_retaddr + code_api|tool.drcacheoff.invariant_checker + code_api|tool.drcacheoff.invariant_checker_pthreads + code_api|tool.drcacheoff.legacy + code_api|tool.drcacheoff.max-global + code_api|tool.drcacheoff.sysnums + code_api|tool.drcacheoff.warmup-pthreads-2 + code_api|tool.drcacheoff.warmup-pthreads-max-refs + code_api|tool.drcacheoff.warmup-pthreads-max-trace-size + code_api|tool.drcacheoff.warmup-pthreads-windows-split + code_api|tool.drcacheoff.windows-split + code_api|tool.drcacheoff.windows-timestamps + code_api|tool.drcachesim.coherence + code_api|tool.drcachesim.delay-global + code_api|tool.drcachesim.filter-d + code_api|tool.drcachesim.filter-no-d + code_api|tool.drcachesim.invariants + code_api|tool.drcachesim.miss_analyzer + code_api|tool.drcachesim.phys-threads_SUDO + code_api|tool.drcachesim.scattergather-x86 + code_api|tool.drcachesim.threads + code_api|tool.drcachesim.threads-with-config-file + code_api|tool.drcachesim.windows-simple + code_api|tool.drcachesim.TLB-threads + code_api|tool.drcov.eintr + code_api|tool.histogram.offline + code_api|tool.record_filter + code_api|tool.record_filter_bycore_multi + code_api|tool.record_filter_bycore_uni) +endif ()