elfutils/tests/Regression/static-relocations-not-known-to-older-linkers/runtest.sh
Martin Cermak 178121d8af 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-04-19 10:42:42 +02:00

48 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/static-relocations-not-known-to-older-linkers
# Description: static-relocations-not-known-to-older-linkers
# 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
relocs=$(mktemp)
for i in `rpm -ql elfutils-devel`; do readelf -r -W $i; done > $relocs
# The above is expected to complain about some files not being ELF files,
# such as *.h files or directories ... ;-)
rlRun "grep -e GOTPCRELX -e GOT32X $relocs" 1
# for elfutils-devel-0.170-1.el7.x86_64.rpm, the unwanted relocation is
# (only) in /usr/lib64/libebl.a
# readelf -r -W /usr/lib64/libebl.a | grep -e GOTPCRELX -e GOT32X
# 00000000000001ef 000000250000002a R_X86_64_REX_GOTPCRELX 0000000000000000 stdout - 4
rm $relocs
rlPhaseEnd
rlJournalPrintText
rlJournalEnd