Use new needs-(profiler|sanitizer)-support
compiletest directive to clean up some run-make tests.
This commit is contained in:
parent
e2acaee8bb
commit
cc77087d6f
@ -1,8 +1,8 @@
|
||||
# needs-profiler-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
ifeq ($(RUSTC_PROFILER_SUPPORT),1)
|
||||
$(RUSTC) -Copt-level=3 -Clto=fat -Z pgo-gen="$(TMPDIR)" test.rs
|
||||
$(call RUN,test) || exit 1
|
||||
[ -e "$(TMPDIR)"/default_*.profraw ] || (echo "No .profraw file"; exit 1)
|
||||
endif
|
||||
|
@ -1,11 +1,11 @@
|
||||
# needs-profiler-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
ifeq ($(RUSTC_PROFILER_SUPPORT),1)
|
||||
$(RUSTC) -O -Ccodegen-units=1 -Z pgo-gen="$(TMPDIR)" --emit=llvm-ir test.rs
|
||||
# We expect symbols starting with "__llvm_profile_".
|
||||
$(CGREP) "__llvm_profile_" < $(TMPDIR)/test.ll
|
||||
# We do NOT expect the "__imp_" version of these symbols.
|
||||
$(CGREP) -v "__imp___llvm_profile_" < $(TMPDIR)/test.ll # 64 bit
|
||||
$(CGREP) -v "__imp____llvm_profile_" < $(TMPDIR)/test.ll # 32 bit
|
||||
endif
|
||||
|
@ -1,8 +1,8 @@
|
||||
# needs-profiler-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
ifeq ($(RUSTC_PROFILER_SUPPORT),1)
|
||||
$(RUSTC) -g -Z pgo-gen="$(TMPDIR)" test.rs
|
||||
$(call RUN,test) || exit 1
|
||||
[ -e "$(TMPDIR)"/default_*.profraw ] || (echo "No .profraw file"; exit 1)
|
||||
endif
|
||||
|
@ -1,9 +1,9 @@
|
||||
# needs-profiler-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
all:
|
||||
ifeq ($(RUSTC_PROFILER_SUPPORT),1)
|
||||
$(RUSTC) -g -Z profile test.rs
|
||||
$(call RUN,test) || exit 1
|
||||
[ -e "$(TMPDIR)/test.gcno" ] || (echo "No .gcno file"; exit 1)
|
||||
[ -e "$(TMPDIR)/test.gcda" ] || (echo "No .gcda file"; exit 1)
|
||||
endif
|
||||
|
@ -1,3 +1,5 @@
|
||||
# needs-sanitizer-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
LOG := $(TMPDIR)/log.txt
|
||||
@ -5,11 +7,9 @@ LOG := $(TMPDIR)/log.txt
|
||||
# NOTE the address sanitizer only supports x86_64 linux and macOS
|
||||
|
||||
ifeq ($(TARGET),x86_64-apple-darwin)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
EXTRA_RUSTFLAG=-C rpath
|
||||
else
|
||||
ifeq ($(TARGET),x86_64-unknown-linux-gnu)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
|
||||
# Apparently there are very specific Linux kernels, notably the one that's
|
||||
# currently on Travis CI, which contain a buggy commit that triggers failures in
|
||||
@ -23,7 +23,5 @@ endif
|
||||
endif
|
||||
|
||||
all:
|
||||
ifeq ($(ASAN_SUPPORT),1)
|
||||
$(RUSTC) -g -Z sanitizer=address -Z print-link-args $(EXTRA_RUSTFLAG) overflow.rs | $(CGREP) librustc_asan
|
||||
$(TMPDIR)/overflow 2>&1 | $(CGREP) stack-buffer-overflow
|
||||
endif
|
||||
|
@ -1,3 +1,5 @@
|
||||
# needs-sanitizer-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
LOG := $(TMPDIR)/log.txt
|
||||
@ -8,15 +10,12 @@ LOG := $(TMPDIR)/log.txt
|
||||
# is correctly detected.
|
||||
|
||||
ifeq ($(TARGET),x86_64-unknown-linux-gnu)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
|
||||
# See comment in sanitizer-address/Makefile for why this is here
|
||||
EXTRA_RUSTFLAG=-C relocation-model=dynamic-no-pic
|
||||
endif
|
||||
|
||||
all:
|
||||
ifeq ($(ASAN_SUPPORT),1)
|
||||
$(RUSTC) -g -Z sanitizer=address --crate-type cdylib --target $(TARGET) $(EXTRA_RUSTFLAG) library.rs
|
||||
$(RUSTC) -g -Z sanitizer=address --crate-type bin --target $(TARGET) $(EXTRA_RUSTFLAG) -llibrary program.rs
|
||||
LD_LIBRARY_PATH=$(TMPDIR) $(TMPDIR)/program 2>&1 | $(CGREP) stack-buffer-overflow
|
||||
endif
|
||||
|
@ -1,3 +1,5 @@
|
||||
# needs-sanitizer-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
LOG := $(TMPDIR)/log.txt
|
||||
@ -8,15 +10,11 @@ LOG := $(TMPDIR)/log.txt
|
||||
# is correctly detected.
|
||||
|
||||
ifeq ($(TARGET),x86_64-unknown-linux-gnu)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
|
||||
# See comment in sanitizer-address/Makefile for why this is here
|
||||
EXTRA_RUSTFLAG=-C relocation-model=dynamic-no-pic
|
||||
endif
|
||||
|
||||
all:
|
||||
ifeq ($(ASAN_SUPPORT),1)
|
||||
$(RUSTC) -g -Z sanitizer=address --crate-type dylib --target $(TARGET) $(EXTRA_RUSTFLAG) library.rs
|
||||
$(RUSTC) -g -Z sanitizer=address --crate-type bin --target $(TARGET) $(EXTRA_RUSTFLAG) -llibrary program.rs
|
||||
LD_LIBRARY_PATH=$(TMPDIR) $(TMPDIR)/program 2>&1 | $(CGREP) stack-buffer-overflow
|
||||
endif
|
||||
|
@ -1,18 +1,16 @@
|
||||
# needs-sanitizer-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
# NOTE the address sanitizer only supports x86_64 linux and macOS
|
||||
|
||||
ifeq ($(TARGET),x86_64-apple-darwin)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
EXTRA_RUSTFLAG=-C rpath
|
||||
else
|
||||
ifeq ($(TARGET),x86_64-unknown-linux-gnu)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
EXTRA_RUSTFLAG=
|
||||
endif
|
||||
endif
|
||||
|
||||
all:
|
||||
ifeq ($(ASAN_SUPPORT),1)
|
||||
$(RUSTC) -Z sanitizer=address --crate-type proc-macro --target $(TARGET) hello.rs 2>&1 | $(CGREP) '-Z sanitizer'
|
||||
endif
|
||||
|
@ -1,12 +1,11 @@
|
||||
-include ../tools.mk
|
||||
|
||||
# needs-sanitizer-support
|
||||
# only-linux
|
||||
# only-x86_64
|
||||
# ignore-test
|
||||
# FIXME(#46126) ThinLTO for libstd broke this test
|
||||
|
||||
all:
|
||||
ifdef RUSTC_SANITIZER_SUPPORT
|
||||
$(RUSTC) -C opt-level=1 -g -Z sanitizer=leak -Z print-link-args leak.rs | $(CGREP) librustc_lsan
|
||||
$(TMPDIR)/leak 2>&1 | $(CGREP) 'detected memory leaks'
|
||||
endif
|
||||
|
@ -1,10 +1,9 @@
|
||||
-include ../tools.mk
|
||||
|
||||
# needs-sanitizer-support
|
||||
# only-linux
|
||||
# only-x86_64
|
||||
|
||||
all:
|
||||
ifdef RUSTC_SANITIZER_SUPPORT
|
||||
$(RUSTC) -g -Z sanitizer=memory -Z print-link-args uninit.rs | $(CGREP) librustc_msan
|
||||
$(TMPDIR)/uninit 2>&1 | $(CGREP) use-of-uninitialized-value
|
||||
endif
|
||||
|
@ -1,3 +1,5 @@
|
||||
# needs-sanitizer-support
|
||||
|
||||
-include ../tools.mk
|
||||
|
||||
# This test builds a staticlib, then an executable that links to it.
|
||||
@ -5,14 +7,11 @@
|
||||
# and we assert that a fault in the staticlib is correctly detected.
|
||||
|
||||
ifeq ($(TARGET),x86_64-unknown-linux-gnu)
|
||||
ASAN_SUPPORT=$(RUSTC_SANITIZER_SUPPORT)
|
||||
EXTRA_RUSTFLAG=
|
||||
endif
|
||||
|
||||
all:
|
||||
ifeq ($(ASAN_SUPPORT),1)
|
||||
$(RUSTC) -g -Z sanitizer=address --crate-type staticlib --target $(TARGET) library.rs
|
||||
$(CC) program.c $(call STATICLIB,library) $(call OUT_EXE,program) $(EXTRACFLAGS) $(EXTRACXXFLAGS)
|
||||
LD_LIBRARY_PATH=$(TMPDIR) $(TMPDIR)/program 2>&1 | $(CGREP) stack-buffer-overflow
|
||||
endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user