mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
ed2ba72592
When a LLVM binary such as llvm-*-fuzzer is built with libc++, it has dependency on libc++. The path to find shared libraries specified in llvm-*-fuzzer is relative. As a result, these binaries cannot be copied to an arbitrary directory and launched from there. Changes in this patch add a LIT feature to indicate that libc++ is used to build and, based on the feature exclude test cases that test by copying llvm-*-fuzzer binaries to a directory. Reviewers: hubert.reinterpretcast, dberris, amyk, jasonliu, EricWF Reviewed By: hubert.reinterpretcast, amyk Subscribers: javed.absar, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61265 llvm-svn: 360672
34 lines
1.3 KiB
LLVM
34 lines
1.3 KiB
LLVM
; If the binary looks up libraries using an rpath, we can't test this
|
|
; without copying the whole lib dir or polluting the build dir.
|
|
; REQUIRES: static-libs
|
|
; REQUIRES: x86-registered-target
|
|
|
|
; The above also applies if the binary is built with libc++.
|
|
; UNSUPPORTED: libcxx-used
|
|
|
|
; This test is really flaky on Windows. On Windows, executables and DLLs cannot
|
|
; be deleted or written while they are loaded. The OS unlocks the file some
|
|
; time after the process terminates, so if 'rm' runs too quickly, it will fail
|
|
; with "access denied".
|
|
; UNSUPPORTED: system-windows
|
|
|
|
; Temporary bitcode file
|
|
; RUN: opt -o %t.input %s
|
|
|
|
; RUN: cp llvm-opt-fuzzer %t.bin--
|
|
; RUN: not %t.bin-- %t.input 2>&1 | FileCheck -check-prefix=EMPTY %s
|
|
; EMPTY: -mtriple must be specified
|
|
|
|
; RUN: cp llvm-opt-fuzzer %t.bin--x86_64
|
|
; RUN: not %t.bin--x86_64 %t.input 2>&1 | FileCheck -check-prefix=PASSES %s
|
|
; PASSES: at least one pass should be specified
|
|
|
|
; RUN: cp llvm-opt-fuzzer %t.bin--x86_64-unknown
|
|
; RUN: not %t.bin--x86_64-unknown %t.input 2>&1 | FileCheck -check-prefix=UNKNOWN %s
|
|
; UNKNOWN: Unknown option: unknown
|
|
|
|
; RUN: cp llvm-opt-fuzzer %t.bin--x86_64-instcombine
|
|
; RUN: %t.bin--x86_64-instcombine %t.input 2>&1 | FileCheck -check-prefix=CORRECT %s
|
|
; CORRECT: Injected args: -mtriple=x86_64 -passes=instcombine
|
|
; CORRECT: Running
|