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
This commit is contained in:
Martin Cermak 2021-03-24 10:53:42 +01:00 committed by Mark Wielaard
parent 8cda32be22
commit 178121d8af
190 changed files with 5074 additions and 1 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

View File

@ -1,6 +1,6 @@
Name: elfutils
Version: 0.183
%global baserelease 2
%global baserelease 3
Release: %{baserelease}%{?dist}
URL: http://elfutils.org/
%global source_url ftp://sourceware.org/pub/elfutils/%{version}/
@ -409,6 +409,9 @@ exit 0
%systemd_postun_with_restart debuginfod.service
%changelog
* Mon Apr 19 2021 Mark Wielaard <mjw@fedoraproject.org> - 0.183-3
- Introduce CI gating setup
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.183-2
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.

13
gating.yaml Normal file
View File

@ -0,0 +1,13 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

6
plans/ci.fmf Normal file
View File

@ -0,0 +1,6 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
execute:
how: tmt

View File

@ -0,0 +1,65 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/GNU-Attribute-notes-not-recognized
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: GNU-Attribute-notes-not-recognized" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Requires: bash" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1650125" >> $(METADATA)
@echo "Releases: -RHEL4 -RHEL6 -RHEL7 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/GNU-Attribute-notes-not-recognized
Description: GNU-Attribute-notes-not-recognized
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: elfutils doesn't recognize GNU Attribute notes
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1650125

View File

@ -0,0 +1,16 @@
summary: GNU-Attribute-notes-not-recognized
description: |
Bug summary: elfutils doesn't recognize GNU Attribute notes
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1650125
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- bash
duration: 48h
extra-summary: /tools/elfutils/Regression/GNU-Attribute-notes-not-recognized
extra-task: /tools/elfutils/Regression/GNU-Attribute-notes-not-recognized

View File

@ -0,0 +1,43 @@
#!/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.
set -o pipefail
rlRun "eu-readelf -n /bin/bash | grep -2 '^ GA' | fgrep 'GNU Build Attribute' | tail -50"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/RFE-support-reading-compressed-ELF-objects
# Description: Test for BZ#1674430 (RFE support reading compressed ELF objects)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/RFE-support-reading-compressed-ELF-objects
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#1674430 (RFE support reading compressed ELF objects)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1674430" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/RFE-support-reading-compressed-ELF-objects
Description: Test for BZ#1674430 (RFE support reading compressed ELF objects)
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: RFE: support reading compressed ELF objects
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1674430

View File

@ -0,0 +1,15 @@
summary: Test for BZ#1674430 (RFE support reading compressed ELF objects)
description: |
Bug summary: RFE: support reading compressed ELF objects
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1674430
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 48h
extra-summary: /tools/elfutils/Regression/RFE-support-reading-compressed-ELF-objects
extra-task: /tools/elfutils/Regression/RFE-support-reading-compressed-ELF-objects

View File

@ -0,0 +1,44 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/RFE-support-reading-compressed-ELF-objects
# Description: Test for BZ#1674430 (RFE support reading compressed ELF objects)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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"
KOXZS_TO_TEST=20
rlJournalStart
rlPhaseStartTest
# Look to see that dwelf_elf_begin is now in libdw.so
rlRun "eu-nm -D $(ldd $(which eu-readelf) | awk '/libdw.so/ {print $3}') | fgrep 'dwelf_elf_begin'"
# Also eu-readelf now takes advantage of dwelf_elf_begin() to directly read compressed ELF files.
for koxz in $(find /usr/lib/modules/ | fgrep '.ko.xz' | shuf -n $KOXZS_TO_TEST); do
rlRun "eu-readelf -n $koxz"
done
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/SHT_X86_64_UNWIND-section-not-recognized
# Description: SHT_X86_64_UNWIND-section-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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/SHT_X86_64_UNWIND-section-not-recognized
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE m.o
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: SHT_X86_64_UNWIND-section-not-recognized" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1650114" >> $(METADATA)
@echo "Releases: -RHEL4 -RHEL6 -RHEL7 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/SHT_X86_64_UNWIND-section-not-recognized
Description: SHT_X86_64_UNWIND-section-not-recognized
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: elfutils doesn't recognize gold linker SHT_X86_64_UNWIND section
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1650114

View File

@ -0,0 +1,15 @@
summary: SHT_X86_64_UNWIND-section-not-recognized
description: |
Bug summary: elfutils doesn't recognize gold linker SHT_X86_64_UNWIND section
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1650114
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 48h
extra-summary: /tools/elfutils/Regression/SHT_X86_64_UNWIND-section-not-recognized
extra-task: /tools/elfutils/Regression/SHT_X86_64_UNWIND-section-not-recognized

View File

@ -0,0 +1,39 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/SHT_X86_64_UNWIND-section-not-recognized
# Description: SHT_X86_64_UNWIND-section-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
set -o pipefail
rlRun "eu-readelf -S m.o | fgrep .eh_frame | fgrep X86_64_UNWIND"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/abrt-faf-elfutils-IO-default-xsputn
# Description: abrt-faf-elfutils-IO-default-xsputn
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2015 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/abrt-faf-elfutils-IO-default-xsputn
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE eu-readelf-n-crash.core.xz
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: abrt-faf-elfutils-IO-default-xsputn" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils xz" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1262839" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/abrt-faf-elfutils-IO-default-xsputn
Description: abrt-faf-elfutils-IO-default-xsputn
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: [abrt] [faf] elfutils: _IO_default_xsputn(): /usr/bin/eu-readelf killed by 11
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1262839

View File

@ -0,0 +1,16 @@
summary: abrt-faf-elfutils-IO-default-xsputn
description: |
Bug summary: [abrt] [faf] elfutils: _IO_default_xsputn(): /usr/bin/eu-readelf killed by 11
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1262839
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- xz
duration: 5m
extra-summary: /tools/elfutils/Regression/abrt-faf-elfutils-IO-default-xsputn
extra-task: /tools/elfutils/Regression/abrt-faf-elfutils-IO-default-xsputn

View File

@ -0,0 +1,48 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/abrt-faf-elfutils-IO-default-xsputn
# Description: abrt-faf-elfutils-IO-default-xsputn
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2015 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
rlJournalStart
rlPhaseStartSetup
rlRun "TMPD=$(mktemp -d)"
rlRun "cp eu-readelf-n-crash.core.xz $TMPD/"
rlRun "pushd $TMPD"
rlRun "unxz eu-readelf-n-crash.core.xz"
rlPhaseEnd
rlPhaseStartTest
rlRun "eu-readelf -n ./eu-readelf-n-crash.core"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TMPD"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,65 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/add-ppc64-fallback-unwinder
# Description: add-ppc64-fallback-unwinder
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/add-ppc64-fallback-unwinder
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE backtrace.ppc64le.fp.core.bz2 backtrace.ppc64le.fp.exec.bz2 output.ref
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: add-ppc64-fallback-unwinder" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 10m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Requires: bzip2" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1454754" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/add-ppc64-fallback-unwinder
Description: add-ppc64-fallback-unwinder
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: Add ppc64 fallback unwinder to elfutils libdw
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1454754

View File

@ -0,0 +1,16 @@
summary: add-ppc64-fallback-unwinder
description: |
Bug summary: Add ppc64 fallback unwinder to elfutils libdw
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1454754
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- bzip2
duration: 10m
extra-summary: /tools/elfutils/Regression/add-ppc64-fallback-unwinder
extra-task: /tools/elfutils/Regression/add-ppc64-fallback-unwinder

View File

@ -0,0 +1,17 @@
PID 23727 - core
TID 23728:
#0 0x00000000100104bc raise
#1 0x0000000010002a1c sigusr2
#2 0x0000000010002a1c sigusr2
#3 0x0000000010002b38 stdarg
#4 0x0000000010002bc4 backtracegen
#5 0x0000000010002bf0 start
#6 0x0000000010004c28 start_thread
eu-stack: dwfl_thread_getframes tid 23728 at 0x10004c27 in /root/mjw/elfutils/tests/backtrace.ppc64le.fp.exec: (null)
TID 23727:
#0 0x0000000010006034 pthread_join
#1 0x00000000100025bc main
#2 0x00000000100025bc main
#3 0x00000000100123c4 generic_start_main
#4 0x0000000010012570 __libc_start_main
eu-stack: dwfl_thread_getframes tid 23727 at 0x1001256f in /root/mjw/elfutils/tests/backtrace.ppc64le.fp.exec: No DWARF information found

View File

@ -0,0 +1,55 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/add-ppc64-fallback-unwinder
# Description: add-ppc64-fallback-unwinder
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TEMPD=\$(mktemp -d)"
rlRun "cp backtrace.ppc64le.fp.core.bz2 backtrace.ppc64le.fp.exec.bz2 output.ref $TEMPD"
rlRun "pushd $TEMPD"
rlRun "bunzip2 backtrace.ppc64le.fp.core.bz2"
rlRun "bunzip2 backtrace.ppc64le.fp.exec.bz2"
rlPhaseEnd
rlPhaseStartTest
rlRun "eu-stack --exec backtrace.ppc64le.fp.exec --core backtrace.ppc64le.fp.core |& tee output.txt"
rlRun "grep '^#' output.ref > output.ref.filtered"
rlRun "grep '^#' output.txt > output.txt.filtered"
rlRun "diff output.txt.filtered output.ref.filtered"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TEMPD"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,65 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/api-break-in-libasm-h
# Description: api-break-in-libasm-h
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/api-break-in-libasm-h
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE test.c
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: api-break-in-libasm-h" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils-devel" >> $(METADATA)
@echo "Requires: gcc" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1789885" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/elfutils/Regression/api-break-in-libasm-h
Description: api-break-in-libasm-h
Author: Martin Cermak <mcermak@redhat.com>

View File

@ -0,0 +1,14 @@
summary: api-break-in-libasm-h
description: ''
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils-devel
- gcc
duration: 48h
extra-summary: /tools/elfutils/Regression/api-break-in-libasm-h
extra-task: /tools/elfutils/Regression/api-break-in-libasm-h

View File

@ -0,0 +1,39 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/api-break-in-libasm-h
# Description: api-break-in-libasm-h
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 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
rlRun "test -f /usr/include/elfutils/libasm.h"
rlRun "gcc -I/usr/include/elfutils -c test.c"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,6 @@
#include <libelf.h>
#include <gelf.h>
#include <libasm.h>

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz1059897-Support-64-bit-SYM64-symbol-table
# Description: Test for BZ#1059897 (Support 64-bit /SYM64/ symbol table)
# Author: Vaclav Kadlcik <vkadlcik@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2014 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz1059897-Support-64-bit-SYM64-symbol-table
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE libantlr.a.bz2
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Vaclav Kadlcik <vkadlcik@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#1059897 (Support 64-bit /SYM64/ symbol table)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Requires: bzip2" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1059897" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,12 @@
PURPOSE of /tools/elfutils/Regression/bz1059897-Support-64-bit-SYM64-symbol-table
Description: Test for BZ#1059897 (Support 64-bit /SYM64/ symbol table)
Author: Vaclav Kadlcik <vkadlcik@redhat.com>
Bug summary: Support 64-bit /SYM64/ symbol table
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1059897
Verify that a 64-bit symbol table produced on s390x is readable by elfutils
tools. The test is based on Ed Santiago's examples in Bugzilla; a test file
(libantlr.a) is taken from antlr-C++-2.7.7-30.el7.s390x.rpm. Mark Wielaard
mentioned another test included in the upstream; it gets processed within
../../testsuite (which runs the complete upstream testsuite) so its omission
here is intentional.

View File

@ -0,0 +1,23 @@
summary: Test for BZ#1059897 (Support 64-bit /SYM64/ symbol table)
description: |
Bug summary: Support 64-bit /SYM64/ symbol table
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1059897
Verify that a 64-bit symbol table produced on s390x is readable by elfutils
tools. The test is based on Ed Santiago's examples in Bugzilla; a test file
(libantlr.a) is taken from antlr-C++-2.7.7-30.el7.s390x.rpm. Mark Wielaard
mentioned another test included in the upstream; it gets processed within
../../testsuite (which runs the complete upstream testsuite) so its omission
here is intentional.
contact:
- Vaclav Kadlcik <vkadlcik@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- bzip2
duration: 5m
extra-summary: /tools/elfutils/Regression/bz1059897-Support-64-bit-SYM64-symbol-table
extra-task: /tools/elfutils/Regression/bz1059897-Support-64-bit-SYM64-symbol-table

View File

@ -0,0 +1,64 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz1059897-Support-64-bit-SYM64-symbol-table
# Description: Test for BZ#1059897 (Support 64-bit /SYM64/ symbol table)
# Author: Vaclav Kadlcik <vkadlcik@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2014 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"
TEST_ARCHIVE_1='libantlr.a' # see PURPOSE & Bugzilla
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp ${TEST_ARCHIVE_1}.bz2 $TmpDir" 0 "Copying test files"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "bunzip2 ${TEST_ARCHIVE_1}.bz2"
rlAssertExists "$TEST_ARCHIVE_1"
rlRun -s "eu-ar t $TEST_ARCHIVE_1" 0 "Checking eu-ar runs"
rlAssertExists "$rlRun_LOG"
rlAssertGrep '^/SYM64/$' "$rlRun_LOG"
rlAssertGrep '^ANTLRUtil\.o$' "$rlRun_LOG"
rlRun -s "eu-readelf -a $TEST_ARCHIVE_1" 0 "Checking eu-readelf runs"
rlAssertExists "$rlRun_LOG"
rlAssertGrep '^ELF Header:$' "$rlRun_LOG"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,65 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz1371517-eu-stack-killed-by-SIGABRT-processing-gcore
# Description: Test for BZ#1371517 (eu-stack killed by SIGABRT processing gcore)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz1371517-eu-stack-killed-by-SIGABRT-processing-gcore
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#1371517 (eu-stack killed by SIGABRT processing gcore)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Requires: gdb" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1371517" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/bz1371517-eu-stack-killed-by-SIGABRT-processing-gcore
Description: Test for BZ#1371517 (eu-stack killed by SIGABRT processing gcore)
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: eu-stack killed by SIGABRT processing gcore created core file
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1371517

View File

@ -0,0 +1,16 @@
summary: Test for BZ#1371517 (eu-stack killed by SIGABRT processing gcore)
description: |
Bug summary: eu-stack killed by SIGABRT processing gcore created core file
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1371517
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- gdb
duration: 48h
extra-summary: /tools/elfutils/Regression/bz1371517-eu-stack-killed-by-SIGABRT-processing-gcore
extra-task: /tools/elfutils/Regression/bz1371517-eu-stack-killed-by-SIGABRT-processing-gcore

View File

@ -0,0 +1,72 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz1371517-eu-stack-killed-by-SIGABRT-processing-gcore
# Description: Test for BZ#1371517 (eu-stack killed by SIGABRT processing gcore)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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
rlJournalStart
rlPhaseStartSetup
rlRun "rpm -q elfutils"
rlRun "rpm -q gdb"
rlRun "TMPD=\$(mktemp -d)"
rlRun "pushd $TMPD"
rlPhaseEnd
rlPhaseStart FAIL "Build an unstripped binary"
# ... so that we don't need to rely on the infra providing us with
# a (coreutils-) debuginfo package.
echo -e "#include <unistd.h>\nint main () { sleep(100); return 0; }" | gcc -g -xc -o sleep100 -
rlRun "file sleep100 | fgrep 'not stripped'"
rlPhaseEnd
rlPhaseStartTest
./sleep100 &
SLEEP_PID=$!
rlRun "gcore $SLEEP_PID"
# On some arches, such as aarch64, or s390x, eu-stack doesn't end at some
# reasonable point, when printing the trace, and goes across main, to
# __libc_start_main and even higher and then finally complains about
# "no matching address range". But we don't want to be so strict to check
# for this right now. Mark Wielaard says it is okay, so I trust him ...
# Following assert fails when we get SEGV, which would be bz1371517, which
# reproduces e.g. on f25 using elfutils-0.166-2.fc25, or on rhel-7.3
# using elfutils-0.166-2.el7.
rlRun "eu-stack --executable=./sleep100 --core=core.$SLEEP_PID > output.txt" 0,1
# Print the output. Yeah, this could be done using tee or something in
# the above line and play games with exitcodes within a pipe chain, but
# this actually is https://en.wikipedia.org/wiki/KISS_principle :)
rlRun "cat output.txt"
# ... we do want to check at least that "main" was listed in the trace.
rlRun "awk {'print \$3'} output.txt | grep ^main$"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TMPD"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz1717349-vaguely-related-SEGV
# Description: bz1717349-vaguely-related-SEGV
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz1717349-vaguely-related-SEGV
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE qat_c3xxx.ko
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: bz1717349-vaguely-related-SEGV" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1717349" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/elfutils/Regression/bz1717349-vaguely-related-SEGV
Description: bz1717349-vaguely-related-SEGV
Author: Martin Cermak <mcermak@redhat.com>

View File

@ -0,0 +1,13 @@
summary: bz1717349-vaguely-related-SEGV
description: ''
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 48h
extra-summary: /tools/elfutils/Regression/bz1717349-vaguely-related-SEGV
extra-task: /tools/elfutils/Regression/bz1717349-vaguely-related-SEGV

View File

@ -0,0 +1,42 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz1717349-vaguely-related-SEGV
# Description: bz1717349-vaguely-related-SEGV
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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
# This works with base rhel eu-strip, as well as with various SCL versions of it. Convenience :)
rlRun "which eu-strip"
rlRun "rpm -qf `which eu-strip`"
# Test: SEGV is considered a FAIL (reproduces with elfutils-0.176-4.el8), whereas fixed version exists with 0)
rlRun "eu-strip --remove-comment --reloc-debug-sections -f qat_c3xxx.ko.debug qat_c3xxx.ko"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz806474-eu-unstrip-unwilling-to-reassembled-corrupted
# Description: Test for BZ#806474 (eu-unstrip unwilling to reassembled corrupted)
# Author: Vaclav Kadlcik <vkadlcik@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2014 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz806474-eu-unstrip-unwilling-to-reassembled-corrupted
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE ld.bz2 ld.debug.bz2
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Vaclav Kadlcik <vkadlcik@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#806474 (eu-unstrip unwilling to reassembled corrupted)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils bzip2" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 806474" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,9 @@
PURPOSE of /tools/elfutils/Regression/bz806474-eu-unstrip-unwilling-to-reassembled-corrupted
Description: Test for BZ#806474 (eu-unstrip unwilling to reassembled corrupted)
Author: Vaclav Kadlcik <vkadlcik@redhat.com>
Bug summary: eu-unstrip unwilling to reassembled corrupted separate debuginfo
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=806474
Make sure eu-unstrip can merge (when forced) a stripped binary and a separate
debuginfo in spite of the debuginfo was produced by a buggy version of binutils
(see BZ#698005). The test is based on Mark Wielaard's suggestion in Bugzilla.

View File

@ -0,0 +1,20 @@
summary: Test for BZ#806474 (eu-unstrip unwilling to reassembled corrupted)
description: |
Bug summary: eu-unstrip unwilling to reassembled corrupted separate debuginfo
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=806474
Make sure eu-unstrip can merge (when forced) a stripped binary and a separate
debuginfo in spite of the debuginfo was produced by a buggy version of binutils
(see BZ#698005). The test is based on Mark Wielaard's suggestion in Bugzilla.
contact:
- Vaclav Kadlcik <vkadlcik@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- bzip2
duration: 5m
extra-summary: /tools/elfutils/Regression/bz806474-eu-unstrip-unwilling-to-reassembled-corrupted
extra-task: /tools/elfutils/Regression/bz806474-eu-unstrip-unwilling-to-reassembled-corrupted

View File

@ -0,0 +1,74 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz806474-eu-unstrip-unwilling-to-reassembled-corrupted
# Description: Test for BZ#806474 (eu-unstrip unwilling to reassembled corrupted)
# Author: Vaclav Kadlcik <vkadlcik@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2014 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"
TEST_STRIPPED='ld' # see PURPOSE, BZ#806474, and 698005
TEST_DEBUGIFO='ld.debug' # ditto
TEST_MERGED='ld-debug'
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp ${TEST_STRIPPED}.bz2 ${TEST_DEBUGIFO}.bz2 $TmpDir" 0 "Copying test files"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "bunzip2 ${TEST_STRIPPED}.bz2" 0
rlRun "bunzip2 ${TEST_DEBUGIFO}.bz2" 0
rlAssertExists "$TEST_STRIPPED"
rlAssertExists "$TEST_DEBUGIFO"
rlRun -t -s "eu-unstrip -o $TEST_MERGED $TEST_STRIPPED $TEST_DEBUGIFO" 1 'unstrip with corrupted debuginfo'
rlAssertNotExists "$TEST_MERGED"
rlAssertGrep '^STDERR:.*ELF header identification.*different, use --force' "$rlRun_LOG"
rlRun -t -s "eu-unstrip --force -o $TEST_MERGED $TEST_STRIPPED $TEST_DEBUGIFO" 0 'Forced unstrip with corrupted debuginfo'
rlAssertExists "$TEST_MERGED"
rlAssertGrep '^STDERR:.*WARNING:.*ELF header identification.*different' "$rlRun_LOG"
rlRun -t -s "file $TEST_MERGED" 0 'Detecting type of merged file'
rlAssertGrep '^STDOUT:.*not stripped$' "$rlRun_LOG"
rlRun -s "eu-objdump -s $TEST_MERGED" 0 'Running objdump on merged file'
rlAssertGrep '^Contents of section .debug_info:' "$rlRun_LOG"
rlAssertGrep '^Contents of section .debug_line:' "$rlRun_LOG"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz917874-RHDT-Assertion-failure-in-eu-addr2line
# Description: Test for BZ#917874 ([RHDT] Assertion failure in eu-addr2line)
# Author: Dagmar Prokopova <dprokopo@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz917874-RHDT-Assertion-failure-in-eu-addr2line
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE a.out
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Dagmar Prokopova <dprokopo@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#917874 ([RHDT] Assertion failure in eu-addr2line)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 917874" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/bz917874-RHDT-Assertion-failure-in-eu-addr2line
Description: Test for BZ#917874 ([RHDT] Assertion failure in eu-addr2line)
Author: Dagmar Prokopova <dprokopo@redhat.com>
Bug summary: [RHDT] Assertion failure in eu-addr2line
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=917874

View File

@ -0,0 +1,15 @@
summary: Test for BZ#917874 ([RHDT] Assertion failure in eu-addr2line)
description: |
Bug summary: [RHDT] Assertion failure in eu-addr2line
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=917874
contact:
- Dagmar Prokopova <dprokopo@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 5m
extra-summary: /tools/elfutils/Regression/bz917874-RHDT-Assertion-failure-in-eu-addr2line
extra-task: /tools/elfutils/Regression/bz917874-RHDT-Assertion-failure-in-eu-addr2line

View File

@ -0,0 +1,60 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz917874-RHDT-Assertion-failure-in-eu-addr2line
# Description: Test for BZ#917874 ([RHDT] Assertion failure in eu-addr2line)
# Author: Dagmar Prokopova <dprokopo@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
# This was fixed in devtoolset-2-elfutils-0.155-6.
PACKAGES=(elfutils)
rlJournalStart
rlPhaseStartSetup
for p in "${PACKAGES[@]}"; do
rlAssertRpm "$p" || yum -y install "$p"
done; unset p
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
# We need the reproducer.
cp -v a.out $TmpDir
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
# This should succeed without assertion fail.
rlRun "eu-addr2line -e a.out 0x400589" 0
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz927626-RHDT-Stack-overflow-in-dwarf-getsrclines
# Description: Test for BZ#927626 ([RHDT] Stack overflow in dwarf_getsrclines)
# Author: Dagmar Prokopova <dprokopo@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz927626-RHDT-Stack-overflow-in-dwarf-getsrclines
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE vpoolengineUS.bz2
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Dagmar Prokopova <dprokopo@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#927626 ([RHDT] Stack overflow in dwarf_getsrclines)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 30m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils bzip2 gcc" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 927626" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/bz927626-RHDT-Stack-overflow-in-dwarf-getsrclines
Description: Test for BZ#927626 ([RHDT] Stack overflow in dwarf_getsrclines)
Author: Dagmar Prokopova <dprokopo@redhat.com>
Bug summary: [RHDT] Stack overflow in dwarf_getsrclines
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=927626

View File

@ -0,0 +1,17 @@
summary: Test for BZ#927626 ([RHDT] Stack overflow in dwarf_getsrclines)
description: |
Bug summary: [RHDT] Stack overflow in dwarf_getsrclines
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=927626
contact:
- Dagmar Prokopova <dprokopo@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- bzip2
- gcc
duration: 30m
extra-summary: /tools/elfutils/Regression/bz927626-RHDT-Stack-overflow-in-dwarf-getsrclines
extra-task: /tools/elfutils/Regression/bz927626-RHDT-Stack-overflow-in-dwarf-getsrclines

View File

@ -0,0 +1,56 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz927626-RHDT-Stack-overflow-in-dwarf-getsrclines
# Description: Test for BZ#927626 ([RHDT] Stack overflow in dwarf_getsrclines)
# Author: Dagmar Prokopova <dprokopo@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
# This was fixed in elfutils-0.155-7.
PACKAGE="elfutils"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
# We need the reproducer.
cp -v vpoolengineUS.bz2 $TmpDir
rlRun "pushd $TmpDir"
rlRun "bunzip2 vpoolengineUS.bz2"
rlPhaseEnd
rlPhaseStartTest
# No segfault should appear.
rlRun "eu-addr2line -e vpoolengineUS 0x6682f7" 0
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/bz967130-RHDT-eu-unstrip-M-abort-on-socket-line
# Description: Test for BZ#967130 ([RHDT] eu-unstrip -M abort on socket line)
# Author: Dagmar Prokopova <dprokopo@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/bz967130-RHDT-eu-unstrip-M-abort-on-socket-line
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE proc_maps.txt
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Dagmar Prokopova <dprokopo@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#967130 ([RHDT] eu-unstrip -M abort on socket line)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 967130" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/bz967130-RHDT-eu-unstrip-M-abort-on-socket-line
Description: Test for BZ#967130 ([RHDT] eu-unstrip -M abort on socket line)
Author: Dagmar Prokopova <dprokopo@redhat.com>
Bug summary: [RHDT] eu-unstrip -M abort on socket: line
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=967130

View File

@ -0,0 +1,15 @@
summary: Test for BZ#967130 ([RHDT] eu-unstrip -M abort on socket line)
description: |
Bug summary: [RHDT] eu-unstrip -M abort on socket: line
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=967130
contact:
- Dagmar Prokopova <dprokopo@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 5m
extra-summary: /tools/elfutils/Regression/bz967130-RHDT-eu-unstrip-M-abort-on-socket-line
extra-task: /tools/elfutils/Regression/bz967130-RHDT-eu-unstrip-M-abort-on-socket-line

View File

@ -0,0 +1,82 @@
00400000-024aa000 r-xp 00000000 08:02 159659 /opt/MessageRouter/bin/msgrouter_dbg
026aa000-026b2000 rwxp 020aa000 08:02 159659 /opt/MessageRouter/bin/msgrouter_dbg
026b2000-026bf000 rwxp 00000000 00:00 0
0335a000-03e6f000 rwxp 00000000 00:00 0 [heap]
2b7b2d6fa000-2b7b2d71a000 r-xp 00000000 08:02 128802 /lib64/ld-2.12.so
2b7b2d71a000-2b7b2d89c000 rwxp 00000000 00:00 0
2b7b2d919000-2b7b2d91a000 r-xp 0001f000 08:02 128802 /lib64/ld-2.12.so
2b7b2d91a000-2b7b2d91b000 rwxp 00020000 08:02 128802 /lib64/ld-2.12.so
2b7b2d91b000-2b7b2d91c000 rwxp 00000000 00:00 0
2b7b2d91c000-2b7b2d933000 r-xp 00000000 08:02 128833 /lib64/libpthread-2.12.so
2b7b2d933000-2b7b2db32000 ---p 00017000 08:02 128833 /lib64/libpthread-2.12.so
2b7b2db32000-2b7b2db33000 r-xp 00016000 08:02 128833 /lib64/libpthread-2.12.so
2b7b2db33000-2b7b2db34000 rwxp 00017000 08:02 128833 /lib64/libpthread-2.12.so
2b7b2db34000-2b7b2db39000 rwxp 00000000 00:00 0
2b7b2db39000-2b7b2db40000 r-xp 00000000 08:02 128837 /lib64/librt-2.12.so
2b7b2db40000-2b7b2dd3f000 ---p 00007000 08:02 128837 /lib64/librt-2.12.so
2b7b2dd3f000-2b7b2dd40000 r-xp 00006000 08:02 128837 /lib64/librt-2.12.so
2b7b2dd40000-2b7b2dd41000 rwxp 00007000 08:02 128837 /lib64/librt-2.12.so
2b7b2dd41000-2b7b2dd43000 r-xp 00000000 08:02 128815 /lib64/libdl-2.12.so
2b7b2dd43000-2b7b2df43000 ---p 00002000 08:02 128815 /lib64/libdl-2.12.so
2b7b2df43000-2b7b2df44000 r-xp 00002000 08:02 128815 /lib64/libdl-2.12.so
2b7b2df44000-2b7b2df45000 rwxp 00003000 08:02 128815 /lib64/libdl-2.12.so
2b7b2df45000-2b7b2e032000 r-xp 00000000 08:02 276647 /usr/lib64/libboost_regex.so.5
2b7b2e032000-2b7b2e232000 ---p 000ed000 08:02 276647 /usr/lib64/libboost_regex.so.5
2b7b2e232000-2b7b2e239000 rwxp 000ed000 08:02 276647 /usr/lib64/libboost_regex.so.5
2b7b2e239000-2b7b2e23a000 rwxp 00000000 00:00 0
2b7b2e23a000-2b7b2e322000 r-xp 00000000 08:02 260385 /usr/lib64/libstdc++.so.6.0.13
2b7b2e322000-2b7b2e522000 ---p 000e8000 08:02 260385 /usr/lib64/libstdc++.so.6.0.13
2b7b2e522000-2b7b2e529000 r-xp 000e8000 08:02 260385 /usr/lib64/libstdc++.so.6.0.13
2b7b2e529000-2b7b2e52b000 rwxp 000ef000 08:02 260385 /usr/lib64/libstdc++.so.6.0.13
2b7b2e52b000-2b7b2e540000 rwxp 00000000 00:00 0
2b7b2e540000-2b7b2e5c3000 r-xp 00000000 08:02 128817 /lib64/libm-2.12.so
2b7b2e5c3000-2b7b2e7c2000 ---p 00083000 08:02 128817 /lib64/libm-2.12.so
2b7b2e7c2000-2b7b2e7c3000 r-xp 00082000 08:02 128817 /lib64/libm-2.12.so
2b7b2e7c3000-2b7b2e7c4000 rwxp 00083000 08:02 128817 /lib64/libm-2.12.so
2b7b2e7c4000-2b7b2e7da000 r-xp 00000000 08:02 136724 /lib64/libgcc_s-4.4.6-20110824.so.1
2b7b2e7da000-2b7b2e9d9000 ---p 00016000 08:02 136724 /lib64/libgcc_s-4.4.6-20110824.so.1
2b7b2e9d9000-2b7b2e9da000 rwxp 00015000 08:02 136724 /lib64/libgcc_s-4.4.6-20110824.so.1
2b7b2e9da000-2b7b2e9db000 rwxp 00000000 00:00 0
2b7b2e9db000-2b7b2eb72000 r-xp 00000000 08:02 128809 /lib64/libc-2.12.so
2b7b2eb72000-2b7b2ed72000 ---p 00197000 08:02 128809 /lib64/libc-2.12.so
2b7b2ed72000-2b7b2ed76000 r-xp 00197000 08:02 128809 /lib64/libc-2.12.so
2b7b2ed76000-2b7b2ed77000 rwxp 0019b000 08:02 128809 /lib64/libc-2.12.so
2b7b2ed77000-2b7b2ed7c000 rwxp 00000000 00:00 0
2b7b2ed7c000-2b7b2eebb000 r-xp 00000000 08:02 276645 /usr/lib64/libicuuc.so.42.1
2b7b2eebb000-2b7b2f0bb000 ---p 0013f000 08:02 276645 /usr/lib64/libicuuc.so.42.1
2b7b2f0bb000-2b7b2f0cc000 rwxp 0013f000 08:02 276645 /usr/lib64/libicuuc.so.42.1
2b7b2f0cc000-2b7b2f0ce000 rwxp 00000000 00:00 0
2b7b2f0ce000-2b7b2f256000 r-xp 00000000 08:02 276635 /usr/lib64/libicui18n.so.42.1
2b7b2f256000-2b7b2f456000 ---p 00188000 08:02 276635 /usr/lib64/libicui18n.so.42.1
2b7b2f456000-2b7b2f463000 rwxp 00188000 08:02 276635 /usr/lib64/libicui18n.so.42.1
2b7b2f463000-2b7b2f465000 rwxp 00000000 00:00 0
2b7b2f465000-2b7b303aa000 r-xp 00000000 08:02 276633 /usr/lib64/libicudata.so.42.1
2b7b303aa000-2b7b305a9000 ---p 00f45000 08:02 276633 /usr/lib64/libicudata.so.42.1
2b7b305a9000-2b7b305aa000 rwxp 00f44000 08:02 276633 /usr/lib64/libicudata.so.42.1
2b7b305aa000-2b7b313f5000 rwxp 00000000 00:00 0
2b7b313f5000-2b7b313f6000 ---p 00000000 00:00 0
2b7b313f6000-2b7b31df6000 rwxp 00000000 00:00 0
2b7b31df6000-2b7b31df7000 ---p 00000000 00:00 0
2b7b31df7000-2b7b327f7000 rwxp 00000000 00:00 0
2b7b34000000-2b7b34021000 rwxp 00000000 00:00 0
2b7b34021000-2b7b38000000 ---p 00000000 00:00 0
2b7b38000000-2b7b38282000 rwxp 00000000 00:00 0
2b7b38282000-2b7b38302000 rwxs 00000000 00:06 493872 socket:[493872]
2b7b38302000-2b7b38312000 rwxs 00000000 00:06 493872 socket:[493872]
2b7b38312000-2b7b38b12000 r-xs 00000000 00:06 493872 socket:[493872]
2b7b38b12000-2b7b38b22000 rwxs 00000000 00:06 493872 socket:[493872]
2b7b38b22000-2b7b39322000 rwxs 00000000 00:06 493872 socket:[493872]
2b7b39322000-2b7b39323000 ---p 00000000 00:00 0
2b7b39323000-2b7b39d23000 rwxp 00000000 00:00 0
2b7b3c000000-2b7b3c021000 rwxp 00000000 00:00 0
2b7b3c021000-2b7b40000000 ---p 00000000 00:00 0
2b7b40000000-2b7b40021000 rwxp 00000000 00:00 0
2b7b40021000-2b7b44000000 ---p 00000000 00:00 0
2b7b44010000-2b7b4401c000 r-xp 00000000 08:02 128825 /lib64/libnss_files-2.12.so
2b7b4401c000-2b7b4421c000 ---p 0000c000 08:02 128825 /lib64/libnss_files-2.12.so
2b7b4421c000-2b7b4421d000 r-xp 0000c000 08:02 128825 /lib64/libnss_files-2.12.so
2b7b4421d000-2b7b4421e000 rwxp 0000d000 08:02 128825 /lib64/libnss_files-2.12.so
2b7b4439f000-2b7b45ea1000 rwxp 00000000 00:00 0
7fff26cf7000-7fff26d0c000 rwxp 00000000 00:00 0 [stack]
7fff26dff000-7fff26e00000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

View File

@ -0,0 +1,53 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/bz967130-RHDT-eu-unstrip-M-abort-on-socket-line
# Description: Test for BZ#967130 ([RHDT] eu-unstrip -M abort on socket line)
# Author: Dagmar Prokopova <dprokopo@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# 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, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="elfutils"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
# We need a reproducer.
cp -v proc_maps.txt $TmpDir
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
#No Abort here.
rlRun "eu-unstrip -n -M proc_maps.txt " 0
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/elfutils-segmentation-fault-in-elf64-xlatetom-in
# Description: elfutils-segmentation-fault-in-elf64-xlatetom-in
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/elfutils-segmentation-fault-in-elf64-xlatetom-in
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE POC2
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: elfutils-segmentation-fault-in-elf64-xlatetom-in" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1680048" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/elfutils-segmentation-fault-in-elf64-xlatetom-in
Description: elfutils-segmentation-fault-in-elf64-xlatetom-in
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: elfutils: segmentation fault in elf64_xlatetom in libelf/elf32_xlatetom.c [rhdts-8]
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1680048

View File

@ -0,0 +1,15 @@
summary: elfutils-segmentation-fault-in-elf64-xlatetom-in
description: |
Bug summary: elfutils: segmentation fault in elf64_xlatetom in libelf/elf32_xlatetom.c [rhdts-8]
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1680048
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 48h
extra-summary: /tools/elfutils/Regression/elfutils-segmentation-fault-in-elf64-xlatetom-in
extra-task: /tools/elfutils/Regression/elfutils-segmentation-fault-in-elf64-xlatetom-in

View File

@ -0,0 +1,39 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/elfutils-segmentation-fault-in-elf64-xlatetom-in
# Description: elfutils-segmentation-fault-in-elf64-xlatetom-in
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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
# failure is 139 - SEGV, 2 is okay
rlRun "eu-stack --core=POC2" 2
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/eu-readelf-reports-machine-type-is-unknown
# Description: Test for BZ#1724350 (eu-readelf reports machine type is <unknown>)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/eu-readelf-reports-machine-type-is-unknown
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#1724350 (eu-readelf reports machine type is <unknown>)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils linux-firmware" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1724350" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/eu-readelf-reports-machine-type-is-unknown
Description: Test for BZ#1724350 (eu-readelf reports machine type is <unknown>)
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: eu-readelf reports machine type is <unknown> on firmware blobs
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1724350

View File

@ -0,0 +1,16 @@
summary: Test for BZ#1724350 (eu-readelf reports machine type is <unknown>)
description: |
Bug summary: eu-readelf reports machine type is <unknown> on firmware blobs
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1724350
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- linux-firmware
duration: 48h
extra-summary: /tools/elfutils/Regression/eu-readelf-reports-machine-type-is-unknown
extra-task: /tools/elfutils/Regression/eu-readelf-reports-machine-type-is-unknown

View File

@ -0,0 +1,50 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/eu-readelf-reports-machine-type-is-unknown
# Description: Test for BZ#1724350 (eu-readelf reports machine type is <unknown>)
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 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"
__showgreenlight ()
{
rlJournalStart
rlPhaseStartTest
rlRun "echo \"Irrelevant for $X_SCLS\""
rlPhaseEnd
rlJournalEnd
exit 0
}
echo $X_SCLS | fgrep -q gcc-toolset-9 && __showgreenlight
rlJournalStart
rlPhaseStartTest
rlRun "find /usr/lib/firmware/ -name '*.nffw' | xargs eu-readelf -h | awk '/Machine/ {print \$NF}' | fgrep '<unknown>'" 1
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/eu-strip-generates-empty-output-if
# Description: eu-strip-generates-empty-output-if
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/eu-strip-generates-empty-output-if
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: eu-strip-generates-empty-output-if" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1455620" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/eu-strip-generates-empty-output-if
Description: eu-strip-generates-empty-output-if
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: eu-strip generates empty output if there is nothing to do
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1455620

View File

@ -0,0 +1,15 @@
summary: eu-strip-generates-empty-output-if
description: |
Bug summary: eu-strip generates empty output if there is nothing to do
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1455620
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 48h
extra-summary: /tools/elfutils/Regression/eu-strip-generates-empty-output-if
extra-task: /tools/elfutils/Regression/eu-strip-generates-empty-output-if

View File

@ -0,0 +1,52 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/eu-strip-generates-empty-output-if
# Description: eu-strip-generates-empty-output-if
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "tmp=\$(mktemp -d)"
rlRun "pushd $tmp"
rlPhaseEnd
rlPhaseStartTest
rlRun "echo 'int main() { return 1; }' > test.c"
rlRun "gcc test.c"
rlRun "eu-strip -g -o test ./a.out"
rlRun "test $(stat --format='%s' test) -gt 0"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $tmp"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,65 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
# Description: eu-strip-invalid-section-alignment-while
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE testprog.c testprog2.c
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: eu-strip-invalid-section-alignment-while" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Requires: gcc" >> $(METADATA)
@echo "Requires: libaio-devel" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1303845" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
Description: eu-strip-invalid-section-alignment-while
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: eu-strip: invalid section alignment while stripping debuginfo from executables
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1303845

View File

@ -0,0 +1,17 @@
summary: eu-strip-invalid-section-alignment-while
description: |
Bug summary: eu-strip: invalid section alignment while stripping debuginfo from executables
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1303845
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- gcc
- libaio-devel
duration: 5m
extra-summary: /tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
extra-task: /tools/elfutils/Regression/eu-strip-invalid-section-alignment-while

View File

@ -0,0 +1,66 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
# Description: eu-strip-invalid-section-alignment-while
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 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
rlPhaseStartSetup
for p in gcc eu-strip; do
rlRun "which $p"
rlRun "rpm -qf $( which $p )"
done
rlRun "tmp=$(mktemp -d)"
rlRun "cp testprog.c testprog2.c $tmp"
rlRun "pushd $tmp"
rlPhaseEnd
if rpm -q libaio-devel; then
rlPhaseStart FAIL customer-testcase
# https://bugzilla.redhat.com/show_bug.cgi?id=1304870
rlRun "gcc testprog.c -laio -g -o testprog"
rlRun "eu-strip testprog"
rlPhaseEnd
fi
rlPhaseStart FAIL upstream-testcase
rlRun "gcc -g testprog2.c -o testprog2"
# Testcase for this fix should at some point reach the upstream and
# the rhel package too. After that this QE testcase should be obsoleted.
# Please, refer to:
# https://lists.fedorahosted.org/archives/list/elfutils-devel@lists.fedorahosted.org/message/OP6AXOW5PF6GPB4KN7XQZSZ5JY6RK52U/
rlRun "eu-strip testprog2"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $tmp"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,16 @@
Owner: Martin Cermak <mcermak@redhat.com>
Name: /tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
TestVersion: 1.0
Path: /mnt/tests/tools/elfutils/Regression/eu-strip-invalid-section-alignment-while
Description: eu-strip-invalid-section-alignment-while
Type: Regression
TestTime: 1d
RunFor: elfutils
Requires: elfutils
Requires: gcc
Requires: libaio-devel
Priority: Normal
License: GPLv2+
Confidential: no
Destructive: no
Bug: 1303845

View File

@ -0,0 +1,115 @@
/*
* aio-dio-subblock-eof-read - test AIO read of last block of DIO file
* Copyright (C) 2005 Jeff Moyer
*
* 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, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* Code taken from an example posted to linux-aio at kvack.org
* http://marc.info/?l=linux-aio&m=112263621431161&w=2
* Original Author: Drangon Zhou
* Munged & rewritten by Jeff Moyer.
*
* Description: This source code implements a test to ensure that an AIO
* read of the last block in a file opened with O_DIRECT returns the proper
* amount of data. In the past, there was a bug that resulted in a return
* value of the requested block size, when in fact there was only a fraction
* of that data available. Thus, if the last data block contained 300 bytes
* worth of data, and the user issued a 4k read, we want to ensure that
* the return value is 300, not 4k.
*/
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <libaio.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
/* Create a file of a size that is not a multiple of block size */
#define FILE_SIZE 300
#define fail(fmt , args...) \
do {\
printf(fmt , ##args);\
exit(1);\
} while (0)
static unsigned char buffer[4096] __attribute((aligned (4096)));
int
main(int argc, char **argv)
{
int ret;
int fd;
const char *filename;
struct iocb myiocb;
struct iocb *cb = &myiocb;
io_context_t ioctx;
struct io_event ie;
if (argc != 2)
fail("only arg should be file name");
filename = argv[1];
fd = open(filename, O_CREAT|O_RDWR|O_DIRECT, 0600);
if (fd < 0)
fail("open returned error %d\n", errno);
ret = ftruncate(fd, FILE_SIZE);
if (ret < 0)
fail("truncate returned error %d\n", errno);
/* <1> use normal disk read, this should be ok */
ret = read(fd, buffer, 4096);
if (ret != FILE_SIZE)
fail("buffered read returned %d, should be 300\n", ret);
/* <2> use AIO disk read, it sees error. */
memset(&myiocb, 0, sizeof(myiocb));
cb->data = 0;
cb->key = 0;
cb->aio_lio_opcode = IO_CMD_PREAD;
cb->aio_reqprio = 0;
cb->aio_fildes = fd;
cb->u.c.buf = buffer;
cb->u.c.nbytes = 4096;
cb->u.c.offset = 0;
ret = io_queue_init(1, &ioctx);
if (ret != 0)
fail("io_queue_init returned error %d\n", ret);
ret = io_submit(ioctx, 1, &cb);
if (ret != 1)
fail("io_submit returned error %d\n", ret);
ret = io_getevents(ioctx, 1, 1, &ie, NULL);
if (ret != 1)
fail("io_getevents returned %d\n", ret);
/*
* If all goes well, we should see 300 bytes read. If things
* are broken, we may very well see a result of 4k.
*/
if (ie.res != FILE_SIZE)
fail("AIO read of last block in file returned %ld bytes, "
"expected %d\n", ie.res, FILE_SIZE);
printf("AIO read of last block in file succeeded.\n");
return 0;
}

View File

@ -0,0 +1,12 @@
static unsigned char buffer[4096] __attribute((aligned (4096)));
char
f (int i)
{
return buffer[i];
}
int
main (int argc, char **argv)
{
return buffer[argc] == 0;
}

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/initial-DWARF5-support-in-eu-readelf
# Description: initial-DWARF5-support-in-eu-readelf
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/initial-DWARF5-support-in-eu-readelf
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE test3-clang.o
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: initial-DWARF5-support-in-eu-readelf" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1472979" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/initial-DWARF5-support-in-eu-readelf
Description: initial-DWARF5-support-in-eu-readelf
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: DWARF5 support in eu-readelf
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1472979

View File

@ -0,0 +1,15 @@
summary: initial-DWARF5-support-in-eu-readelf
description: |
Bug summary: DWARF5 support in eu-readelf
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1472979
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
duration: 48h
extra-summary: /tools/elfutils/Regression/initial-DWARF5-support-in-eu-readelf
extra-task: /tools/elfutils/Regression/initial-DWARF5-support-in-eu-readelf

View File

@ -0,0 +1,36 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/initial-DWARF5-support-in-eu-readelf
# Description: initial-DWARF5-support-in-eu-readelf
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 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
rlJournalStart
rlPhaseStartTest
rlRun "eu-readelf --debug-dump=info test3-clang.o | fgrep '???'" 1
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/require-compression-libraries
# Description: require-compression-libraries
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/require-compression-libraries
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE t.c
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: require-compression-libraries" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils gcc" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1873413" >> $(METADATA)
@echo "Releases: -RHEL4 -RHEL6 -RHEL7 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,5 @@
PURPOSE of /tools/elfutils/Regression/require-compression-libraries
Description: require-compression-libraries
Author: Martin Cermak <mcermak@redhat.com>
Bug summary: gcc-toolset-10-elfutils-devel doesn't have Requires and/or links against all supported compression libraries for libdw
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1873413

View File

@ -0,0 +1,16 @@
summary: require-compression-libraries
description: |
Bug summary: gcc-toolset-10-elfutils-devel doesn't have Requires and/or links against all supported compression libraries for libdw
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1873413
contact:
- Martin Cermak <mcermak@redhat.com>
component:
- elfutils
test: ./runtest.sh
framework: beakerlib
recommend:
- elfutils
- gcc
duration: 48h
extra-summary: /tools/elfutils/Regression/require-compression-libraries
extra-task: /tools/elfutils/Regression/require-compression-libraries

View File

@ -0,0 +1,38 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/elfutils/Regression/require-compression-libraries
# Description: require-compression-libraries
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2020 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
rlRun "gcc -o t t.c -ldw"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,5 @@
#include <elfutils/libdwelf.h>
int main () { dwelf_elf_begin (0); }

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/elfutils/Regression/robustify-elfutils-0-172-against-bad-DWARF5-data
# Description: Test for BZ#1593328 (Robustify elfutils 0.172 against bad DWARF5 data)
# 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/elfutils/Regression/robustify-elfutils-0-172-against-bad-DWARF5-data
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE crashes
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test for BZ#1593328 (Robustify elfutils 0.172 against bad DWARF5 data)" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 48h" >> $(METADATA)
@echo "RunFor: elfutils" >> $(METADATA)
@echo "Requires: elfutils" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Bug: 1593328" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

Some files were not shown because too many files have changed in this diff Show More