From d40ca8022a3c5f0e491faeabf3f8fddf0a0d080b Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 11 Feb 2025 10:08:54 +0100 Subject: [PATCH] Add sanity test for llvm-bolt Test that instrumentation and optimization don't generate errors, to prevent issues like https://bugzilla.redhat.com/show_bug.cgi?id=2344830. --- tests/bolt-sanity/main.fmf | 15 +++++++++++++++ tests/bolt-sanity/test.sh | 8 ++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/bolt-sanity/main.fmf create mode 100755 tests/bolt-sanity/test.sh diff --git a/tests/bolt-sanity/main.fmf b/tests/bolt-sanity/main.fmf new file mode 100644 index 0000000..82ec55e --- /dev/null +++ b/tests/bolt-sanity/main.fmf @@ -0,0 +1,15 @@ +summary: Sanity check that llvm-bolt works +tier: 1 + +adjust+: + - because: "llvm-bolt is available for Fedora, not RHEL/CentOS" + when: distro != fedora + enabled: false + + - because: "We only ship llvm-bolt in snapshots for fedora 41 and newer" + when: snapshot is defined and distro < fedora-41 + enabled: false + +require+: + - llvm-bolt + - clang diff --git a/tests/bolt-sanity/test.sh b/tests/bolt-sanity/test.sh new file mode 100755 index 0000000..f698911 --- /dev/null +++ b/tests/bolt-sanity/test.sh @@ -0,0 +1,8 @@ +#!/bin/sh -eux + +echo "int main() { return 0; }" > test.c +clang -Wl,--emit-relocs test.c +llvm-bolt a.out -instrument -o a.instrumented.out +./a.instrumented.out +llvm-bolt a.out -data /tmp/prof.fdata -o a.bolt.out +./a.bolt.out