[libc++] Add a CI job running MSAN
authorLouis Dionne <ldionne.2@gmail.com>
Wed, 2 Mar 2022 22:49:13 +0000 (17:49 -0500)
committerLouis Dionne <ldionne.2@gmail.com>
Thu, 31 Mar 2022 13:31:22 +0000 (09:31 -0400)
For some reason, we've been going without a MSAN CI job, even though
even run-buildbot defined a generic-msan job. This must have been an
oversight that went unnoticed. Thanks to @EricWF for the catch.

Differential Revision: https://reviews.llvm.org/D120851

libcxx/utils/ci/buildkite-pipeline.yml
libunwind/test/forceunwind.pass.cpp
libunwind/test/libunwind_01.pass.cpp
libunwind/test/libunwind_02.pass.cpp
libunwind/test/remember_state_leak.pass.sh.s
libunwind/test/signal_frame.pass.cpp
libunwind/test/signal_unwind.pass.cpp
libunwind/test/unwind_leaffunction.pass.cpp

index 7653ead..5a6f36b 100644 (file)
@@ -276,6 +276,20 @@ steps:
             limit: 2
       timeout_in_minutes: 120
 
+    - label: "MSAN"
+      command: "libcxx/utils/ci/run-buildbot generic-msan"
+      artifact_paths:
+        - "**/test-results.xml"
+        - "**/*.abilist"
+      agents:
+        queue: "libcxx-builders"
+        os: "linux"
+      retry:
+        automatic:
+          - exit_status: -1  # Agent was lost
+            limit: 2
+      timeout_in_minutes: 120
+
   # Tests with the various supported ways to build libc++.
   - label: "Bootstrapping build"
     command: "libcxx/utils/ci/run-buildbot bootstrapping-build"
index 4666972..af5f234 100644 (file)
@@ -9,6 +9,9 @@
 
 // REQUIRES: linux
 
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
 // Basic test for _Unwind_ForcedUnwind.
 // See libcxxabi/test/forced_unwind* tests too.
 
index e573745..d89f8d1 100644 (file)
@@ -1,6 +1,9 @@
 // TODO: Investigate these failures on x86_64 macOS back deployment
 // UNSUPPORTED: target=x86_64-apple-darwin{{.+}}
 
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
 #include <libunwind.h>
 #include <stdlib.h>
 #include <string.h>
index b188fad..a4f47c5 100644 (file)
@@ -1,3 +1,6 @@
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
 #include <assert.h>
 #include <stdlib.h>
 #include <unwind.h>
index 590653e..a02c821 100644 (file)
@@ -1,4 +1,8 @@
 # REQUIRES: target={{x86_64-.+-linux-gnu}}
+
+// Inline assembly isn't supported by Memory Sanitizer
+// UNSUPPORTED: msan
+
 # RUN: %{build} -no-pie
 # RUN: %{run}
 
index 85a883b..d9fb439 100644 (file)
@@ -12,6 +12,9 @@
 // TODO: Investigate this failure on macOS
 // XFAIL: target={{.+}}-apple-darwin{{.+}}
 
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
 // UNSUPPORTED: libunwind-arm-ehabi
 
 // The AIX assembler does not support CFI directives, which
index c16adeb..4f2e925 100644 (file)
@@ -10,6 +10,9 @@
 // Ensure that the unwinder can cope with the signal handler.
 // REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}})
 
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
 #include <assert.h>
 #include <dlfcn.h>
 #include <signal.h>
index 8ff21dd..a112d75 100644 (file)
@@ -10,6 +10,9 @@
 // Ensure that leaf function can be unwund.
 // REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}})
 
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
 #include <assert.h>
 #include <dlfcn.h>
 #include <signal.h>