From b2371a5073ce0b44db9e1b233159619217a519ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Kadl=C4=8D=C3=ADk?= Date: Thu, 9 Nov 2023 10:22:15 +0100 Subject: [PATCH] Move gating tests to a different repo Remove the gating tests from here and use the tests from https://src.fedoraproject.org/tests/gcc There's more of them there, they are are more up-to-date, maintained by RHEL QA staff and re-used in other downstreams (CentOS Stream, RHEL, RHIVOS). --- plans/ci.fmf | 13 +- plans/prepare.sh | 54 ------ plans/provide_secondary_arch_rpms.sh | 64 +++++++ .../abs.c | 12 -- .../main.fmf | 26 --- .../runtest.sh | 52 ------ .../main.fmf | 29 --- .../runtest.sh | 53 ------ .../abc.f90 | 22 --- .../main.fmf | 38 ---- .../runtest.sh | 56 ------ .../builtin.c | 29 --- .../main.fmf | 33 ---- .../runtest.sh | 58 ------ .../foo.java | 5 - .../main.fmf | 39 ---- .../runtest.sh | 71 -------- .../main.fmf | 32 ---- .../runtest.sh | 54 ------ .../main.fmf | 12 -- .../runtest.sh | 50 ------ .../main.fmf | 17 -- .../runtest.sh | 55 ------ .../x.c | 8 - .../main.fmf | 17 -- .../runtest.sh | 52 ------ .../test.cc | 7 - .../main.fmf | 16 -- .../runtest.sh | 52 ------ .../tst.c | 6 - .../b.gdb | 2 - .../main.fmf | 17 -- .../runtest.sh | 52 ------ .../test.c | 6 - .../main.fmf | 16 -- .../runtest.sh | 56 ------ .../alloc1.f90 | 5 - .../main.fmf | 17 -- .../runtest.sh | 51 ------ .../main.fmf | 17 -- .../runtest.sh | 50 ------ .../main.fmf | 27 --- .../reproducer.cc | 14 -- .../runtest.sh | 66 ------- .../main.fmf | 16 -- .../reproducer.cc | 12 -- .../runtest.sh | 55 ------ .../main.fmf | 26 --- .../runtest.sh | 57 ------ .../f.cc | 15 -- .../main.fmf | 28 --- .../runtest.sh | 54 ------ .../unused_parameter_warning/main.fmf | 31 ---- .../unused_parameter_warning/runtest.sh | 60 ------- .../unused_parameter_warning/test.cpp | 2 - tests/Sanity/compile-rpm/main.fmf | 45 ----- tests/Sanity/compile-rpm/runtest.sh | 99 ----------- tests/Sanity/libitm-smoke/bins_aarch64.tar.gz | Bin 42861 -> 0 bytes tests/Sanity/libitm-smoke/bins_i686.tar.gz | Bin 18165 -> 0 bytes tests/Sanity/libitm-smoke/bins_ppc64.tar.gz | Bin 42218 -> 0 bytes tests/Sanity/libitm-smoke/bins_ppc64le.tar.gz | Bin 41583 -> 0 bytes tests/Sanity/libitm-smoke/bins_s390x.tar.gz | Bin 20507 -> 0 bytes tests/Sanity/libitm-smoke/bins_x86_64.tar.gz | Bin 19693 -> 0 bytes tests/Sanity/libitm-smoke/main.fmf | 34 ---- tests/Sanity/libitm-smoke/runtest.sh | 75 -------- tests/Sanity/rebuild-binutils/main.fmf | 70 -------- tests/Sanity/rebuild-binutils/runtest.sh | 89 ---------- tests/Sanity/rebuild-glibc/main.fmf | 84 --------- tests/Sanity/rebuild-glibc/runtest.sh | 79 --------- .../Sanity/test-m32-m64-options/clear_cache.c | 7 - tests/Sanity/test-m32-m64-options/cpp11.cpp | 78 -------- tests/Sanity/test-m32-m64-options/hello.c | 8 - tests/Sanity/test-m32-m64-options/hello.cpp | 7 - tests/Sanity/test-m32-m64-options/hello.f90 | 3 - .../test-m32-m64-options/lambda-template.C | 41 ----- tests/Sanity/test-m32-m64-options/main.fmf | 58 ------ tests/Sanity/test-m32-m64-options/omphello.c | 24 --- tests/Sanity/test-m32-m64-options/quad.c | 38 ---- tests/Sanity/test-m32-m64-options/runtest.sh | 167 ------------------ .../Sanity/test-m32-m64-options/thr-init-2.c | 20 --- tests/Sanity/test-m32-m64-options/tm.c | 34 ---- tests/fedora-flags/hello.c | 5 - tests/fedora-flags/hello.cpp | 5 - tests/fedora-flags/main.c | 6 - tests/fedora-flags/main.cpp | 6 - tests/fedora-flags/main.fmf | 10 -- tests/fedora-flags/runtest.sh | 29 --- tests/smoke-test/Makefile | 65 ------- tests/smoke-test/PURPOSE | 3 - tests/smoke-test/clear_cache.c | 7 - tests/smoke-test/hello.c | 7 - tests/smoke-test/hello.cpp | 7 - tests/smoke-test/hello.f90 | 3 - tests/smoke-test/main.fmf | 22 --- tests/smoke-test/omphello.c | 24 --- tests/smoke-test/quad.c | 38 ---- tests/smoke-test/runtest.sh | 127 ------------- tests/smoke-test/thr-init-2.c | 24 --- tests/smoke-test/tm.c | 34 ---- 99 files changed, 72 insertions(+), 3194 deletions(-) delete mode 100755 plans/prepare.sh create mode 100755 plans/provide_secondary_arch_rpms.sh delete mode 100644 tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/abs.c delete mode 100644 tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/main.fmf delete mode 100755 tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/runtest.sh delete mode 100644 tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/main.fmf delete mode 100755 tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/runtest.sh delete mode 100644 tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/abc.f90 delete mode 100644 tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/main.fmf delete mode 100755 tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/runtest.sh delete mode 100644 tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/builtin.c delete mode 100644 tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/main.fmf delete mode 100755 tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/runtest.sh delete mode 100644 tests/Regression/537941-libltdl-may-load-library-in-current-directory/foo.java delete mode 100644 tests/Regression/537941-libltdl-may-load-library-in-current-directory/main.fmf delete mode 100755 tests/Regression/537941-libltdl-may-load-library-in-current-directory/runtest.sh delete mode 100644 tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/main.fmf delete mode 100755 tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/runtest.sh delete mode 100644 tests/Regression/bz1815504-Regression-in-the-line-information-debug/main.fmf delete mode 100755 tests/Regression/bz1815504-Regression-in-the-line-information-debug/runtest.sh delete mode 100644 tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/main.fmf delete mode 100755 tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/runtest.sh delete mode 100644 tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/x.c delete mode 100644 tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/main.fmf delete mode 100755 tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/runtest.sh delete mode 100644 tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/test.cc delete mode 100644 tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/main.fmf delete mode 100755 tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/runtest.sh delete mode 100644 tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/tst.c delete mode 100644 tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/b.gdb delete mode 100644 tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/main.fmf delete mode 100755 tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/runtest.sh delete mode 100644 tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/test.c delete mode 100644 tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/main.fmf delete mode 100755 tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/runtest.sh delete mode 100644 tests/Regression/bz1927579-libgfortran-seems-to-be-missing/alloc1.f90 delete mode 100644 tests/Regression/bz1927579-libgfortran-seems-to-be-missing/main.fmf delete mode 100755 tests/Regression/bz1927579-libgfortran-seems-to-be-missing/runtest.sh delete mode 100644 tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/main.fmf delete mode 100755 tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/runtest.sh delete mode 100644 tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/main.fmf delete mode 100644 tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/reproducer.cc delete mode 100755 tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/runtest.sh delete mode 100644 tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/main.fmf delete mode 100644 tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/reproducer.cc delete mode 100755 tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/runtest.sh delete mode 100644 tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/main.fmf delete mode 100755 tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/runtest.sh delete mode 100644 tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/f.cc delete mode 100644 tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/main.fmf delete mode 100755 tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/runtest.sh delete mode 100644 tests/Regression/unused_parameter_warning/main.fmf delete mode 100755 tests/Regression/unused_parameter_warning/runtest.sh delete mode 100644 tests/Regression/unused_parameter_warning/test.cpp delete mode 100644 tests/Sanity/compile-rpm/main.fmf delete mode 100755 tests/Sanity/compile-rpm/runtest.sh delete mode 100644 tests/Sanity/libitm-smoke/bins_aarch64.tar.gz delete mode 100644 tests/Sanity/libitm-smoke/bins_i686.tar.gz delete mode 100644 tests/Sanity/libitm-smoke/bins_ppc64.tar.gz delete mode 100644 tests/Sanity/libitm-smoke/bins_ppc64le.tar.gz delete mode 100644 tests/Sanity/libitm-smoke/bins_s390x.tar.gz delete mode 100644 tests/Sanity/libitm-smoke/bins_x86_64.tar.gz delete mode 100644 tests/Sanity/libitm-smoke/main.fmf delete mode 100755 tests/Sanity/libitm-smoke/runtest.sh delete mode 100644 tests/Sanity/rebuild-binutils/main.fmf delete mode 100755 tests/Sanity/rebuild-binutils/runtest.sh delete mode 100644 tests/Sanity/rebuild-glibc/main.fmf delete mode 100755 tests/Sanity/rebuild-glibc/runtest.sh delete mode 100644 tests/Sanity/test-m32-m64-options/clear_cache.c delete mode 100644 tests/Sanity/test-m32-m64-options/cpp11.cpp delete mode 100644 tests/Sanity/test-m32-m64-options/hello.c delete mode 100644 tests/Sanity/test-m32-m64-options/hello.cpp delete mode 100644 tests/Sanity/test-m32-m64-options/hello.f90 delete mode 100644 tests/Sanity/test-m32-m64-options/lambda-template.C delete mode 100644 tests/Sanity/test-m32-m64-options/main.fmf delete mode 100644 tests/Sanity/test-m32-m64-options/omphello.c delete mode 100644 tests/Sanity/test-m32-m64-options/quad.c delete mode 100755 tests/Sanity/test-m32-m64-options/runtest.sh delete mode 100644 tests/Sanity/test-m32-m64-options/thr-init-2.c delete mode 100644 tests/Sanity/test-m32-m64-options/tm.c delete mode 100644 tests/fedora-flags/hello.c delete mode 100644 tests/fedora-flags/hello.cpp delete mode 100644 tests/fedora-flags/main.c delete mode 100644 tests/fedora-flags/main.cpp delete mode 100644 tests/fedora-flags/main.fmf delete mode 100755 tests/fedora-flags/runtest.sh delete mode 100644 tests/smoke-test/Makefile delete mode 100644 tests/smoke-test/PURPOSE delete mode 100644 tests/smoke-test/clear_cache.c delete mode 100644 tests/smoke-test/hello.c delete mode 100644 tests/smoke-test/hello.cpp delete mode 100644 tests/smoke-test/hello.f90 delete mode 100644 tests/smoke-test/main.fmf delete mode 100644 tests/smoke-test/omphello.c delete mode 100644 tests/smoke-test/quad.c delete mode 100755 tests/smoke-test/runtest.sh delete mode 100644 tests/smoke-test/thr-init-2.c delete mode 100644 tests/smoke-test/tm.c diff --git a/plans/ci.fmf b/plans/ci.fmf index 13b60db..b6a344d 100644 --- a/plans/ci.fmf +++ b/plans/ci.fmf @@ -1,10 +1,13 @@ summary: CI Gating Plan discover: how: fmf - directory: tests -prepare: - - name: prepare - how: shell - script: ./plans/prepare.sh + url: https://src.fedoraproject.org/tests/gcc.git + filter: 'tag: Fedora-CI-gating' execute: how: tmt +adjust: + - prepare+: + - name: Add secondary architecture RPMs + how: shell + script: ./plans/provide_secondary_arch_rpms.sh + when: arch == x86_64 diff --git a/plans/prepare.sh b/plans/prepare.sh deleted file mode 100755 index 8ffb6ef..0000000 --- a/plans/prepare.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -# -# Setup task for Fedora CI system. Install the x86_64 GCC build under test -# along with its respective i686 (compat arch) bits needed for the testing. -# KOJI_TASK_ID per https://github.com/fedora-ci/dist-git-pipeline/pull/50 . -# - -set -x - -true "V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V" - -echo "KOJI_TASK_ID=$KOJI_TASK_ID" - -. /etc/os-release - -if [ "$ID" == "fedora" ] && [ "$(arch)" == "x86_64" ]; then - - if [ -z "${KOJI_TASK_ID}" ]; then - echo "Missing koji task ID, skipping ..." - exit 0 - fi - - tmpd=`mktemp -d` - pushd $tmpd - koji download-task $KOJI_TASK_ID --noprogress --arch=src - ls - VR=$(rpm -qp gcc* --queryformat='%{version}-%{release}') - popd - rm -rf $tmpd - - tmpd=`mktemp -d` - pushd $tmpd - koji download-task $KOJI_TASK_ID --noprogress --arch=x86_64 --arch=noarch - rm -f *debuginfo* - ls - dnf -y install *.rpm - popd - rm -rf $tmpd - - tmpd=`mktemp -d` - pushd $tmpd - koji download-task $KOJI_TASK_ID --noprogress --arch=i686 - rm -f *debuginfo* - ls - yum -y install libgcc-$VR* libgfortran-$VR* libgomp-$VR* libitm-$VR* \ - libstdc++-devel-$VR* libstdc++-$VR* libstdc++-static-$VR* - popd - rm -rf $tmpd -else - echo "Not Fedora x86_64, skipping..." -fi - -true "^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^" diff --git a/plans/provide_secondary_arch_rpms.sh b/plans/provide_secondary_arch_rpms.sh new file mode 100755 index 0000000..f26a5ab --- /dev/null +++ b/plans/provide_secondary_arch_rpms.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +# Fedora CI testing systems don't provide a repository with the i686 +# RPMs of the build being tested. As a consequence, most +# dnf install -y .i686 +# commands (whether being run by a test or by TMT's prepare) will probably +# fail on a version mismatch with the present x86_64 gcc RPMs. To prevent +# such failures we provide this script which we recommend to include in every +# Fedora CI test plan. +# +# Implementation notes: +# +# * The gcc build being tested in Fedora CI is given via KOJI_TASK_ID. See +# https://github.com/fedora-ci/dist-git-pipeline/pull/50 for details. +# +# * Currently this script just downloads and installs the i686 RPMs. It +# would not be sufficient for tests that uninstall and reinstall those +# RPMs. If such a test appears, this script should create a repository. +# +# * Fedora CI testing systems seem to have extremely small RAM-based /tmp, +# unable to host all the downloaded RPMs, and no other "real" filesystem +# than "/". That's the reason for using +# mktemp -d --tmpdir=/ + +set -x + +true "V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V" + +echo "KOJI_TASK_ID=$KOJI_TASK_ID" + +. /etc/os-release + +echo "ID=$ID" +echo "arch=$(arch)" +echo "KOJI_TASK_ID=$KOJI_TASK_ID" + +if [[ "$ID" = fedora ]] && [[ "$(arch)" = x86_64 ]] && [[ -n "$KOJI_TASK_ID" ]]; then + + if tmpd=$(mktemp -d --tmpdir=/) && pushd "$tmpd"; then + + # Download + rpm -q koji || dnf -y install koji + koji download-task "$KOJI_TASK_ID" --noprogress --arch={x86_64,i686,noarch} + + # Remove conflicting RPMs + rm -f ./*debuginfo* ./*debugsource* + rm -f gcc-[0-9]*.i686.* + rm -f ./*docs*.i686.* + + # Install + ls + dnf -y install ./*.rpm + + # Clean up + # shellcheck disable=SC2164 + popd + rm -rf "$tmpd" + fi + +else + echo "Not applicable" +fi + +true "^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^" diff --git a/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/abs.c b/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/abs.c deleted file mode 100644 index 801bda0..0000000 --- a/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/abs.c +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - -int -main () -{ - int i = 2; - if (-10 * abs (i - 1) == 10 * abs (i - 1)) - return 1; - - return 0; -} diff --git a/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/main.fmf b/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/main.fmf deleted file mode 100644 index 81a2b4a..0000000 --- a/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/main.fmf +++ /dev/null @@ -1,26 +0,0 @@ -summary: gcc optimization error for neg number * abs() [extract_muldiv] -description: | - abs() from gcc was broken so it gave wrong results. -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Regression/394271-gcc-optimization-error-for-neg-number-abs -framework: beakerlib -require: - - gcc -duration: 5m -enabled: true -tier: '1' -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=394271 -tag: - - CI-Tier-1 - - DTS8-INTEROP-CI - - DTS9-INTEROP-CI - - Tier1 - - dts_smoke - - dts_stable -extra-nitrate: TC#0062143 -extra-summary: /tools/gcc/Regression/gcc/394271-gcc-optimization-error-for-neg-number-abs -extra-task: /tools/gcc/Regression/gcc/394271-gcc-optimization-error-for-neg-number-abs diff --git a/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/runtest.sh b/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/runtest.sh deleted file mode 100755 index 695c9fc..0000000 --- a/tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/runtest.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved. -# -# 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 3 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 . -# -# Author: Michal Nowak -# Marek Polacek - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -GCC="${GCC:-$(type -P gcc)}" -PACKAGE=$(rpm --qf '%{name}' -qf $GCC) - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\`mktemp -d\`" - rlRun "cp -v abs.c $TmpDir" - rlRun "pushd $TmpDir" - gcc -dumpversion | grep -q '^4\.4' && export OLDGCC="true" - rlPhaseEnd - - rlPhaseStartTest "Testing the executable" - OPTS="-O0 -O1 -O2 -O3 -Os -Ofast -Og" - if [ "$OLDGCC" = "true" ]; then - OPTS=${OPTS/ -Ofast -Og/} - fi - for opt in "" $OPTS; do - rlRun "$GCC -g $opt -o abs$opt abs.c" 0 "Compiling the test case [ $opt ]" - rlRun "./abs$opt" 0 "Checking whether we have an working executable [ $opt ]" - done - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/main.fmf b/tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/main.fmf deleted file mode 100644 index 558554d..0000000 --- a/tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/main.fmf +++ /dev/null @@ -1,29 +0,0 @@ -summary: unzip problem with CRC error for src-4.1.0.zip file on s390x -description: | - A customer has been trying to unzip the file src-4.1.0.zip - which is contained libgcj4-src-4.1.0-18.EL4.s390x.rpm. However, - unzip command can't run correctly with the CRC errors - It seems that the src-4.1.0.zip is broken. -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -framework: beakerlib -require: - - gcc - - libgcj-src -duration: 5m -enabled: true -tag: - - CI-Tier-1 - - Tier1 -tier: '1' -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=462397 -adjust: - - enabled: false - when: distro != rhel-5 and distro != rhel-6 - continue: false -extra-nitrate: TC#0147365 -extra-summary: /tools/gcc/Sanity/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file -extra-task: /tools/gcc/Sanity/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file diff --git a/tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/runtest.sh b/tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/runtest.sh deleted file mode 100755 index 62d03df..0000000 --- a/tests/Regression/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file/runtest.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved. -# -# 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 3 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 . -# -# Author: Michal Nowak -# Marek Polacek - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gcc libgcj-src) - -rlJournalStart - rlPhaseStartSetup - for p in "${PACKAGES[@]}"; do - rlAssertRpm "$p" - done; unset p - rlRun "TmpDir=\`mktemp -d\`" - rlRun "pushd $TmpDir" - rlPhaseEnd - -srclist="/usr/share/java/src-*" -for src in ${srclist}; do - - rlPhaseStartTest "Try to unzip src file" - rm -rf tmp/; mkdir tmp/ - rlRun "cp -fv ${src} tmp/" 0 "[${src}]: Copy the zip file to tmp/" - cd tmp/ - rlRun "unzip ${src}" 0 "[${src}] Verify that is possible to unzip ${src}" - cd .. - rlPhaseEnd - -done - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/abc.f90 b/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/abc.f90 deleted file mode 100644 index c9af75f..0000000 --- a/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/abc.f90 +++ /dev/null @@ -1,22 +0,0 @@ - subroutine a - INTEGER*4 a_i - common /block/a_i - a_i = 1 - end subroutine a - subroutine b - INTEGER*4 b_i - common /block/b_i - a_i = 3 - b_i = 2 - end subroutine b - subroutine c - INTEGER*4 a_i - common /block/a_i - if (a_i .ne. 2) call abort - end subroutine c - program abc - call a - call b - call c - end program abc - diff --git a/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/main.fmf b/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/main.fmf deleted file mode 100644 index 5f9ce34..0000000 --- a/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/main.fmf +++ /dev/null @@ -1,38 +0,0 @@ -summary: Fortran DW_TAG_common_block has incorrect placement/scope -description: |+ - Problem: gcc-4.3.2 / gfortran-4.3.2 (in the forthcoming tech-preview for - RHEL5.3) appears to also have the "DW_TAG_common_block has incorrect - placement/scope" issues listed in the following gcc upstream bug: - - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37738 - - What gfortran is doing currently is: - - (1) Merges all common blocks into a single one. - (2) Places this single common block into the first subroutine where it was - used. - -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope -framework: beakerlib -require: - - gcc - - gcc-gfortran -duration: 5m -tier: '1' -enabled: true -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=465974 -tag: - - CI-Tier-1 - - DTS8-INTEROP-CI - - DTS9-INTEROP-CI - - Tier1 - - dts_smoke - - dts_stable -extra-nitrate: TC#0062268 -extra-summary: /tools/gcc/g77/465974-DW_TAG_common_block-has-incorrect-placement-scope -extra-task: /tools/gcc/g77/465974-DW_TAG_common_block-has-incorrect-placement-scope diff --git a/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/runtest.sh b/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/runtest.sh deleted file mode 100755 index 741279d..0000000 --- a/tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope/runtest.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved. -# -# 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 3 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 . -# -# Author: Michal Nowak -# Marek Polacek - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gcc gcc-gfortran) - -GFORTRAN=${GFORTRAN:-gfortran} - -rlJournalStart - rlPhaseStartSetup - if type gcc | grep -q -v toolset; then - # assert only of not devtoolset/gcc-toolset - for p in "${PACKAGES[@]}"; do - rlAssertRpm "$p" - done; unset p - fi - rlRun "TmpDir=\`mktemp -d\`" - rlRun "cp -v abc.f90 $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest "Testing the executable via readelf -w" - # Compile - rlRun "$GFORTRAN -g -o abc abc.f90" 0 "Compiling the test case: abc.f90" - rlRun "./abc" 0 "Checking whether we have an working executable" - rlWatchdog "readelf -w abc 2>&1 | tee gcc-readelf.log" 10 - rlAssert0 "Checking if 'readelf' ends itself" $? - # Test - cb=$(grep Abbrev gcc-readelf.log | grep DW_TAG_common_block -c) - rlRun "if [ ${cb} -eq 3 ]; then true; else false; fi" 0 "Expected amount of common blocks is 3; got ${cb}" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/builtin.c b/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/builtin.c deleted file mode 100644 index 64449ae..0000000 --- a/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/builtin.c +++ /dev/null @@ -1,29 +0,0 @@ -#include - -/* Compile flags: - * gcc -fno-builtin-isascii -fno-builtin-isalnum -o builtin builtin.c - * - * Expected output: - * Using custom isascii() function - * ret = 0 - * - * Expected return value: - * 0 - */ - -int isascii(int c) -{ - printf("Using custom isascii() function\n"); - return 0; -} - -main() -{ - int c = 65; - int ret; - - ret = isascii(c); - printf("ret = %d\n", ret); - - return ret; -} diff --git a/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/main.fmf b/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/main.fmf deleted file mode 100644 index 8f47b12..0000000 --- a/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/main.fmf +++ /dev/null @@ -1,33 +0,0 @@ -summary: 'Test for bz515799 ([RHEL5] gcc: if more than one -fno-builtin-*)' -description: | - Bug summary: [RHEL5] gcc: if more than one -fno-builtin-* options are specified, only the last one is effective - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=515799 - - This test compiles builtin.c with the flags '-fno-builtin-isascii - -fno-builtin-isalnum'. This program contains a custom isascii() function - that always returns 0. If gcc honors the -fno-builtin-isascii flag, it - will return 0. If not, it will use the built-in isascii() function which - will return 1. -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin -framework: beakerlib -require: - - gcc -duration: 5m -enabled: true -tier: '1' -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=515799 -tag: - - CI-Tier-1 - - DTS8-INTEROP-CI - - DTS9-INTEROP-CI - - Tier1 - - dts_smoke - - dts_stable -extra-nitrate: TC#0063259 -extra-summary: /tools/gcc/Regression/gcc/515799-RHEL5-gcc-if-more-than-one-fno-builtin -extra-task: /tools/gcc/Regression/gcc/515799-RHEL5-gcc-if-more-than-one-fno-builtin diff --git a/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/runtest.sh b/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/runtest.sh deleted file mode 100755 index 8b38afd..0000000 --- a/tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/runtest.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/rhts-library/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/gcc/515799-RHEL5-gcc-if-more-than-one-fno-builtin -# Description: Test for bz515799 ([RHEL5] gcc: if more than one -fno-builtin-*) -# Author: Jeffrey Bastian -# Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009, 2012 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 rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gcc) - -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - for p in "${PACKAGES[@]}"; do - rlAssertRpm "$p" - done; unset p - rlRun "TmpDir=\`mktemp -d\`" - rlRun "cp -v builtin.c $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GCC -fno-builtin-isascii -fno-builtin-isalnum -o builtin builtin.c" - rlAssertExists "builtin" - rlRun "./builtin" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/537941-libltdl-may-load-library-in-current-directory/foo.java b/tests/Regression/537941-libltdl-may-load-library-in-current-directory/foo.java deleted file mode 100644 index bc72835..0000000 --- a/tests/Regression/537941-libltdl-may-load-library-in-current-directory/foo.java +++ /dev/null @@ -1,5 +0,0 @@ -public class foo { - public static void main(String[] args) { - System.loadLibrary("foolib"); - } -} diff --git a/tests/Regression/537941-libltdl-may-load-library-in-current-directory/main.fmf b/tests/Regression/537941-libltdl-may-load-library-in-current-directory/main.fmf deleted file mode 100644 index b121552..0000000 --- a/tests/Regression/537941-libltdl-may-load-library-in-current-directory/main.fmf +++ /dev/null @@ -1,39 +0,0 @@ -summary: 'CVE-2009-3736 libtool: libltdl may load and execute code from a library - in the current directory' -description: | - cat > ~/foo.java <\EOF public class foo { public static void main(String[] args) { System.loadLibrary("foolib"); } } EOF - cd - gcj -C foo.java - cd /tmp - strace -f -v -s1024 gij -cp ~/ foo 2>&1 | grep foolib - - (resp. s/gcj/gcj4/g;s/gij/gij4/ for gcc4 testing). - - If any relative path is seen, it is wrong. Bad examples are - - {lib,}foolib.la - {hwcap,0,nosegneg}/{lib,}foolib.{so,la} -contact: mcermak@redhat.com -component: - - gcc -test: ./runtest.sh -framework: beakerlib -require: - - gcc - - gcc-java - - libgcj - - strace -duration: 5m -enabled: false -tag: - - CI-Tier-1 - - Tier1 -tier: '1' -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=537941 -adjust: - - enabled: true - when: distro == rhel-6 or distro == rhel-5 -extra-nitrate: TC#0062145 -extra-summary: /tools/gcc/Regression/gcj/537941-libltdl-may-load-library-in-current-directory -extra-task: /tools/gcc/Regression/gcj/537941-libltdl-may-load-library-in-current-directory diff --git a/tests/Regression/537941-libltdl-may-load-library-in-current-directory/runtest.sh b/tests/Regression/537941-libltdl-may-load-library-in-current-directory/runtest.sh deleted file mode 100755 index 73e914d..0000000 --- a/tests/Regression/537941-libltdl-may-load-library-in-current-directory/runtest.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved. -# -# 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 3 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 . -# -# Author: Michal Nowak -# Marek Polacek - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gcc libgcj strace gcc-java) - -rlJournalStart - rlPhaseStartSetup - for p in "${PACKAGES[@]}"; do - rlAssertRpm "$p" - done; unset p - rlRun "TmpDir=\`mktemp -d\`" - rlRun "cp -v foo.java $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - -# I weeded out the if (isRHEL 3) support. -for gj in "" "4"; do - gcj_name="/usr/bin/gcj${gj}" - gij_name="/usr/bin/gij${gj}" - if [ -x ${gcj_name} ] && [ -x ${gij_name} ]; then - gcj_basename=$(basename ${gcj_name}) - gij_basename=$(basename ${gij_name}) - - rlPhaseStartTest "[${gij_basename}] Interpreting and compiling via java" - rlRun "${gcj_name} -C foo.java" 0 "[${gcj_basename}] Creating bytecode" - mv foo.class ~ - pushd /tmp - - echo "Dry run w/o strace" - ${gij_basename} -cp ~/ foo - - echo "=== Dry run end ===" - strace -f -v -s1024 ${gij_basename} -cp ~/ foo 2>&1 | tee out.${gij_basename} - echo - grep foolib out.${gij_basename} - foolib_cnt="$(grep foolib out.${gij_basename} -c)" - echo - rlRun "if [ ${foolib_cnt} -ne 0 ]; then egrep '\"libfoolib.la|\"foolib.la' out.${gij_basename}; else echo \"Zero lines w/ foolib\"; true; fi" 1 "[${gij_basename}] Interpreting test case" # use 'true' (sic!) - popd - rm -f ~/foo.class - rlPhaseEnd - - fi -done - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/main.fmf b/tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/main.fmf deleted file mode 100644 index f44417a..0000000 --- a/tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/main.fmf +++ /dev/null @@ -1,32 +0,0 @@ -summary: Test for BZ#1611637 (devtoolset-8-gcc includes avx512vbmi2intrin.h but) -description: | - Bug summary: devtoolset-8-gcc includes avx512vbmi2intrin.h but does not contain it - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1611637 - - The list of intrinsic headers keeps changing every release, sometimes - even on the release branch, and %files needs to be in sync with what has - been changed in gcc/config.gcc. immintrin.h is one of those headers and - this test makes sure that we can #include it. -contact: Vaclav Kadlcik -component: - - gcc -test: bash ./runtest.sh -framework: beakerlib -require: - - gcc -duration: 5m -enabled: true -tag: - - CI-Tier-1 -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1611637 -adjust: - - enabled: false - when: arch != x86_64 - continue: false - - enabled: false - when: distro == rhel-5 - continue: false -extra-nitrate: TC#0575308 -extra-summary: /tools/gcc/Regression/bz1611637-immintrin_h_include_list_does_not_match_release -extra-task: /tools/gcc/Regression/bz1611637-immintrin_h_include_list_does_not_match_release diff --git a/tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/runtest.sh b/tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/runtest.sh deleted file mode 100755 index 8ff645e..0000000 --- a/tests/Regression/bz1611637-immintrin_h_include_list_does_not_match_release/runtest.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1611637-immintrin_h_include_list_does_not_match_release -# Description: Test for BZ#1611637 (devtoolset-8-gcc includes avx512vbmi2intrin.h but) -# Author: Michael Petlan -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - cat > a.c < -int main(void) -{ - return 0; -} -EOF - rlAssertExists "a.c" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GCC -o a a.c" - rlAssertExists "a" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "rm -f a a.c" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1815504-Regression-in-the-line-information-debug/main.fmf b/tests/Regression/bz1815504-Regression-in-the-line-information-debug/main.fmf deleted file mode 100644 index 82cdc4e..0000000 --- a/tests/Regression/bz1815504-Regression-in-the-line-information-debug/main.fmf +++ /dev/null @@ -1,12 +0,0 @@ -summary: Test for BZ#1815504 (Regression in the line information debug) -description: | - Bug summary: Regression in the line information debug information generated by gcc - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1815504 -recommend: -- gcc -- valgrind -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1815504 -extra-summary: /tools/gcc/Regression/bz1815504-Regression-in-the-line-information-debug -extra-task: /tools/gcc/Regression/bz1815504-Regression-in-the-line-information-debug diff --git a/tests/Regression/bz1815504-Regression-in-the-line-information-debug/runtest.sh b/tests/Regression/bz1815504-Regression-in-the-line-information-debug/runtest.sh deleted file mode 100755 index 585e76c..0000000 --- a/tests/Regression/bz1815504-Regression-in-the-line-information-debug/runtest.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1815504-Regression-in-the-line-information-debug -# Description: Test for BZ#1815504 (Regression in the line information debug) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "valgrind -q date &> log" 0 - rlAssertNotGrep "Can't handle inlined call info entry with line number" log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/main.fmf b/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/main.fmf deleted file mode 100644 index 1c87a12..0000000 --- a/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1852781 (Compiling with -flto and -g removes CET support) -description: | - Bug summary: Compiling with -flto and -g removes CET support - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1852781 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -- binutils -duration: 15m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1852781 -extra-summary: /tools/gcc/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support -extra-task: /tools/gcc/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support diff --git a/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/runtest.sh b/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/runtest.sh deleted file mode 100755 index 84cae8f..0000000 --- a/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/runtest.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support -# Description: Test for BZ#1852781 (Compiling with -flto and -g removes CET support) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" -TESTPROG="x" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp $TESTPROG.c $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -flto -c -fcf-protection -g $TESTPROG.c" - rlRun "gcc -flto -Wl,-z,cet-report=error -fcf-protection -g $TESTPROG.o &> log" - rlAssertNotGrep " missing IBT and SHSTK properties" log - rlRun "readelf --wide --notes a.out | grep IBT &> log" - rlAsserGrep "IBT, SHSTK" log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/x.c b/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/x.c deleted file mode 100644 index 64fffec..0000000 --- a/tests/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support/x.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int -main () -{ - printf ("hello\n"); - return 0; -} diff --git a/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/main.fmf b/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/main.fmf deleted file mode 100644 index 1540389..0000000 --- a/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1853900 (typeinfo for stdcodecvt_utf8 not found - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1853900 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -- gcc-c++ -duration: 10m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1853900 -extra-summary: /tools/gcc/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul -extra-task: /tools/gcc/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul diff --git a/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/runtest.sh b/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/runtest.sh deleted file mode 100755 index a6eb4ed..0000000 --- a/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/runtest.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul -# Description: Test for BZ#1853900 (typeinfo for stdcodecvt_utf8 -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" -TESTPROG="test.cc" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp $TESTPROG $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "g++ -std=c++17 $TESTPROG &> log" - rlAssertNotGrep "hidden symbol " log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/test.cc b/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/test.cc deleted file mode 100644 index 075633f..0000000 --- a/tests/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul/test.cc +++ /dev/null @@ -1,7 +0,0 @@ -#include - -namespace fs = std::filesystem; -int main() { - fs::create_directory("sandbox"); - fs::remove_all("sandbox"); -} diff --git a/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/main.fmf b/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/main.fmf deleted file mode 100644 index 8167f92..0000000 --- a/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#1878841 (GOMP_parallel_loop_nonmonotonic_dynamic and) -description: | - Bug summary: GOMP_parallel_loop_nonmonotonic_dynamic and GOMP_loop_nonmonotonic_dynamic_next missing - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1878841 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1878841 -extra-summary: /tools/gcc/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and -extra-task: /tools/gcc/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and diff --git a/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/runtest.sh b/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/runtest.sh deleted file mode 100755 index 83c42ef..0000000 --- a/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/runtest.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and -# Description: Test for BZ#1878841 (GOMP_parallel_loop_nonmonotonic_dynamic and) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" -TESTPROG="tst" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp $TESTPROG.c $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -fopenmp $TESTPROG.c &> log" - rlAssertNotGrep "undefined reference to `GOMP_parallel_loop_nonmonotonic_dynamic`" log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/tst.c b/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/tst.c deleted file mode 100644 index 741559e..0000000 --- a/tests/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and/tst.c +++ /dev/null @@ -1,6 +0,0 @@ -#include -int main () -{ - #pragma omp parallel for schedule(dynamic) - for (int i = 0; i < 10; i++); -} diff --git a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/b.gdb b/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/b.gdb deleted file mode 100644 index 341301d..0000000 --- a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/b.gdb +++ /dev/null @@ -1,2 +0,0 @@ -info functions foo -q diff --git a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/main.fmf b/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/main.fmf deleted file mode 100644 index 7054cbd..0000000 --- a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1893340 (Variadic arguments are missing from debugging data) -description: | - Bug summary: Variadic arguments are missing from debugging data when building with -flto - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1893340 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -- gdb -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1893340 -extra-summary: /tools/gcc/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data -extra-task: /tools/gcc/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data diff --git a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/runtest.sh b/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/runtest.sh deleted file mode 100755 index f2dd2ca..0000000 --- a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/runtest.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data -# Description: Test for BZ#1893340 (Variadic arguments are missing from debugging data) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp test.c b.gdb $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -fPIC -shared -o libtest.so -O0 -g test.c" - rlRun "gdb -x b.gdb libtest.so > gdb.log" - rlAssertGrep "void foo(int, ...);" gdb.log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/test.c b/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/test.c deleted file mode 100644 index 3de5962..0000000 --- a/tests/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data/test.c +++ /dev/null @@ -1,6 +0,0 @@ -#include -void foo(int args, ...) { - va_list ap; - va_start(ap, args); - va_end(ap); -} diff --git a/tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/main.fmf b/tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/main.fmf deleted file mode 100644 index c1da31b..0000000 --- a/tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#1896093 (Compiling with -flto=auto fails if make is not) -description: | - Bug summary: Compiling with -flto=auto fails if make is not installed - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1896093 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1896093 -extra-summary: /tools/gcc/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not -extra-task: /tools/gcc/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not diff --git a/tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/runtest.sh b/tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/runtest.sh deleted file mode 100755 index a23ce5c..0000000 --- a/tests/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not/runtest.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not -# Description: Test for BZ#1896093 (Compiling with -flto=auto fails if make is not) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" - -rlJournalStart - rlPhaseStartSetup - MAKE_WAS_PRESENT=false - rpm -q make &>/dev/null && MAKE_WAS_PRESENT=true - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlRun "rpm -e --nodeps make" 0,1 - rlPhaseEnd - - rlPhaseStartTest - echo "void main() { }" | gcc -x c -flto=auto - &> log - rlAssertNotGrep "lto-wrapper: fatal error: execvp: No such file or directory" log - rlPhaseEnd - - rlPhaseStartCleanup - if $MAKE_WAS_PRESENT; then - rpm -q make &>/dev/null || rlRun "yum -y install make" - fi - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/alloc1.f90 b/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/alloc1.f90 deleted file mode 100644 index 8765255..0000000 --- a/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/alloc1.f90 +++ /dev/null @@ -1,5 +0,0 @@ -program test_allocated - integer :: i = 4 - real(4), allocatable :: x(:) - if (.not. allocated(x)) allocate(x(i)) -end program test_allocated diff --git a/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/main.fmf b/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/main.fmf deleted file mode 100644 index d6b5ead..0000000 --- a/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1927579 (libgfortran seems to be missing) -description: | - Bug summary: libgfortran seems to be missing _gfortran_os_error_at - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1927579 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -- gcc-gfortran -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1927579 -extra-summary: /tools/gcc/Regression/bz1927579-libgfortran-seems-to-be-missing -extra-task: /tools/gcc/Regression/bz1927579-libgfortran-seems-to-be-missing diff --git a/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/runtest.sh b/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/runtest.sh deleted file mode 100755 index e635213..0000000 --- a/tests/Regression/bz1927579-libgfortran-seems-to-be-missing/runtest.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1927579-libgfortran-seems-to-be-missing -# Description: Test for BZ#1927579 (libgfortran seems to be missing) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp alloc1.f90 $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gfortran alloc1.f90" &> log - rlAssertNotGrep "alloc1.f90:(.text+0x131): undefined reference" log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/main.fmf b/tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/main.fmf deleted file mode 100644 index 4cfef47..0000000 --- a/tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1939638 (gcc-toolset-10-libasan-devel depends on the wrong) -description: | - Bug summary: gcc-toolset-10-libasan-devel depends on the wrong libasan - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1939638 -contact: Alexandra Hájková -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -- libasan -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1939638 -extra-summary: /tools/gcc/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong -extra-task: /tools/gcc/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong diff --git a/tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/runtest.sh b/tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/runtest.sh deleted file mode 100755 index 1d29c6c..0000000 --- a/tests/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong/runtest.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong -# Description: Test for BZ#1939638 (gcc-toolset-10-libasan-devel depends on the wrong) -# Author: Alexandra Hájková -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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="gcc" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "echo 'int main () { return 0; }' | gcc -xc -fsanitize=address -" &> log - rlAssertNotGrep "cannot find /usr/lib64/libasan" log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/main.fmf b/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/main.fmf deleted file mode 100644 index fac6ddb..0000000 --- a/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/main.fmf +++ /dev/null @@ -1,27 +0,0 @@ -summary: Test for BZ#1960701 (Wrong-code regression starting with gcc 8.2) -description: | - Bug summary: Wrong-code regression starting with gcc 8.2 - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1960701 -contact: Vaclav Kadlcik -component: -- gcc -test: bash ./runtest.sh -framework: beakerlib -require: -- gcc-c++ -duration: 15m -enabled: true -tag: - - CI-Tier-1 -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1960701 -adjust: - - enabled: false - when: distro < rhel-8 and collection is not defined - continue: false - - enabled: false - when: distro ~< rhel-8.5 and collection is not defined - continue: false -extra-nitrate: TC#0610780 -extra-summary: /tools/gcc/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2 -extra-task: /tools/gcc/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2 diff --git a/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/reproducer.cc b/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/reproducer.cc deleted file mode 100644 index 6ebd8e0..0000000 --- a/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/reproducer.cc +++ /dev/null @@ -1,14 +0,0 @@ -#include - -struct T { - unsigned a; - float b {8.}; -}; - -int main() -{ - T t = {1}; - std::vector tt = {{1}, {2}}; - if (t.a != 1 || t.b != 8.0f || tt[0].a != 1 || tt[0].b != 8.0f || tt[1].a != 2 || tt[1].b != 8.0f) - __builtin_abort (); -} diff --git a/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/runtest.sh b/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/runtest.sh deleted file mode 100755 index 9dd4ea3..0000000 --- a/tests/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2/runtest.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2 -# Description: Test for BZ#1960701 (Wrong-code regression starting with gcc 8.2) -# Author: Vaclav Kadlcik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -# Notes on relevancy -# -# The test is applicable to GCCs supporting -std=c++17. In practice, -# * any supported toolset GCC -# * system GCC of RHEL 8+; however the respective fix landed in 8.5 -# and isn't planned for backporting. -# -# Suggested TCMS relevancy: -# distro < rhel-8 && collection !defined: False -# distro < rhel-8.5 && collection !defined: False - -GCC="${GCC:-$(type -P gcc)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $GCC | head -1) -PACKAGES="${PACKAGE} ${PACKAGE}-c++" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlAssertRpm --all - rlRun "TmpDir=\$(mktemp -d)" - rlRun "cp reproducer.cc $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun 'g++ -o reproducer -Wall -Wextra -std=c++17 reproducer.cc' - rlRun './reproducer' - rlPhaseEnd - - rlPhaseStartCleanup - rlRun 'popd' - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/main.fmf b/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/main.fmf deleted file mode 100644 index c699de0..0000000 --- a/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#1965951 (Wrong-code regression starting with gcc 8.5) -description: | - Bug summary: Wrong-code regression starting with gcc 8.5 - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1965951 -contact: Vaclav Kadlcik -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc-c++ -duration: 15m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1965951 -extra-summary: /tools/gcc/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5 -extra-task: /tools/gcc/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5 diff --git a/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/reproducer.cc b/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/reproducer.cc deleted file mode 100644 index 40b0c81..0000000 --- a/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/reproducer.cc +++ /dev/null @@ -1,12 +0,0 @@ -#include -struct S1 { virtual ~S1() = default; }; -struct S2 { virtual void f1() = 0; }; -struct S3: S1, S2 { - void f1() { f2(); } - virtual void f2() = 0; -}; -struct S4: S3 { - void f2() { std::cout << "called\n"; } - using S2::f1; -}; -int main() { S4().f1(); } diff --git a/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/runtest.sh b/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/runtest.sh deleted file mode 100755 index d8d69d0..0000000 --- a/tests/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5/runtest.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5 -# Description: Test for BZ#1965951 (Wrong-code regression starting with gcc 8.5) -# Author: Vaclav Kadlcik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -GCC="${GCC:-$(type -P gcc)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $GCC | head -1) -PACKAGES="${PACKAGE} ${PACKAGE}-c++" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlRun "dnf -y install $PACKAGES" 0-255 - rlAssertRpm --all - rlRun "TmpDir=\$(mktemp -d)" - rlRun "cp reproducer.cc $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun 'g++ -o reproducer reproducer.cc' - rlRun './reproducer' - rlPhaseEnd - - rlPhaseStartCleanup - rlRun 'popd' - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/main.fmf b/tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/main.fmf deleted file mode 100644 index 8f8346f..0000000 --- a/tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/main.fmf +++ /dev/null @@ -1,26 +0,0 @@ -summary: SystemTap fails to retrieve location attribute for local variable -description: '' -contact: mcermak@redhat.com -component: - - gcc - - systemtap -test: bash ./runtest.sh -framework: beakerlib -require: - - gcc - - systemtap - - kernel-devel - - kernel-headers -duration: 50m -enabled: true -tag: - - CI-Tier-1 - - STAP-EWA - - mcu_stap - - mcu_stap_6g - - mcu_stap_7g -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=576287 -extra-nitrate: TC#0062256 -extra-summary: /tools/gcc/Regression/gcc/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable -extra-task: /tools/gcc/Regression/gcc/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable diff --git a/tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/runtest.sh b/tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/runtest.sh deleted file mode 100755 index 0003300..0000000 --- a/tests/Regression/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable/runtest.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# 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 3 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 rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="gcc" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - kernel_uname="$(uname -a | awk '{ print $3 }')" - kernel_arch="$(uname -a | awk '{ print $12 }')" - echo kernel_arch: $kernel_arch - kernel_version="$(echo ${kernel_uname} | sed 's/-/ /' | awk '{ print $1 }')" - echo kernel_version: $kernel_version - kernel_release="$(echo ${kernel_uname} | sed 's/-/ /' | awk '{ print $2 }' | sed 's/\./ /g' | awk '{ print $1,".",$2 }' | sed 's/ //g')" - echo kernel_release_1: $kernel_release - if $(echo ${kernel_release} | grep -iq PAE); then - kernel_release="$(echo ${kernel_release} | sed 's/PAE//g' | sed 's/pae//g')" - PAE="PAE-" - fi - echo kernel_release_2: $kernel_release - if rlIsRHEL 6; then - arch="${kernel_arch}-" - fi - kernel_debug="http://download.devel.redhat.com/brewroot/packages/kernel/${kernel_version}/${kernel_release}/${kernel_arch}/kernel-${PAE}debuginfo-${kernel_version}-${kernel_release}.${kernel_arch}.rpm" - kernel_debug_common="http://download.devel.redhat.com/brewroot/packages/kernel/${kernel_version}/${kernel_release}/${kernel_arch}/kernel-debuginfo-common-${arch}${kernel_version}-${kernel_release}.${kernel_arch}.rpm" - echo ">>> $kernel_debug $kernel_debug_common" - debuginfo-install -y kernel - rpmquery kernel-debuginfo || rpm -ivh ${kernel_debug} ${kernel_debug_common} - rlPhaseEnd - - rlPhaseStartTest opt-O$opt - rlRun "stap -vvvv -p2 -e 'probe kernel.function(\"sig_ignored\") {println($$parms)}' 2>&1 | grep 'variable location problem'" 1 "gcc produced good enough debuginfo w/o 'variable location problem'" - rlPhaseEnd - - rlPhaseStartCleanup - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/f.cc b/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/f.cc deleted file mode 100644 index 7b815cd..0000000 --- a/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/f.cc +++ /dev/null @@ -1,15 +0,0 @@ -template int func (void); - -template struct Foo -{ - static const unsigned int a = sizeof (T); - - //enum { b = a }; - - enum - { - c = sizeof (func < (a == 0) > ()) - }; -}; - -Foo x; diff --git a/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/main.fmf b/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/main.fmf deleted file mode 100644 index 4ad6875..0000000 --- a/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/main.fmf +++ /dev/null @@ -1,28 +0,0 @@ -summary: Try to compile a program that has a template parameter with a boolean expression - involving a templated static constant -description: '' -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template -framework: beakerlib -require: - - gcc - - gcc-c++ - - file -duration: 5m -enabled: true -tier: '1' -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=703059 -tag: - - CI-Tier-1 - - DTS8-INTEROP-CI - - DTS9-INTEROP-CI - - Tier1 - - dts_smoke - - dts_stable -extra-nitrate: TC#0111110 -extra-summary: /tools/gcc/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template -extra-task: /tools/gcc/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template diff --git a/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/runtest.sh b/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/runtest.sh deleted file mode 100755 index 8f50b77..0000000 --- a/tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template/runtest.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template -# Description: Try to compile a program that has a template parameter with a boolean expression involving a templated static constant -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011, 2012 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 rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -GXX=${GXX:-g++} - -rlJournalStart - rlPhaseStartSetup - rlLog "GXX = $GXX" - rlLog "Installed within `rpmquery -f $(which $GXX)`" - rlRun "TmpDir=\`mktemp -d\`" - rlRun "cp -v f.cc $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GXX -c f.cc" - rlAssertExists "f.o" - rlRun "file f.o | grep ELF" # Basic obj file sanity check - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/unused_parameter_warning/main.fmf b/tests/Regression/unused_parameter_warning/main.fmf deleted file mode 100644 index b589e98..0000000 --- a/tests/Regression/unused_parameter_warning/main.fmf +++ /dev/null @@ -1,31 +0,0 @@ -summary: Check to see if g++ throws unused parameter warnings with standard libraries - with option -Wall -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Regression/unused_parameter_warning -framework: beakerlib -require: - - gcc-c++ - - glibc-devel - - libstdc++-devel -recommend: - - gcc44-c++ - - glibc-devel.ppc64 - - glibc-devel.ppc - - libstdc++43-devel.ppc - - libstdc++44-devel.ppc - - libstdc++-devel.ppc -duration: 10m -enabled: true -tier: '1' -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=201342 -tag: - - CI-Tier-1 - - Tier1 - - dts_stable -extra-nitrate: TC#0062265 -extra-summary: /tools/gcc/c++/unused_parameter_warning -extra-task: /tools/gcc/c++/unused_parameter_warning diff --git a/tests/Regression/unused_parameter_warning/runtest.sh b/tests/Regression/unused_parameter_warning/runtest.sh deleted file mode 100755 index 4a5d2fb..0000000 --- a/tests/Regression/unused_parameter_warning/runtest.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/rhts-library/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009, 2012 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# g++ - check for unused parameter warning -# expected exit code is 0 -# -# Author: Sachin Prabhu -# Maintainer: Marek Polacek - - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gcc gcc-c++ grep) - -GXX=${GXX:-g++} - -rlJournalStart - rlPhaseStartSetup - for p in "${PACKAGES[@]}"; do - rlAssertRpm "$p" - done; unset p - rlLog "GXX = $GXX" - rlLog "Installed within `rpmquery -f $(which $GXX)`" - rlRun "TmpDir=\`mktemp -d\`" - rlRun "cp -v test.cpp $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GXX -W -Wall -o test.bin test.cpp &> output" - cat output - rlRun "grep -E 'warning:\W+unused\W+parameter' -q output" 1 "'warning: unused parameter' not present" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/unused_parameter_warning/test.cpp b/tests/Regression/unused_parameter_warning/test.cpp deleted file mode 100644 index 15d375b..0000000 --- a/tests/Regression/unused_parameter_warning/test.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include -int main() {} diff --git a/tests/Sanity/compile-rpm/main.fmf b/tests/Sanity/compile-rpm/main.fmf deleted file mode 100644 index 4685e4a..0000000 --- a/tests/Sanity/compile-rpm/main.fmf +++ /dev/null @@ -1,45 +0,0 @@ -summary: Compile a Red Hat RPM package. -description: '' -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Sanity/compile-rpm -framework: beakerlib -require: - - autoconf - - bison - - dejagnu - - elfutils-libelf-devel - - expat-devel - - flex - - gcc - - gdb - - glibc-devel - - grep - - libselinux-devel - - make - - mpfr-devel - - ncurses-devel - - python-devel - - readline-devel - - rpm-build - - rpm-devel - - texinfo - - xz-devel - - yum-utils - - zlib-devel -duration: 240m -adjust: - - require+: - - ncurses-devel.i686 - - ncurses-devel.x86_64 - when: arch == x86_64 - - enabled: false - # Too "heavy" for Fedora CI (for now) - when: distro == fedora and trigger is defined - continue: false -enabled: true -extra-nitrate: TC#0142522 -extra-summary: /tools/gcc/Sanity/compile-rpm -extra-task: /tools/gcc/Sanity/compile-rpm diff --git a/tests/Sanity/compile-rpm/runtest.sh b/tests/Sanity/compile-rpm/runtest.sh deleted file mode 100755 index 5f68e75..0000000 --- a/tests/Sanity/compile-rpm/runtest.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Sanity/compile-rpm -# Description: Compile a Red Hat RPM package. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 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 - -GCC=${GCC:-gcc} - -# Set the variabile UNDER_DTS on non-empty string, when run under devtoolset. -if $( echo `which gcc` | grep -qE '/opt/rh/' ); then - UNDER_DTS="true" - # Set the actual version of DTS - DTS=`which gcc | awk 'BEGIN { FS="/" } { print $4 }'` -fi - -rlJournalStart - rlPhaseStartSetup - # Work around troubles with buildroot packages being out-of-sync - if rlIsRHEL; then - rlMountRedhat - for i in libipt source-highlight libbabeltrace; do - rpm -q $i &>/dev/null || rlRun "yum -y install $i" 0-255 - rpm -q ${i}-devel &>/dev/null || rlRun "yum -y install ${i}-devel" 0-255 - d=/mnt/redhat/brewroot/packages/$i - if rpm -q $i &>/dev/null && ! rpm -q ${i}-devel &>/dev/null; then - if [[ -e /mnt/redhat/brewroot/packages/$i ]]; then - d=/mnt/redhat/brewroot/packages/$i - else - d=/mnt/redhat/brewroot/packages/${i#lib} - fi - rlRun "yum -y install $d/$(rpm -q --qf='%{VERSION}/%{RELEASE}/%{ARCH}' $i)/${i}-devel-$(rpm -q --qf='%{VERSION}-%{RELEASE}.%{ARCH}' $i).rpm" - fi - done - fi - - rlRun "TmpDir=\$(mktemp -d)" - rlRun "pushd $TmpDir" - - if [ -z ${UNDER_DTS} ]; then - rlFetchSrcForInstalled gdb || yumdownloader --source gdb - else - rlFetchSrcForInstalled $DTS-gdb || yumdownloader --source $DTS-gdb - fi - - if [ -z ${UNDER_DTS} ]; then - srpm=$(rpmquery gdb --queryformat=%{NAME}-%{VERSION}-%{RELEASE})".src.rpm" - else - srpm=$(rpmquery $DTS-gdb --queryformat=%{NAME}-%{VERSION}-%{RELEASE})".src.rpm" - fi - rlRun "rpm -Uvh $srpm" - spec_dir=$(rpm --eval=%_specdir) - build_dir=$(rpm --eval=%_builddir) - - if [ -z ${UNDER_DTS} ]; then - pkg_dir=$(rpmquery gdb} --queryformat=%{NAME}-%{VERSION}) - else - pkg_dir=$(rpmquery $DTS-gdb} --queryformat=%{NAME}-%{VERSION}) - fi - - yum-builddep -y $spec_dir/gdb.spec - rlPhaseEnd - - rlPhaseStartTest - rlRun "CC=$GCC rpmbuild -bb $spec_dir/gdb.spec &> BUILD_LOG" - test $? -eq 0 || tail -n 20 BUILD_LOG - rlPhaseEnd - - rlPhaseStartCleanup - rlBundleLogs "Build-log" BUILD_LOG - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/libitm-smoke/bins_aarch64.tar.gz b/tests/Sanity/libitm-smoke/bins_aarch64.tar.gz deleted file mode 100644 index d528f036f9fae1083d76ebd7822044824d7bfa84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42861 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 H&K&tS5@yui diff --git a/tests/Sanity/libitm-smoke/bins_i686.tar.gz b/tests/Sanity/libitm-smoke/bins_i686.tar.gz deleted file mode 100644 index ce0e948621bf10e7ef81b864afb0eae72729a7a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18165 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 diff --git a/tests/Sanity/libitm-smoke/bins_ppc64le.tar.gz b/tests/Sanity/libitm-smoke/bins_ppc64le.tar.gz deleted file mode 100644 index b8e9215be9591b08e693cca67b9bc1a65f1d5588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41583 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≶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 diff --git a/tests/Sanity/libitm-smoke/bins_s390x.tar.gz b/tests/Sanity/libitm-smoke/bins_s390x.tar.gz deleted file mode 100644 index 742a917717d437d06ef84c718df06b59a2c265b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20507 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 diff --git a/tests/Sanity/libitm-smoke/bins_x86_64.tar.gz b/tests/Sanity/libitm-smoke/bins_x86_64.tar.gz deleted file mode 100644 index e8841853731a072890c57902014c1b1c0d353eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19693 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 z 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 diff --git a/tests/Sanity/libitm-smoke/main.fmf b/tests/Sanity/libitm-smoke/main.fmf deleted file mode 100644 index 06bf77d..0000000 --- a/tests/Sanity/libitm-smoke/main.fmf +++ /dev/null @@ -1,34 +0,0 @@ -summary: Just runs prebuilt binaries -description: | - Just running prebuilt binaries that require libitm. - This test is designed to run in gcc-libraries CI. we - cannot build anything on our own, since we don't have - devtoolset's gcc and -devel libraries. - - This should run OK on RHEL-6 and RHEL-7, currently all - arches. - - The sources of the tests are in Sanity/libitm-sanity. - !!! THIS TEST IS INTENTIONALLY NOT IN gcc General PLAN !!! -contact: Michael Petlan -component: - - gcc - - gcc-libraries -test: bash ./runtest.sh -framework: beakerlib -require: - - gcc - - libitm -recommend: - - gcc-libraries -duration: 5m -enabled: true -tag: - - CI-Tier-1 -adjust: - - enabled: false - when: distro == rhel-6 and arch == s390x - continue: false -extra-nitrate: TC#0539542 -extra-summary: /tools/gcc/Sanity/libitm-smoke -extra-task: /tools/gcc/Sanity/libitm-smoke diff --git a/tests/Sanity/libitm-smoke/runtest.sh b/tests/Sanity/libitm-smoke/runtest.sh deleted file mode 100755 index 8c78f78..0000000 --- a/tests/Sanity/libitm-smoke/runtest.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Sanity/libitm-smoke -# Description: Just runs prebuilt binaries -# Author: Michael Petlan -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -# Relevant for any system with libitm binary compatible with the attached -# binaries. -# Suggested TCMS relevancy: -# distro = rhel-6 && arch = s390x: False - -PACKAGE="gcc" -REALLY_WANT_TO_RUN="true" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - if [ "$BASEOS_CI" = "true" ]; then - # in CI, we need to be able to skip this testcase - # in case libitm is not a part of gcc-libraries - rlCheckRpm "libitm" || REALLY_WANT_TO_RUN="false" - else - rlCheckRpm "libitm" || rlRun "yum install -y libitm" 0 "Installing missing libitm" - rlAssertRpm "libitm" - fi - TARBALL="bins_`arch`.tar.gz" - if [ ! -f $TARBALL ]; then - rlDie "We do not have binaries for your arch (`arch`)" - fi - rlRun "zcat $TARBALL | tar x" - rlRun "pushd bins" - rlPhaseEnd - - if [ "$REALLY_WANT_TO_RUN" = "true" ]; then - rlPhaseStartTest - for i in T_*; do - rlRun "./$i" - done - rlPhaseEnd - else - rlPhaseStartTest - rlPass "SKIPPING THIS TEST -- libitm is probably not shipped within current gcc-libraries" - rlPhaseEnd - fi - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -rf bins" 0 "Removing the stuff we created" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/rebuild-binutils/main.fmf b/tests/Sanity/rebuild-binutils/main.fmf deleted file mode 100644 index 8c05e0a..0000000 --- a/tests/Sanity/rebuild-binutils/main.fmf +++ /dev/null @@ -1,70 +0,0 @@ -summary: Rebuild binutils. -description: '' -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Sanity/rebuild-binutils -framework: beakerlib -require: - - autoconf - - automake - - binutils - - gcc - - glibc - - glibc-devel - - glibc-static - - libstdc++ - - libstdc++-devel - - libstdc++-static - - perl - - rpm-build - - sharutils - - texinfo - - yum-utils - - zlib-devel - - zlib-static -recommend: - - glibc-devel.ppc - - glibc-devel.s390 - - glibc-static.ppc - - glibc-static.s390 - - libgcc.ppc - - libgcc.s390 - - libstdc++-devel.ppc - - libstdc++-devel.s390 - - libstdc++.ppc - - libstdc++.s390 - - libstdc++-static.ppc - - libstdc++-static.s390 - - zlib-devel.ppc - - zlib-static.ppc - - dnf-utils - - yum-utils -duration: 3h -enabled: true -adjust: - - require+: - - glibc-devel.i686 - - glibc-devel.x86_64 - - glibc-static.i686 - - glibc-static.x86_64 - - libgcc.i686 - - libgcc.x86_64 - - libstdc++-devel.i686 - - libstdc++-devel.x86_64 - - libstdc++.i686 - - libstdc++.x86_64 - - libstdc++-static.i686 - - libstdc++-static.x86_64 - when: arch == x86_64 - - enabled: false - when: distro == rhel-6 and collection is defined - continue: false - - enabled: false - # Too "heavy" for Fedora CI (for now) - when: distro == fedora and trigger is defined - continue: false -extra-nitrate: TC#0147459 -extra-summary: /tools/gcc/Sanity/rebuild-binutils -extra-task: /tools/gcc/Sanity/rebuild-binutils diff --git a/tests/Sanity/rebuild-binutils/runtest.sh b/tests/Sanity/rebuild-binutils/runtest.sh deleted file mode 100755 index 714ac4d..0000000 --- a/tests/Sanity/rebuild-binutils/runtest.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Sanity/rebuild-binutils -# Description: Rebuild binutils. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 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 - -# The test is expected to fail in devtoolset-* on RHEL-6 because of -# the "Unresolvable `R_X86_64_NONE` relocation" family of bugs, e.g. -# https://bugzilla.redhat.com/show_bug.cgi?id=1545386 -# They have been fixed for both the base and devtoolset binutils -# on RHEL-7 but on RHEL-6, it was just the base binutils. - -GCC=${GCC:-gcc} - -# Set the variabile UNDER_DTS on non-empty string, when run under devtoolset. -if $( echo `which gcc` | grep -qE '/opt/rh/' ); then - UNDER_DTS="true" - # Set the actual version of DTS - DTS=`which gcc | awk 'BEGIN { FS="/" } { print $4 }'` -fi - -rlJournalStart - rlPhaseStartSetup - rlLog "Using GCC: `rpmquery -f $(which $GCC)`" - rlRun "rpmquery -a | grep -e yum-utils -e dnf-utils" 0 "YUM or DNF utils are installed" - rlRun "TmpDir=\$(mktemp -d)" - rlRun "pushd $TmpDir" - - if [ -z ${UNDER_DTS} ]; then - rlFetchSrcForInstalled binutils || yumdownloader --source binutils - srpm=$(find binutils*.src.rpm | tail -n1) - else - rlFetchSrcForInstalled $DTS-binutils || yumdownloader --source $DTS-binutils - srpm=$(find $DTS-binutils*.src.rpm | tail -n1) - fi - rlRun "rpm -Uvh $srpm" - spec_dir=$(rpm --eval=%_specdir) - yum-builddep -y $spec_dir/binutils.spec - rlPhaseEnd - - rlPhaseStartTest - if [ "$(uname -i)" == "ppc64" ]; then - if rlIsRHEL 6; then - target='--target=ppc64' - else - target='--target=ppc' - fi - fi - if [ "$(uname -i)" == "i386" ]; then - target='--target=i686' - fi - - rlRun "setsebool allow_execmod 1" - rlRun "CC=$GCC rpmbuild -bb $target --clean $spec_dir/binutils.spec &> BUILD_LOG" || ( echo "========== BUILD_LOG tail ==========" ; tail -n 20 BUILD_LOG ) - rlRun "setsebool allow_execmod 0" - rlPhaseEnd - - rlPhaseStartCleanup - rlBundleLogs "Build-log" BUILD_LOG - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/rebuild-glibc/main.fmf b/tests/Sanity/rebuild-glibc/main.fmf deleted file mode 100644 index ea649f0..0000000 --- a/tests/Sanity/rebuild-glibc/main.fmf +++ /dev/null @@ -1,84 +0,0 @@ -description: | - Rebuild current glibc. -summary: Rebuild glibc -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Sanity/rebuild-glibc -framework: beakerlib -require: - - audit-libs-devel - - binutils - - bison - - gcc - - gcc-c++ - - gd-devel - - glibc-devel - - glibc-static - - glibc-utils - - libcap-devel - - libgcc - - libpng-devel - - libstdc++ - - libstdc++-devel - - libstdc++-static - - libXpm-devel - - nspr-devel - - nss-devel - - nss-softokn-devel - - nss-util-devel - - python3-devel - - rpm-build - - systemtap-sdt-devel - - texinfo - - valgrind - - yum-utils -recommend: - - glibc-devel.ppc - - glibc-devel.s390 - - glibc-static.ppc - - glibc-static.s390 - - libgcc.ppc - - libgcc.s390 - - libstdc++-devel.ppc - - libstdc++-devel.s390 - - libstdc++.ppc - - libstdc++.s390 - - libstdc++-static.ppc - - libstdc++-static.s390 - - dnf-utils - - yum-utils -duration: 18h -enabled: true -tag: - - NoDTS - - rhel8-buildroot -adjust: - - require+: - - glibc-devel.i686 - - glibc-devel.x86_64 - - glibc-static.i686 - - glibc-static.x86_64 - - libgcc.i686 - - libgcc.x86_64 - - libstdc++-devel.i686 - - libstdc++-devel.x86_64 - - libstdc++.i686 - - libstdc++.x86_64 - - libstdc++-static.i686 - - libstdc++-static.x86_64 - when: arch == x86_64 - - require-: - - python3-devel - when: distro < rhel-8 - - enabled: false - when: collection is defined - continue: false - - enabled: false - # Too "heavy" for Fedora CI (for now) - when: distro == fedora and trigger is defined - continue: false -extra-nitrate: TC#0035677 -extra-summary: /tools/gcc/Sanity/rebuild-glibc -extra-task: /tools/gcc/Sanity/rebuild-glibc diff --git a/tests/Sanity/rebuild-glibc/runtest.sh b/tests/Sanity/rebuild-glibc/runtest.sh deleted file mode 100755 index 52255c5..0000000 --- a/tests/Sanity/rebuild-glibc/runtest.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2009, 2012 Red Hat, Inc. All rights reserved. -# -# 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 3 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 . -# -# Author: Michal Nowak -# Rewrite: Marek Polacek - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -cpu_good_for_make_check () { - # glibc can create several alternative CPU-specific bits that are selected - # in runtime. However the "make check" phase tries to test all of them and - # fails when testing a more "advanced" binary than the SUT's CPU. In such - # case we'd want to skip "make check" to prevent "rpmbuild" from a certain - # failure. - if rlIsRHEL '>=8' && [[ $(arch) = ppc64le ]] && grep -q 'POWER[2-8]' /proc/cpuinfo; then - rlLogInfo 'RHEL8+ on BUILD_LOG" - test $? -eq 0 || tail -n 20 BUILD_LOG - rlPhaseEnd - - rlPhaseStartCleanup - rlBundleLogs "Build-log" BUILD_LOG - rlRun "popd" - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/test-m32-m64-options/clear_cache.c b/tests/Sanity/test-m32-m64-options/clear_cache.c deleted file mode 100644 index b10479f..0000000 --- a/tests/Sanity/test-m32-m64-options/clear_cache.c +++ /dev/null @@ -1,7 +0,0 @@ -int -main (void) -{ - char *mem = __builtin_alloca (40); - __builtin___clear_cache (mem, mem + 40); - return 0; -} diff --git a/tests/Sanity/test-m32-m64-options/cpp11.cpp b/tests/Sanity/test-m32-m64-options/cpp11.cpp deleted file mode 100644 index 0d57b57..0000000 --- a/tests/Sanity/test-m32-m64-options/cpp11.cpp +++ /dev/null @@ -1,78 +0,0 @@ -template -class X -{ - T p; -public: - template auto f() -> decltype(+p) { return p; } -}; - -struct A -{ - int i = 42; -}; - -struct B -{ - int i = 42; - B() { } - B(int i): i(i) { } -}; - -template -struct C -{ - T m = t; -}; - -template -struct D -{ - T m = t; - D() { } - D(T m):m(m) { } -}; - -struct complex -{ - typedef float value_type; - typedef __complex__ float _ComplexT; - - constexpr complex(_ComplexT __z) : _M_value(__z) { } - - constexpr complex(float __r = 0.0f, float __i = 0.0f) - : _M_value(__r + __i * 1.0f) { } - -private: - _ComplexT _M_value; -}; - -constexpr complex c1; - -int -main (void) -{ - X().f(); - A a1; - if (a1.i != 42) return 1; - A a2{}; - if (a2.i != 42) return 2; - A a3[1]; - if (a3[0].i != 42) return 3; - - B b1; - if (b1.i != 42) return 3; - B b2 (24); - if (b2.i != 24) return 4; - - C c1; - if (c1.m != 3) return 5; - C c2 {}; - if (c2.m != 5) return 6; - - D d1; - if (d1.m != 3) return 7; - D d2 (5) ; - if (d2.m != 5) return 8; - - return 0; -} diff --git a/tests/Sanity/test-m32-m64-options/hello.c b/tests/Sanity/test-m32-m64-options/hello.c deleted file mode 100644 index 98a53b6..0000000 --- a/tests/Sanity/test-m32-m64-options/hello.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int -main (void) -{ - puts ("Hello World!"); - return 0; -} diff --git a/tests/Sanity/test-m32-m64-options/hello.cpp b/tests/Sanity/test-m32-m64-options/hello.cpp deleted file mode 100644 index 0f2234e..0000000 --- a/tests/Sanity/test-m32-m64-options/hello.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int -main (void) -{ - std::cout << "Hello, world!\n"; -} diff --git a/tests/Sanity/test-m32-m64-options/hello.f90 b/tests/Sanity/test-m32-m64-options/hello.f90 deleted file mode 100644 index afabbb2..0000000 --- a/tests/Sanity/test-m32-m64-options/hello.f90 +++ /dev/null @@ -1,3 +0,0 @@ - program hello - print *, "Hello World!" - end program hello diff --git a/tests/Sanity/test-m32-m64-options/lambda-template.C b/tests/Sanity/test-m32-m64-options/lambda-template.C deleted file mode 100644 index 6f3b4e8..0000000 --- a/tests/Sanity/test-m32-m64-options/lambda-template.C +++ /dev/null @@ -1,41 +0,0 @@ -// { dg-options -std=c++0x } -// { dg-do run } - -extern "C" void abort(); - -template -auto apply (T t) -> decltype (t()) -{ - return t(); -} - -template -void f(T t) -{ - T t2 = t; - if (t != [=]()->T { return t; }()) - abort (); - if (t != [=] { return t; }()) - abort (); - if (t != [=] { return t2; }()) - abort (); - if (t != [&] { return t; }()) - abort (); - if (t != apply([=]{return t;})) - abort (); - - int i; - [&] (int a) { return a+i+t; } (0); - [&] (int a) -> decltype(a) { return a+i+t; } (0); - [&] (int a) -> decltype(i) { return a+i+t; } (0); - [&] (int a) -> decltype(t) { return a+i+t; } (0); - [&] (int a) -> decltype(a+i) { return a+i+t; } (0); - [&] (int a) -> decltype(a+t) { return a+i+t; } (0); - [&] (int a) -> decltype(i+t) { return a+i+t; } (0); - [&] (int a) -> decltype(a+i+t) { return a+i+t; } (0); -} - -int main() -{ - f(0xbeef); -} diff --git a/tests/Sanity/test-m32-m64-options/main.fmf b/tests/Sanity/test-m32-m64-options/main.fmf deleted file mode 100644 index cef912f..0000000 --- a/tests/Sanity/test-m32-m64-options/main.fmf +++ /dev/null @@ -1,58 +0,0 @@ -summary: Try -m32 and -m64 options. -description: Try -m32 and -m64 options -contact: mcermak@redhat.com -component: - - gcc -test: bash ./runtest.sh -path: /tests/Sanity/test-m32-m64-options -framework: beakerlib -require: - - gcc - - gcc-c++ - - gcc-gfortran - - glibc-devel - - libgfortran - - libgomp - - libstdc++-devel - - libitm -recommend: - - libgfortran5 - - libitm-devel - - libquadmath-devel -duration: 20m -enabled: true -link: - - relates: https://bugzilla.redhat.com/show_bug.cgi?id=1113429 -adjust: - - enabled: false - when: arch == ia64, ppc64, s390, s390x - continue: false - - enabled: false - when: arch == aarch64 - continue: false - because: no -m64 nor -m32 there - - require+: - - glibc-devel.x86_64 - - glibc-devel.i686 - - libgfortran.x86_64 - - libgfortran.i686 - - libstdc++-devel.x86_64 - - libstdc++-devel.i686 - - libitm.x86_64 - - libitm.i686 - - libgomp.x86_64 - - libgomp.i686 - - libquadmath.x86_64 - - libquadmath.i686 - when: arch == x86_64 - - recommend+: - - libgfortran5.x86_64 - - libgfortran5.i686 - - libitm-devel.x86_64 - - libitm-devel.i686 - - libquadmath-devel.x86_64 - - libquadmath-devel.i686 - when: arch == x86_64 -extra-nitrate: TC#0197178 -extra-summary: /tools/gcc/Sanity/test-m32-m64-options -extra-task: /tools/gcc/Sanity/test-m32-m64-options diff --git a/tests/Sanity/test-m32-m64-options/omphello.c b/tests/Sanity/test-m32-m64-options/omphello.c deleted file mode 100644 index 85b591f..0000000 --- a/tests/Sanity/test-m32-m64-options/omphello.c +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include - -int -main (void) -{ - int th_id; - int nthreads; - - #pragma omp parallel private(th_id) - { - th_id = omp_get_thread_num (); - printf ("Hello World from thread %d\n", th_id); - - #pragma omp barrier - if (th_id == 0) - { - nthreads = omp_get_num_threads (); - printf ("There are %d threads\n", nthreads); - } - } - return EXIT_SUCCESS; -} diff --git a/tests/Sanity/test-m32-m64-options/quad.c b/tests/Sanity/test-m32-m64-options/quad.c deleted file mode 100644 index f9e5ef1..0000000 --- a/tests/Sanity/test-m32-m64-options/quad.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include -#include - -int -main (void) -{ - __float128 r = strtoflt128 ("1.23456789", NULL); - - int prec = 20; - int width = 46; - char buf[128]; - - r = 2.0q; - r = sqrtq (r); - int n = quadmath_snprintf (buf, sizeof buf, "%+-#*.20Qe", width, r); - if ((size_t) n < sizeof buf) - /* Prints: +1.41421356237309504880e+00. */ - printf ("%s\n", buf); - quadmath_snprintf (buf, sizeof buf, "%Qa", r); - if ((size_t) n < sizeof buf) - /* Prints: 0x1.6a09e667f3bcc908b2fb1366ea96p+0. */ - printf ("%s\n", buf); - n = quadmath_snprintf (NULL, 0, "%+-#46.*Qe", prec, r); - if (n > -1) - { - char *str = malloc (n + 1); - if (str) - { - quadmath_snprintf (str, n + 1, "%+-#46.*Qe", prec, r); - /* Prints: +1.41421356237309504880e+00. */ - printf ("%s\n", str); - } - free (str); - } - - return 0; -} diff --git a/tests/Sanity/test-m32-m64-options/runtest.sh b/tests/Sanity/test-m32-m64-options/runtest.sh deleted file mode 100755 index 31b8241..0000000 --- a/tests/Sanity/test-m32-m64-options/runtest.sh +++ /dev/null @@ -1,167 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Sanity/test-m32-m64-options -# Description: Try -m32 and -m64 options. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# In this test, we try to compile and run programs using -m32 and -m64. -# We compile C, C++ and Fortran Hello World programs. Also, there are two -# proglets which are exercising some C++11 features. Furthermore, we try -# -fgnu-tm, -fopenmp options. We also use libquadmath a little bit. -# We call a function from libgcc. We also use the __thread keyword. - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -GCC=${GCC:-$(type -P gcc)} -GCC_RPM_NAME=$(rpm --qf '%{name}' -qf $GCC) - -[[ "$GCC_RPM_NAME" == *toolset* ]] && TOOLSET=${GCC_RPM_NAME%-gcc} || TOOLSET='' - -if [ -n "`rlGetPrimaryArch`" ]; then - PRI_ARCH=$(rlGetPrimaryArch) -else - PRI_ARCH="$(uname -i)" -fi - -# State applicable -m switches -SWITCHES='-m64 -m32' -case "$PRI_ARCH" in - i686) - SWITCHES=-m32 # just base RHEL-6/i386 - ;; - ppc64le) # we never had 32 support there - SWITCHES=-m64 - ;; - aarch64) - # Not only we never had 32-bit support there, GCC on this architecture - # doesn't accept the -m64 switch either. This test isn't applicable - # at all and should be excluded by its relevancy, e.g. in TCMS: - # arch = aarch64: False - exit 1 - ;; - ppc64|s390x) # 32-bit support present only in system GCC of RHEL <8 - if [[ -z "$TOOLSET" ]] && rlIsRHEL '<8'; then - if [[ "$PRI_ARCH" != s390x ]]; then - SWITCHES='-m64 -m32' - else - SWITCHES='-m64 -m31' - fi - else - SWITCHES=-m64 - fi - ;; -esac - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "GCC=$GCC" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" - rlRun "cp -v hello.{c,cpp,f90} tm.c quad.c thr-init-2.c clear_cache.c omphello.c lambda-template.C cpp11.cpp $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartSetup "Showing compiler versions" - for compiler in gcc g++ gfortran; do - rlLogInfo "Version of compiler: $compiler" - eval "$compiler --version 2>&1" | while read line; do - rlLogInfo " $line" - done - done - rlPhaseEnd - - for m in $SWITCHES; do - rlPhaseStartTest "Compile and run [$m]" - - # Test C - rlRun "gcc $m hello.c -o hello_c" - rlRun ./hello_c - - # Test C++ - rlRun "g++ $m hello.cpp -o hello_cpp" - rlRun ./hello_cpp - - # C++11 features. Not available in system GCC of RHEL-6 - if ! rlIsRHEL 6 || [[ -n "$TOOLSET" ]]; then - rlRun "g++ $m -std=c++11 lambda-template.C -o lambda" - rlRun ./lambda - - rlRun "g++ $m -std=c++11 cpp11.cpp -o cpp11" - rlRun ./cpp11 - fi - - # Test Fortran - rlRun "gfortran $m hello.f90 -o hello_fortran" - rlRun "./hello_fortran" - - # Test TM. Not available in system GCC of RHEL-6 - if ! rlIsRHEL 6 || [[ -n "$TOOLSET" ]]; then - rlRun "gcc $m -O2 -std=gnu99 -fgnu-tm tm.c -o tm" - rlRun ./tm - fi - - # Test OpenMP - rlRun "gcc $m omphello.c -O2 -std=gnu99 -fopenmp -o omp" - rlRun ./omp - - # Test __thread - rlRun "gcc $m thr-init-2.c -O2 -std=gnu99 -ftls-model=initial-exec -o thr" - rlRun ./thr - - # Now test some libquadmath stuff (__float128 support). - if rpm -q ${GCC_RPM_NAME%%gcc}libquadmath-devel &>/dev/null; then - rlRun "gcc $m quad.c -O2 -std=gnu99 -lquadmath -o quad -lm" - rlRun ./quad - fi - - # And now something from libgcc, e.g. __builtin___clear_cache. - rlRun "gcc $m clear_cache.c -O2 -std=gnu99 -o cache" - rlRun ./cache - - rlPhaseEnd - done - - rlPhaseStartCleanup - rlRun popd - rlRun "rm -r $TmpDir" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/test-m32-m64-options/thr-init-2.c b/tests/Sanity/test-m32-m64-options/thr-init-2.c deleted file mode 100644 index 5b70dd2..0000000 --- a/tests/Sanity/test-m32-m64-options/thr-init-2.c +++ /dev/null @@ -1,20 +0,0 @@ -extern void abort() ; - -static __thread int fstat ; -static __thread int fstat = 1; - -int test_code(int b) -{ - fstat += b ; - return fstat; -} - -int main (int ac, char *av[]) -{ - int a = test_code(1); - - if ((a != 2) || (fstat != 2)) - abort () ; - - return 0; -} diff --git a/tests/Sanity/test-m32-m64-options/tm.c b/tests/Sanity/test-m32-m64-options/tm.c deleted file mode 100644 index 92b90db..0000000 --- a/tests/Sanity/test-m32-m64-options/tm.c +++ /dev/null @@ -1,34 +0,0 @@ -extern void *malloc (__SIZE_TYPE__) __attribute__((malloc,transaction_safe)); - -static int __attribute__((transaction_safe)) -something (void) -{ - return 0; -} - -struct large { int foo[500]; }; - -int -main (void) -{ - int *p; - struct large *lp; - - __transaction_atomic { - p = malloc (sizeof (*p) * 100); - lp = malloc (sizeof (*lp) * 100); - - /* No instrumentation necessary; P and LP are transaction local. */ - p[5] = 123; - lp->foo[66] = 123; - - if (something ()) - __transaction_cancel; - } - - __transaction_relaxed { - ++p[5]; - } - - return ((p[5] == 124) ? 0 : 1); -} diff --git a/tests/fedora-flags/hello.c b/tests/fedora-flags/hello.c deleted file mode 100644 index 51b259b..0000000 --- a/tests/fedora-flags/hello.c +++ /dev/null @@ -1,5 +0,0 @@ -#include - -void hello() { - printf("Hello World\n"); -} diff --git a/tests/fedora-flags/hello.cpp b/tests/fedora-flags/hello.cpp deleted file mode 100644 index 400612b..0000000 --- a/tests/fedora-flags/hello.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include - -void hello() { - std::cout << "Hello World\n"; -} diff --git a/tests/fedora-flags/main.c b/tests/fedora-flags/main.c deleted file mode 100644 index 1a3455d..0000000 --- a/tests/fedora-flags/main.c +++ /dev/null @@ -1,6 +0,0 @@ -void hello(); - -int main(int argc, char **argv) { - hello(); - return 0; -} diff --git a/tests/fedora-flags/main.cpp b/tests/fedora-flags/main.cpp deleted file mode 100644 index 1a3455d..0000000 --- a/tests/fedora-flags/main.cpp +++ /dev/null @@ -1,6 +0,0 @@ -void hello(); - -int main(int argc, char **argv) { - hello(); - return 0; -} diff --git a/tests/fedora-flags/main.fmf b/tests/fedora-flags/main.fmf deleted file mode 100644 index 43934a7..0000000 --- a/tests/fedora-flags/main.fmf +++ /dev/null @@ -1,10 +0,0 @@ -summary: Test compiling with the Fedora C/CXX flags. -description: '' -component: - - gcc -test: ./runtest.sh -require: - - annobin-annocheck - - gcc - - gcc-c++ - - redhat-rpm-config diff --git a/tests/fedora-flags/runtest.sh b/tests/fedora-flags/runtest.sh deleted file mode 100755 index 01b656b..0000000 --- a/tests/fedora-flags/runtest.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set -ex - -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}') - -test "$default_cflags" = "$cflags" -test "$default_cxxflags" = "$cxxflags" -test "$default_ldflags" = "$ldflags" - -gcc $cflags -o hello.o -c hello.c -annocheck hello.o -gcc $cflags -o main.o -c main.c -gcc $ldflags -o hello main.o hello.o -annocheck hello -./hello | grep "Hello World" - -g++ $cxxflags -o hello-cpp.o -c hello.cpp -annocheck hello-cpp.o -g++ $cxxflags -o main-cpp.o -c main.cpp -g++ $ldflags -o hello-cpp main-cpp.o hello-cpp.o -annocheck hello-cpp -./hello-cpp | grep "Hello World" diff --git a/tests/smoke-test/Makefile b/tests/smoke-test/Makefile deleted file mode 100644 index fb46790..0000000 --- a/tests/smoke-test/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/gcc/Sanity/smoke-test -# Description: Basic smoke test. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 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/gcc/Sanity/smoke-test -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE hello.c hello.f90 hello.cpp tm.c quad.c omphello.c thr-init-2.c clear_cache.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: Marek Polacek " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Basic smoke test." >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 10m" >> $(METADATA) - @echo "RunFor: gcc" >> $(METADATA) - @echo "RunFor: devtoolset-1.0-gcc" >> $(METADATA) - @echo "Requires: gcc gcc-c++ gcc-gfortran glibc-common glibc-devel" >> $(METADATA) - @echo "Requires: libquadmath libquadmath-devel libgomp libgcc libstdc++-devel" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/smoke-test/PURPOSE b/tests/smoke-test/PURPOSE deleted file mode 100644 index 912f7b4..0000000 --- a/tests/smoke-test/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/gcc/Sanity/smoke-test -Description: Basic smoke test. -Author: Marek Polacek diff --git a/tests/smoke-test/clear_cache.c b/tests/smoke-test/clear_cache.c deleted file mode 100644 index b10479f..0000000 --- a/tests/smoke-test/clear_cache.c +++ /dev/null @@ -1,7 +0,0 @@ -int -main (void) -{ - char *mem = __builtin_alloca (40); - __builtin___clear_cache (mem, mem + 40); - return 0; -} diff --git a/tests/smoke-test/hello.c b/tests/smoke-test/hello.c deleted file mode 100644 index 4096e11..0000000 --- a/tests/smoke-test/hello.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int -main (void) -{ - puts ("Hello World!"); -} diff --git a/tests/smoke-test/hello.cpp b/tests/smoke-test/hello.cpp deleted file mode 100644 index 0f2234e..0000000 --- a/tests/smoke-test/hello.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include - -int -main (void) -{ - std::cout << "Hello, world!\n"; -} diff --git a/tests/smoke-test/hello.f90 b/tests/smoke-test/hello.f90 deleted file mode 100644 index afabbb2..0000000 --- a/tests/smoke-test/hello.f90 +++ /dev/null @@ -1,3 +0,0 @@ - program hello - print *, "Hello World!" - end program hello diff --git a/tests/smoke-test/main.fmf b/tests/smoke-test/main.fmf deleted file mode 100644 index 3710ca3..0000000 --- a/tests/smoke-test/main.fmf +++ /dev/null @@ -1,22 +0,0 @@ -summary: Basic smoke test. -description: '' -contact: -- Marek Polacek -component: -- gcc -test: ./runtest.sh -framework: beakerlib -recommend: -- gcc -- gcc-c++ -- gcc-gfortran -- glibc-common -- glibc-devel -- libquadmath -- libquadmath-devel -- libgomp -- libgcc -- libstdc++-devel -duration: 10m -extra-summary: /tools/gcc/Sanity/smoke-test -extra-task: /tools/gcc/Sanity/smoke-test diff --git a/tests/smoke-test/omphello.c b/tests/smoke-test/omphello.c deleted file mode 100644 index 85b591f..0000000 --- a/tests/smoke-test/omphello.c +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include - -int -main (void) -{ - int th_id; - int nthreads; - - #pragma omp parallel private(th_id) - { - th_id = omp_get_thread_num (); - printf ("Hello World from thread %d\n", th_id); - - #pragma omp barrier - if (th_id == 0) - { - nthreads = omp_get_num_threads (); - printf ("There are %d threads\n", nthreads); - } - } - return EXIT_SUCCESS; -} diff --git a/tests/smoke-test/quad.c b/tests/smoke-test/quad.c deleted file mode 100644 index e5a6cc7..0000000 --- a/tests/smoke-test/quad.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include -#include - -int -main (void) -{ - __float128 r = strtoflt128 ("1.23456789", NULL); - - int prec = 20; - int width = 46; - char buf[128]; - - r = 2.0q; - r = sqrtq (r); - int n = quadmath_snprintf (buf, sizeof buf, "%+-#*.20Qe", width, r); - if ((size_t) n < sizeof buf) - /* Prints: +1.41421356237309504880e+00 */ - printf ("%s\n", buf); - quadmath_snprintf (buf, sizeof buf, "%Qa", r); - if ((size_t) n < sizeof buf) - /* Prints: 0x1.6a09e667f3bcc908b2fb1366ea96p+0 */ - printf ("%s\n", buf); - n = quadmath_snprintf (NULL, 0, "%+-#46.*Qe", prec, r); - if (n > -1) - { - char *str = malloc (n + 1); - if (str) - { - quadmath_snprintf (str, n + 1, "%+-#46.*Qe", prec, r); - /* Prints: +1.41421356237309504880e+00 */ - printf ("%s\n", str); - } - free (str); - } - - return 0; -} diff --git a/tests/smoke-test/runtest.sh b/tests/smoke-test/runtest.sh deleted file mode 100755 index 7b6a4e9..0000000 --- a/tests/smoke-test/runtest.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/gcc/Sanity/smoke-test -# Description: Basic smoke test. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# A testing change. - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gcc gcc-c++ gcc-gfortran glibc-common libgomp libgcc glibc-devel libstdc++ libstdc++-devel) - -# Choose the compiler. -GCC=${GCC:-gcc} -GXX=${GXX:-g++} -GFORTRAN=${GFORTRAN:-gfortran} - -PACKAGE=gcc - -rlJournalStart - rlPhaseStartSetup - export PRI_ARCH=`rlGetPrimaryArch` - export SEC_ARCH=`rlGetSecondaryArch` - # don't assert anything under devtoolset - if type gcc | grep -q -v devtoolset - then - for p in "${PACKAGES[@]}"; do - rpm -q "$p.$PRI_ARCH" || yum install -y "$p.$PRI_ARCH" - rlAssertRpm "$p.$PRI_ARCH" - done; unset p - fi - rlLog "GCC = $GCC" - rlLog "Installed within `rpmquery -f $(which $GCC)`" - rlLog "GXX = $GXX" - rlLog "Installed within `rpmquery -f $(which $GXX)`" - rlLog "GFORTRAN = $GFORTRAN" - rlLog "Installed within `rpmquery -f $(which $GFORTRAN)`" - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - # We need some files. - rlRun "cp -v hello.{c,cpp,f90} tm.c quad.c thr-init-2.c clear_cache.c omphello.c $TmpDir" - rlRun "pushd $TmpDir" - rlRun "rpmquery -l libstdc++-devel.$PRI_ARCH" - test -n "$SEC_ARCH" && rpmquery "libstdc++-devel.$SEC_ARCH" && rlRun "rpmquery -l libstdc++-devel.$SEC_ARCH" - rlPhaseEnd - - rlPhaseStartSetup "Showing compiler versions" - for compiler in $GCC $GXX $GFORTRAN - do - rlLog "Version of compiler: $compiler" - eval "$compiler --version 2>&1" | while read line - do - rlLog " $line" - done - done - rlPhaseEnd - - rlPhaseStartTest "Compile" - rlRun "$GCC hello.c -o hello_c" - rlRun "$GXX hello.cpp -o hello_cpp" - rlRun "$GFORTRAN hello.f90 -o hello_fortran" - - # TM support is GCC >=4.7 only. - $GCC -xc -O2 -std=gnu99 -fgnu-tm - <<< "int main(){}" - if test $? -eq 0; then - rlRun "$GCC -O2 -std=gnu99 -fgnu-tm tm.c -o tm" - rlRun "./tm" - fi - - # Test OpenMP. - rlRun "$GCC omphello.c -O2 -std=gnu99 -fopenmp -o omp" - rlRun "./omp" - - # Test __thread. - rlRun "$GCC thr-init-2.c -O2 -std=gnu99 -ftls-model=initial-exec -o thr" - rlRun "./thr" - - # Now test some libquadmath stuff (__float128 support). - # libquadmath is mising on RHEL machines, usually. - test "`rpmquery --qf '%{version}-%{release}' libquadmath`" = "`rpmquery --qf '%{version}-%{release}' $GCC`" - if test $? -eq 0 -a "$GCC" = "gcc"; then - rlRun "$GCC quad.c -O2 -std=gnu99 -lquadmath -lm -o quad" - rlRun "./quad" - fi - - # And now something from libgcc, e.g. __builtin___clear_cache. - # But not on RHEL5. - if ! rlIsRHEL 5; then - rlRun "$GCC clear_cache.c -O2 -std=gnu99 -o cache" - rlRun "./cache" - fi - rlPhaseEnd - - rlPhaseStartTest "Check dependant libraries" - rlRun "ldd hello_{c,cpp,fortran} &> ldd.out" - # Nothing should be linked against anything in /opt. - rlAssertNotGrep "/opt" ldd.out - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/smoke-test/thr-init-2.c b/tests/smoke-test/thr-init-2.c deleted file mode 100644 index 051cff9..0000000 --- a/tests/smoke-test/thr-init-2.c +++ /dev/null @@ -1,24 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-effective-target tls_runtime } */ -/* { dg-add-options tls } */ - -extern void abort() ; - -static __thread int fstat ; -static __thread int fstat = 1; - -int test_code(int b) -{ - fstat += b ; - return fstat; -} - -int main (int ac, char *av[]) -{ - int a = test_code(1); - - if ((a != 2) || (fstat != 2)) - abort () ; - - return 0; -} diff --git a/tests/smoke-test/tm.c b/tests/smoke-test/tm.c deleted file mode 100644 index f9b4c9b..0000000 --- a/tests/smoke-test/tm.c +++ /dev/null @@ -1,34 +0,0 @@ -extern void *malloc (__SIZE_TYPE__) __attribute__((malloc,transaction_safe)); - -static int __attribute__((transaction_safe)) -something (void) -{ - return 0; -} - -struct large { int foo[500]; }; - -int -main (void) -{ - int *p; - struct large *lp; - - __transaction_atomic { - p = malloc (sizeof (*p) * 100); - lp = malloc (sizeof (*lp) * 100); - - /* No instrumentation necessary; P and LP are transaction local. */ - p[5] = 123; - lp->foo[66] = 123; - - if (something ()) - __transaction_cancel; - } - - __transaction_relaxed { - ++p[5]; - } - - return ( (p[5] == 124) ? 0 : 1 ); -}