elfutils/tests/Regression/GNU-Attribute-notes-not-rec.../runtest.sh

67 lines
2.6 KiB
Bash
Raw Normal View History

Introduce CI gating setup for elfutils Set up CI gating. This will introduce new testcase called fedora-ci.koji-build.tier0.functional and will configure it as a mandatory CI gating testcase for elfutils fedora builds. The provided test coverage comes from RHEL. This commit "upstreams" it and makes it public. The test cases are executed by running ./runtest.sh. The main.fmf file keeps the testcase metadata. Makefiles and PURPOSE files are legacy and could be dropped. We keep them for backward compatibility though. The plans and .fmf folders contain configuration files needed for execution of provided testcases within the Fedora CI infrastructure. Rest of the provided files are reproducer or helper files. Provided tests use Flexible Metadata Format, as documented in https://fmf.readthedocs.io/ . plans/ci.fmf: Change how from beakerlib to tmt Removed tests that didn't run unprivileged with tmt run --all provision --how=local - tests/Regression/GNU-Property-notes-not-recognized Tries to install extra pacakger with yum. - tests/Regression/bz447416-segfaults Tries to do eu-stack -p 1 - tests/Regression/elfutils-default-yama-scope-scriptlet-failed Does not have permission to do: grep /var/log/anaconda/packaging.log - tests/Sanity/yama-scope su: user ptrace_scope_testuser does not exist or the user entry does not contain all the required fields - tests/testsuite yum-builddep -y /tmp/tmp.7gnbiIzrYg/SPECS/elfutils.spec - tests/Regression/rpmtests Tries to download and builddep src.rpm package from koji. Removed not enabled tests: - tests/Regression/bz652858-elfutils-prelink-stap-interaction - tests/Sanity/elfutils-debuginfod CVE reproducers are now public, so no longer confidential. Remove unused tests/Sanity/elfutils-debuginfod/typescript
2021-03-24 09:53:42 +00:00
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/GNU-Attribute-notes-not-recognized
# Description: GNU-Attribute-notes-not-recognized
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="elfutils"
rlJournalStart
rlPhaseStartTest
# Rely on that /bin/bash is annobin-annotated per
# - https://fedoraproject.org/wiki/Toolchain/Watermark
# - https://fedoraproject.org/wiki/Changes/Annobin
# Seems to work fine with bash-4.4.19-6.el8 and elfutils-0.174-5.el8.
f="/bin/bash"
# Annobin notes originally used to reside in the binary itself.
# Later on they moved to debuginfo.
# Let's see if we can chase down needed debuginfo somewhere...
# Attempt getting the needed file using debuginfod
2023-03-06 09:06:48 +00:00
export DEBUGINFOD_URLS=https://debuginfod.fedoraproject.org/
rlRun "f=\"$f $(debuginfod-find debuginfo /bin/bash)\""
# Attempt getting the needed file by traditional means
rlRun "debuginfo-install -y bash"
rlRun "buildid=$(eu-readelf -n /bin/bash | awk '/Build ID:/ {print $NF}')"
for i in $(rpm -ql bash-debuginfo); do
test -f $i || continue
if eu-readelf -n $i | fgrep $buildid; then
rlRun "f=\"$f $i\""
fi
done
set -o pipefail
export f
# Check if eu-readelf can read the notes from at least one of files
# that can possibly contain it...
rlRun "(for i in $f; do eu-readelf -n $i; done ) | grep -2 '^ GA' | fgrep 'GNU Build Attribute' | tail -50"
Introduce CI gating setup for elfutils Set up CI gating. This will introduce new testcase called fedora-ci.koji-build.tier0.functional and will configure it as a mandatory CI gating testcase for elfutils fedora builds. The provided test coverage comes from RHEL. This commit "upstreams" it and makes it public. The test cases are executed by running ./runtest.sh. The main.fmf file keeps the testcase metadata. Makefiles and PURPOSE files are legacy and could be dropped. We keep them for backward compatibility though. The plans and .fmf folders contain configuration files needed for execution of provided testcases within the Fedora CI infrastructure. Rest of the provided files are reproducer or helper files. Provided tests use Flexible Metadata Format, as documented in https://fmf.readthedocs.io/ . plans/ci.fmf: Change how from beakerlib to tmt Removed tests that didn't run unprivileged with tmt run --all provision --how=local - tests/Regression/GNU-Property-notes-not-recognized Tries to install extra pacakger with yum. - tests/Regression/bz447416-segfaults Tries to do eu-stack -p 1 - tests/Regression/elfutils-default-yama-scope-scriptlet-failed Does not have permission to do: grep /var/log/anaconda/packaging.log - tests/Sanity/yama-scope su: user ptrace_scope_testuser does not exist or the user entry does not contain all the required fields - tests/testsuite yum-builddep -y /tmp/tmp.7gnbiIzrYg/SPECS/elfutils.spec - tests/Regression/rpmtests Tries to download and builddep src.rpm package from koji. Removed not enabled tests: - tests/Regression/bz652858-elfutils-prelink-stap-interaction - tests/Sanity/elfutils-debuginfod CVE reproducers are now public, so no longer confidential. Remove unused tests/Sanity/elfutils-debuginfod/typescript
2021-03-24 09:53:42 +00:00
rlPhaseEnd
rlJournalPrintText
rlJournalEnd