Move downstream tests to a separate repository
The tests have been moved to https://src.fedoraproject.org/tests/annobin The move will enable more flexible downstream usage, namely in RHEL testing.
This commit is contained in:
parent
5bd179bd21
commit
ec61de605c
@ -1,5 +1,6 @@
|
||||
summary: CI Gating Plan
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/annobin.git
|
||||
execute:
|
||||
how: tmt
|
||||
|
@ -1,2 +0,0 @@
|
||||
The test's Makefiles are not used in Fedora CI infrastructure. But are kept here
|
||||
for backward compatibility with traditional beakerlib test harness in RHEL.
|
@ -1,18 +0,0 @@
|
||||
summary: Test for BZ#1958954 (annobin fails to skip endbr64 entry point check)
|
||||
description: |
|
||||
Bug summary: annobin fails to skip endbr64 entry point check for shared objects
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1958954
|
||||
contact:
|
||||
- Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-annocheck
|
||||
- annobin-plugin-gcc
|
||||
- gcc
|
||||
- redhat-rpm-config
|
||||
duration: 48h
|
||||
extra-summary: /tools/annobin/Regression/annobin-fails-to-skip-endbr64-entry-point-check
|
||||
extra-task: /tools/annobin/Regression/annobin-fails-to-skip-endbr64-entry-point-check
|
@ -1,51 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/annobin-fails-to-skip-endbr64-entry-point-check
|
||||
# Description: Test for BZ#1958954 (annobin fails to skip endbr64 entry point check)
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2021 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 "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "pushd $TmpDir"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "echo 'void f1(void) {}' > f1.c"
|
||||
rlRun "echo 'void f2(void) {}' > f2.c"
|
||||
rlRun "gcc `rpm --eval %build_cflags` -fpic -c f1.c"
|
||||
rlRun "gcc `rpm --eval %build_cflags` -fpic -c f2.c"
|
||||
rlRun "gcc `rpm --eval %build_ldflags` -shared f1.o f2.o"
|
||||
rlRun "annocheck -v --skip-lto a.out"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,14 +0,0 @@
|
||||
summary: identify
|
||||
description: ''
|
||||
contact:
|
||||
- Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- annobin-plugin-gcc
|
||||
- annobin-annocheck
|
||||
duration: 48h
|
||||
extra-summary: /tools/annobin/Regression/identify
|
||||
extra-task: /tools/annobin/Regression/identify
|
@ -1,43 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/identify
|
||||
# Description: identify
|
||||
# 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="annobin"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
|
||||
rlRun "tool_v=$(annocheck --version | awk '/^annocheck: Version/ {print $3}')"
|
||||
rlRun "__RPM=$(rpm --queryformat='%{name}\n' -qf $(man -w annobin))"
|
||||
rlRun "rpm_v=$(rpm -q --queryformat='%{version}\n' $__RPM)"
|
||||
# Following fails for annobin-8.89-2.el8
|
||||
rlRun "[[ "x${tool_v}" == "x${rpm_v}." ]]"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,17 +0,0 @@
|
||||
summary: lto-preprocessor-options
|
||||
description: ''
|
||||
contact:
|
||||
- Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-plugin-gcc
|
||||
- annobin-annocheck
|
||||
- redhat-rpm-config
|
||||
- gcc
|
||||
- redhat-rpm-config
|
||||
duration: 48h
|
||||
extra-summary: /tools/annobin/Regression/lto-preprocessor-options
|
||||
extra-task: /tools/annobin/Regression/lto-preprocessor-options
|
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/lto-preprocessor-options
|
||||
# Description: lto-preprocessor-options
|
||||
# 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="annobin"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
b=`mktemp`
|
||||
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
|
||||
rlRun "cflags=\"$(rpm --eval '%build_cflags')\""
|
||||
rlRun "ldflags=\"$(rpm --eval '%build_ldflags')\""
|
||||
rlRun "echo 'int main (void) { return 0; }' | gcc -xc -o $b $cflags $ldflags -flto - "
|
||||
rlRun "annocheck -v $b"
|
||||
rm $b
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
Binary file not shown.
@ -1,16 +0,0 @@
|
||||
summary: missing-check-for-x86-property-note-content
|
||||
description: |
|
||||
Bug summary: annobin: Missing check for contents of x86 property note
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1991931
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-annocheck
|
||||
duration: 48h
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1991931
|
||||
extra-summary: /tools/annobin/Regression/missing-check-for-x86-property-note-content
|
||||
extra-task: /tools/annobin/Regression/missing-check-for-x86-property-note-content
|
@ -1,40 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/missing-check-for-x86-property-note-content
|
||||
# Description: missing-check-for-x86-property-note-content
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2021 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="annobin"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
rlRun "annocheck main" 1
|
||||
rlRun "annocheck --fixed-format-messages main | \
|
||||
grep '^Hardened: FAIL: test: cf-protection file: main.$'"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,16 +0,0 @@
|
||||
summary: processing-params-in-reverse-order
|
||||
description: |
|
||||
Bug summary: annocheck processes (reports) parameters in reverse order
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1988714
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-annocheck
|
||||
duration: 48h
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1988714
|
||||
extra-summary: /tools/annobin/Regression/processing-params-in-reverse-order
|
||||
extra-task: /tools/annobin/Regression/processing-params-in-reverse-order
|
@ -1,42 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/processing-params-in-reverse-order
|
||||
# Description: processing-params-in-reverse-order
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2021 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="annobin"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
rlRun "TMP=$(mktemp)"
|
||||
rlRun "annocheck --verbose --skip-all --test-stack-prot /bin/bash /bin/cat |& tee $TMP"
|
||||
rlRun "fgrep -i /bin/ $TMP | head -1 | fgrep /bash"
|
||||
rlRun "fgrep -i /bin/ $TMP | tail -1 | fgrep /cat"
|
||||
rlRun "rm -f $TMP"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,18 +0,0 @@
|
||||
summary: segv-when-processing-multiple-params-incl-symlink
|
||||
description: |
|
||||
Bug summary: annocheck segfaults sometimes when processing multiple parameters and symlink is involved
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1988715
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-plugin-gcc
|
||||
- annobin-annocheck
|
||||
- libstdc++
|
||||
duration: 48h
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1988715
|
||||
extra-summary: /tools/annobin/Regression/segv-when-processing-multiple-params-incl-symlink
|
||||
extra-task: /tools/annobin/Regression/segv-when-processing-multiple-params-incl-symlink
|
@ -1,44 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/segv-when-processing-multiple-params-incl-symlink
|
||||
# Description: segv-when-processing-multiple-params-incl-symlink
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2021 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="annobin"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
# This tries to test https://bugzilla.redhat.com/show_bug.cgi?id=1988715#c0
|
||||
# keeping in mind that annocheck will evolve in the future, along its
|
||||
# rules / policies, and the surrounding OS will evolve too. This test
|
||||
# shouldn't report false positives though.
|
||||
rlRun "rpm -qf /usr/lib64/libstdc++.so*"
|
||||
rlRun "annocheck --follow-links --skip-all /usr/lib64/libstdc++.so*"
|
||||
rlRun "annocheck --ignore-links --skip-all /usr/lib64/libstdc++.so*"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,24 +0,0 @@
|
||||
summary: testsuite
|
||||
description: ''
|
||||
contact:
|
||||
- Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-plugin-gcc
|
||||
- annobin-annocheck
|
||||
- binutils-devel
|
||||
- bzip2-devel
|
||||
- dnf
|
||||
- elfutils
|
||||
- elfutils-devel
|
||||
- gcc-c++
|
||||
- gcc-plugin-devel
|
||||
- make
|
||||
- rpm-build
|
||||
- rpm-devel
|
||||
duration: 48h
|
||||
extra-summary: /tools/annobin/Regression/testsuite
|
||||
extra-task: /tools/annobin/Regression/testsuite
|
@ -1,85 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Regression/testsuite
|
||||
# Description: testsuite
|
||||
# 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="${PACKAGE:-$(rpm -qf --queryformat=%{name} $(man -w annobin))}"
|
||||
export PACKAGE
|
||||
|
||||
GCC="${GCC:-$(which gcc)}"
|
||||
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlLogInfo "PACKAGES=$PACKAGES"
|
||||
rlLogInfo "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
rlLogInfo "X_SCLS=$X_SCLS"
|
||||
rlLogInfo "GCC=$GCC"
|
||||
|
||||
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
|
||||
|
||||
# In case more than one devtoolset- or gcc-toolset -build package is
|
||||
# installed (they can co-exist from the packaging persp, but their
|
||||
# coexistence causes unexpected results with rpm macros), then we have
|
||||
# a mess of defined rpm macros coming e.g. from
|
||||
# /etc/rpm/macros.gcc-toolset-10-config
|
||||
# /etc/rpm/macros.gcc-toolset-9-config etc. To have just the needed
|
||||
# macros (respective to given SCL under test) defined without
|
||||
# uninstalling unneeded RPMs, we'll need an override mechanism. The
|
||||
# following assumes just one SCL *enabled* (more than one installed),
|
||||
# and doesn't care of a (useless) revert:
|
||||
echo ${X_SCLS} | fgrep toolset && \
|
||||
rlRun "cat /etc/rpm/*${X_SCLS%\ }* > ~/.rpmmacros"
|
||||
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TMP=\$(mktemp -d)"
|
||||
rlRun "pushd $TMP"
|
||||
|
||||
rlFetchSrcForInstalled $PACKAGE
|
||||
rlRun "dnf builddep -y *src.rpm"
|
||||
rlRun "rpm --define='_topdir $TMP' -Uvh *src.rpm"
|
||||
rlRun "rpmbuild --define='_topdir $TMP' -bc SPECS/annobin.spec"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "pushd BUILD/annobin-*"
|
||||
set -o pipefail
|
||||
rlRun "make check |& tee $TMP/check.log"
|
||||
rlRun -l "grep '^PASS:' $TMP/check.log" 0
|
||||
rlRun -l "grep '^FAIL:' $TMP/check.log" 1
|
||||
PASSCOUNT=$(grep '^PASS:' $TMP/check.log | wc -l)
|
||||
rlRun "[[ $PASSCOUNT -ge 7 ]]"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TMP"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,17 +0,0 @@
|
||||
summary: Test for BZ#1973981 (annocheck silently ignores any file parameter)
|
||||
description: |
|
||||
Bug summary: annocheck silently ignores any file parameter beyond 256
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1973981
|
||||
contact: Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-plugin-gcc
|
||||
- annobin-annocheck
|
||||
duration: 48h
|
||||
link:
|
||||
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1973981
|
||||
extra-summary: /tools/annobin/Sanity/annocheck-silently-ignores-any-file-parameter
|
||||
extra-task: /tools/annobin/Sanity/annocheck-silently-ignores-any-file-parameter
|
@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Sanity/annocheck-silently-ignores-any-file-parameter
|
||||
# Description: Test for BZ#1973981 (annocheck silently ignores any file parameter)
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2021 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 "TMP=$(mktemp -d)"
|
||||
rlRun "pushd $TMP"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
for i in `seq 0 299`; do touch ${i}.sample; done
|
||||
samplecnt=$(ls *.sample | wc -l)
|
||||
testcnt=$(ls *.sample | \
|
||||
xargs annocheck |& \
|
||||
grep -F \
|
||||
-e '.sample: unable to read magic number' \
|
||||
-e '.sample: is not an ELF format file' \
|
||||
| wc -l)
|
||||
rlRun "test $samplecnt -eq 300"
|
||||
rlRun "test $testcnt -eq 300"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "popd"
|
||||
rlRun "rm -r $TMP"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,5 +0,0 @@
|
||||
#include <stdio.h>
|
||||
|
||||
void hello() {
|
||||
printf("Hello World\n");
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
#include <iostream>
|
||||
|
||||
void hello() {
|
||||
std::cout << "Hello World\n";
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
void hello();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
void hello();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
hello();
|
||||
return 0;
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
summary: gcc-fedora-flags
|
||||
description: ''
|
||||
contact:
|
||||
- Tom Stellard <tstellar@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
recommend:
|
||||
- gcc
|
||||
- gcc-c++
|
||||
- annobin
|
||||
- annobin-annocheck
|
||||
- redhat-rpm-config
|
||||
duration: 1h
|
||||
extra-summary: /tools/annobin/Sanity/gcc-fedora-flags
|
||||
extra-task: /tools/annobin/Sanity/gcc-fedora-flags
|
@ -1,40 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
set -x
|
||||
|
||||
default_cflags=`rpm -E %{build_cflags}`
|
||||
default_cxxflags=`rpm -E %{build_cxxflags}`
|
||||
default_ldflags=`rpm -E %{build_ldflags}`
|
||||
|
||||
cflags=`rpm -D '%toolchain gcc' -E %{build_cflags}`
|
||||
cxxflags=`rpm -D '%toolchain gcc' -E %{build_cxxflags}`
|
||||
ldflags=`rpm -D '%toolchain gcc' -E %{build_ldflags}`
|
||||
|
||||
set +x
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartTest
|
||||
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
|
||||
|
||||
rlRun "test \"$default_cflags\" = \"$cflags\""
|
||||
rlRun "test \"$default_cxxflags\" = \"$cxxflags\""
|
||||
rlRun "test \"$default_ldflags\" = \"$ldflags\""
|
||||
|
||||
rlRun "gcc $cflags -o hello.o -c hello.c"
|
||||
rlRun "annocheck hello.o"
|
||||
rlRun "gcc $cflags -o main.o -c main.c"
|
||||
rlRun "gcc $ldflags -o hello main.o hello.o"
|
||||
rlRun "annocheck hello"
|
||||
rlRun "./hello | grep \"Hello World\""
|
||||
|
||||
rlRun "g++ $cxxflags -o hello-cpp.o -c hello.cpp"
|
||||
rlRun "annocheck hello-cpp.o"
|
||||
rlRun "g++ $cxxflags -o main-cpp.o -c main.cpp"
|
||||
rlRun "g++ $ldflags -o hello-cpp main-cpp.o hello-cpp.o"
|
||||
rlRun "annocheck hello-cpp"
|
||||
rlRun "./hello-cpp | grep \"Hello World\""
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
@ -1,16 +0,0 @@
|
||||
summary: smoke test for annobin plugin
|
||||
description: ''
|
||||
contact:
|
||||
- Martin Cermak <mcermak@redhat.com>
|
||||
component:
|
||||
- annobin
|
||||
test: ./runtest.sh
|
||||
framework: beakerlib
|
||||
require:
|
||||
- annobin-plugin-gcc
|
||||
- annobin-annocheck
|
||||
- man-db
|
||||
- gcc
|
||||
duration: 48h
|
||||
extra-summary: /tools/annobin/Sanity/smoke
|
||||
extra-task: /tools/annobin/Sanity/smoke
|
@ -1,45 +0,0 @@
|
||||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /tools/annobin/Sanity/smoke
|
||||
# Description: smoke test for annobin plugin
|
||||
# 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="annobin"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlRun "which gcc"
|
||||
rlRun "man -w annobin"
|
||||
rlRun "echo $X_SCLS"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "rpm -qa | fgrep -e redhat-rpm-config -e gcc -e annobin -e binutils | sort"
|
||||
rlRun "echo 'int main() {return 0;}' | gcc -xc -fplugin=annobin -o /dev/null -"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
Loading…
Reference in New Issue
Block a user