[libunwind] cb055e5 - [libc++] Add a CI job running MSAN
Louis Dionne via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 31 06:31:26 PDT 2022
Author: Louis Dionne
Date: 2022-03-31T09:31:22-04:00
New Revision: cb055e51f994806160465212ac100485dac48125
URL: https://github.com/llvm/llvm-project/commit/cb055e51f994806160465212ac100485dac48125
DIFF: https://github.com/llvm/llvm-project/commit/cb055e51f994806160465212ac100485dac48125.diff
LOG: [libc++] Add a CI job running MSAN
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
Added:
Modified:
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
Removed:
################################################################################
diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml
index 7653ead09ae6c..5a6f36bea3c98 100644
--- a/libcxx/utils/ci/buildkite-pipeline.yml
+++ b/libcxx/utils/ci/buildkite-pipeline.yml
@@ -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"
diff --git a/libunwind/test/forceunwind.pass.cpp b/libunwind/test/forceunwind.pass.cpp
index 466697264035b..af5f234b8da68 100644
--- a/libunwind/test/forceunwind.pass.cpp
+++ b/libunwind/test/forceunwind.pass.cpp
@@ -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.
diff --git a/libunwind/test/libunwind_01.pass.cpp b/libunwind/test/libunwind_01.pass.cpp
index e5737450a568f..d89f8d16ce70d 100644
--- a/libunwind/test/libunwind_01.pass.cpp
+++ b/libunwind/test/libunwind_01.pass.cpp
@@ -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>
diff --git a/libunwind/test/libunwind_02.pass.cpp b/libunwind/test/libunwind_02.pass.cpp
index b188fad8ee5be..a4f47c521858a 100644
--- a/libunwind/test/libunwind_02.pass.cpp
+++ b/libunwind/test/libunwind_02.pass.cpp
@@ -1,3 +1,6 @@
+// TODO: Figure out why this fails with Memory Sanitizer.
+// XFAIL: msan
+
#include <assert.h>
#include <stdlib.h>
#include <unwind.h>
diff --git a/libunwind/test/remember_state_leak.pass.sh.s b/libunwind/test/remember_state_leak.pass.sh.s
index 590653e2b10de..a02c8213c669c 100644
--- a/libunwind/test/remember_state_leak.pass.sh.s
+++ b/libunwind/test/remember_state_leak.pass.sh.s
@@ -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}
diff --git a/libunwind/test/signal_frame.pass.cpp b/libunwind/test/signal_frame.pass.cpp
index 85a883be4e5fe..d9fb439cd1e7f 100644
--- a/libunwind/test/signal_frame.pass.cpp
+++ b/libunwind/test/signal_frame.pass.cpp
@@ -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
diff --git a/libunwind/test/signal_unwind.pass.cpp b/libunwind/test/signal_unwind.pass.cpp
index c16adeb4d18cc..4f2e925349604 100644
--- a/libunwind/test/signal_unwind.pass.cpp
+++ b/libunwind/test/signal_unwind.pass.cpp
@@ -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>
diff --git a/libunwind/test/unwind_leaffunction.pass.cpp b/libunwind/test/unwind_leaffunction.pass.cpp
index 8ff21dd35449c..a112d755dfeed 100644
--- a/libunwind/test/unwind_leaffunction.pass.cpp
+++ b/libunwind/test/unwind_leaffunction.pass.cpp
@@ -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>
More information about the cfe-commits
mailing list