#34 Move downstream tests to a separate repository
Merged 9 months ago by nickc. Opened 9 months ago by vkadlcik.
rpms/ vkadlcik/annobin main  into  main

file modified
+1
@@ -1,5 +1,6 @@ 

  summary: CI Gating Plan

  discover:

      how: fmf

+     url: https://src.fedoraproject.org/tests/annobin.git

  execute:

      how: tmt

file removed
-2
@@ -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

@@ -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,25 +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

- - dnf5-plugins

- - 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

The tests have been moved to
https://src.fedoraproject.org/tests/annobin
The move will enable more flexible downstream usage, namely
in RHEL testing.

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci
https://fedora.softwarefactory-project.io/zuul/buildset/f8e34e51272b4475b006165cfb24ccab

Pull-Request has been merged by nickc

9 months ago

The dist-git test failure is a genuine annobin bug:
https://bugzilla.redhat.com/show_bug.cgi?id=2226749
It actually documents usefulness of this PR :-)

Metadata
Changes Summary 27
+1 -0
file changed
plans/ci.fmf
-2
file removed
tests/README
-18
file removed
tests/Regression/annobin-fails-to-skip-endbr64-entry-point-check/main.fmf
-51
file removed
tests/Regression/annobin-fails-to-skip-endbr64-entry-point-check/runtest.sh
-14
file removed
tests/Regression/identify/main.fmf
-43
file removed
tests/Regression/identify/runtest.sh
-17
file removed
tests/Regression/lto-preprocessor-options/main.fmf
-44
file removed
tests/Regression/lto-preprocessor-options/runtest.sh
-0
file removed
tests/Regression/missing-check-for-x86-property-note-content/main
-16
file removed
tests/Regression/missing-check-for-x86-property-note-content/main.fmf
-40
file removed
tests/Regression/missing-check-for-x86-property-note-content/runtest.sh
-16
file removed
tests/Regression/processing-params-in-reverse-order/main.fmf
-42
file removed
tests/Regression/processing-params-in-reverse-order/runtest.sh
-18
file removed
tests/Regression/segv-when-processing-multiple-params-incl-symlink/main.fmf
-44
file removed
tests/Regression/segv-when-processing-multiple-params-incl-symlink/runtest.sh
-25
file removed
tests/Regression/testsuite/main.fmf
-85
file removed
tests/Regression/testsuite/runtest.sh
-17
file removed
tests/Sanity/annocheck-silently-ignores-any-file-parameter/main.fmf
-55
file removed
tests/Sanity/annocheck-silently-ignores-any-file-parameter/runtest.sh
-5
file removed
tests/Sanity/gcc-fedora-flags/hello.c
-5
file removed
tests/Sanity/gcc-fedora-flags/hello.cpp
-6
file removed
tests/Sanity/gcc-fedora-flags/main.c
-6
file removed
tests/Sanity/gcc-fedora-flags/main.cpp
-17
file removed
tests/Sanity/gcc-fedora-flags/main.fmf
-40
file removed
tests/Sanity/gcc-fedora-flags/runtest.sh
-16
file removed
tests/Sanity/smoke/main.fmf
-45
file removed
tests/Sanity/smoke/runtest.sh