Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9bc730b132 |
5 changed files with 16 additions and 20 deletions
|
|
@ -12,10 +12,3 @@ repos:
|
||||||
rev: 1.32.2
|
rev: 1.32.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: tmt-lint
|
- id: tmt-lint
|
||||||
|
|
||||||
- repo: https://github.com/koalaman/shellcheck-precommit
|
|
||||||
rev: v0.10.0
|
|
||||||
hooks:
|
|
||||||
- id: shellcheck
|
|
||||||
require_serial: true # Podman has trouble running concurrently
|
|
||||||
args: ["--exclude=SC1091"] # Ignore "Not following" sourced scripts
|
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,13 @@
|
||||||
|
|
||||||
rlJournalStart
|
rlJournalStart
|
||||||
rlPhaseStartSetup
|
rlPhaseStartSetup
|
||||||
declare tmp
|
|
||||||
rlRun "tmp=$(mktemp -d)" 0 "Create a temp dir"
|
rlRun "tmp=$(mktemp -d)" 0 "Create a temp dir"
|
||||||
# Get the compiler-rt package name from the tmt required packages, which should
|
# Get the compiler-rt package name from the tmt required packages, which should
|
||||||
# address the issue of getting the correct name regardless it's a compat package
|
# address the issue of getting the correct name regardless it's a compat package
|
||||||
# or not. The package can be named either compiler-rt or compiler-rt[0-9]+
|
# or not. The package can be named either compiler-rt or compiler-rt[0-9]+
|
||||||
rlRun "COMPILER_RT=$(rlGetYAMLdeps | tr ' ' '\n' | grep -E "compiler-rt[[:digit:]]*$")"
|
rlRun "COMPILER_RT=$(rlGetYAMLdeps | tr ' ' '\n' | grep -E "compiler-rt[[:digit:]]*$")"
|
||||||
# Make sure to get only the main arch, so we can deal with multilib issues.
|
# Make sure to get only the main arch, so we can deal with multilib issues.
|
||||||
rlRun "COMPILER_RT_NVR=$(rpm -q "${COMPILER_RT}" | grep "$(uname -m)")"
|
rlRun "COMPILER_RT_NVR=$(rpm -q ${COMPILER_RT} | grep $(uname -m))"
|
||||||
# Use dnf repoquery --installed so we *don't* query any repos but the
|
# Use dnf repoquery --installed so we *don't* query any repos but the
|
||||||
# local rpm database instead. That should handle packages installed
|
# local rpm database instead. That should handle packages installed
|
||||||
# using rpm, that are not in repos, and avoid timeouts if repo connection
|
# using rpm, that are not in repos, and avoid timeouts if repo connection
|
||||||
|
|
@ -24,7 +23,7 @@ rlJournalStart
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
rlPhaseStartTest
|
rlPhaseStartTest
|
||||||
for file in $(rpm -ql "$COMPILER_RT_NVR"); do
|
for file in $(rpm -ql $COMPILER_RT_NVR); do
|
||||||
# Skip iteration if the file is not a symlink
|
# Skip iteration if the file is not a symlink
|
||||||
[[ -L $file ]] || continue
|
[[ -L $file ]] || continue
|
||||||
|
|
||||||
|
|
@ -37,13 +36,13 @@ rlJournalStart
|
||||||
# Up to this point, the linked file exists.
|
# Up to this point, the linked file exists.
|
||||||
# If the owner of the target compiler-rt package itself that's
|
# If the owner of the target compiler-rt package itself that's
|
||||||
# correct and we can skip to the next file.
|
# correct and we can skip to the next file.
|
||||||
target=$(readlink -f "$file")
|
target=$(readlink -f $file)
|
||||||
OWNER_NVR=$(rpm -qf "$target")
|
OWNER_NVR=$(rpm -qf $target)
|
||||||
[[ "$OWNER_NVR" == "$COMPILER_RT_NVR" ]] && continue
|
[[ "$OWNER_NVR" == "$COMPILER_RT_NVR" ]] && continue
|
||||||
|
|
||||||
# The target exists but it's not owned by compiler-rt. It must be
|
# The target exists but it's not owned by compiler-rt. It must be
|
||||||
# owned by one of its dependencies, else flag a failure.
|
# owned by one of its dependencies, else flag a failure.
|
||||||
if ! grep "$OWNER_NVR" "$tmp/dependencies.log"; then
|
if ! cat $tmp/dependencies.log | grep $OWNER_NVR; then
|
||||||
rlFail "$file pointing to $target is a dangling symlink owned by $OWNER_NVR"
|
rlFail "$file pointing to $target is a dangling symlink owned by $OWNER_NVR"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
|
||||||
|
|
@ -20,3 +20,7 @@ adjust+:
|
||||||
- enabled: false
|
- enabled: false
|
||||||
because: "compiler-rt.i686 may not be available in snapshot builds when x86_64 tests are executed"
|
because: "compiler-rt.i686 may not be available in snapshot builds when x86_64 tests are executed"
|
||||||
when: snapshot is defined
|
when: snapshot is defined
|
||||||
|
|
||||||
|
- enabled: false
|
||||||
|
because: "i686 packages not available for compat"
|
||||||
|
when: compat is defined
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
#!/bin/bash -ux
|
#!/bin/sh -ux
|
||||||
# Do NOT set exit after error flag (set -e). Let all the optimizations to be run
|
# Do NOT set exit after error flag (set -e). Let all the optimizations to be run
|
||||||
|
|
||||||
tmp=$(mktemp -d)
|
tmp=$(mktemp -d)
|
||||||
result=0
|
result=0
|
||||||
# Test the reproducer with all the optimization levels
|
# Test the reproducer with all the optimization levels
|
||||||
for opt_level in 0 1 2 3; do
|
for opt_level in 0 1 2 3; do
|
||||||
clang++ --rtlib=compiler-rt -O$opt_level test.cpp -o "${tmp}/test_O${opt_level}"
|
clang++ --rtlib=compiler-rt -O$opt_level test.cpp -o $tmp/test_O$opt_level
|
||||||
"${tmp}/test_O${opt_level}" | grep '0.122986' || result=1
|
$tmp/test_O$opt_level | grep '0.122986' || result=1
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -rf "$tmp"
|
rm -rf $tmp
|
||||||
if [[ "$result" == 1 ]]; then
|
if [[ "$result" == 1 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ framework: shell
|
||||||
|
|
||||||
# Always define "test" key and override in adjust or in each specific test
|
# Always define "test" key and override in adjust or in each specific test
|
||||||
# metadata if needed.
|
# metadata if needed.
|
||||||
test: ./test.sh
|
test: "PATH=/usr/lib64/llvm18/bin:$PATH ./test.sh"
|
||||||
|
|
||||||
# Commonly used keys are initialized to empty.
|
# Commonly used keys are initialized to empty.
|
||||||
require: []
|
require: []
|
||||||
|
|
@ -24,8 +24,8 @@ tag: []
|
||||||
adjust+:
|
adjust+:
|
||||||
# Common requirements when LLVM is not SCL-ized
|
# Common requirements when LLVM is not SCL-ized
|
||||||
- require+:
|
- require+:
|
||||||
- clang
|
- clang18
|
||||||
- compiler-rt
|
- compiler-rt18
|
||||||
when: collection is not defined
|
when: collection is not defined
|
||||||
|
|
||||||
# Requirements for SCL-ized LLVM
|
# Requirements for SCL-ized LLVM
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue