tests: switch to upstream tests from fedora repo
This commit is contained in:
parent
e3f989747f
commit
b5dd44ebce
@ -13,4 +13,3 @@ rules:
|
|||||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.rebuild.validation}
|
||||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-fast-lane.functional}
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-fast-lane.functional}
|
||||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-slow-lane.functional}
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-slow-lane.functional}
|
||||||
|
|
||||||
|
@ -2,29 +2,24 @@
|
|||||||
# Build/PR gating tests for binutils
|
# Build/PR gating tests for binutils
|
||||||
#
|
#
|
||||||
|
|
||||||
summary: binutils tests for build/PR gating
|
/common:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/binutils.git
|
||||||
|
ref: main
|
||||||
|
name: /plans/build-gating/common
|
||||||
|
|
||||||
adjust:
|
/kernel-rebuild:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/binutils.git
|
||||||
|
ref: main
|
||||||
|
name: /plans/build-gating/kernel-rebuild
|
||||||
|
|
||||||
|
adjust+:
|
||||||
- because: "Plan to be ran when executed locally, or executed by CI system to gate a build or PR."
|
- because: "Plan to be ran when executed locally, or executed by CI system to gate a build or PR."
|
||||||
when: >-
|
when: >-
|
||||||
trigger is defined
|
trigger is defined
|
||||||
and trigger != commit
|
and trigger != commit
|
||||||
and trigger != build
|
and trigger != build
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
- because: "CRB and Buildroot repositories must be enabled for various BuildRequires"
|
|
||||||
when: distro == rhel-9
|
|
||||||
prepare+:
|
|
||||||
- how: shell
|
|
||||||
script: dnf config-manager --set-enabled rhel-CRB
|
|
||||||
|
|
||||||
# This is probably not needed anymore.
|
|
||||||
# - how: shell
|
|
||||||
# script: dnf config-manager --set-enabled rhel-Buildroot
|
|
||||||
|
|
||||||
discover:
|
|
||||||
how: fmf
|
|
||||||
filter: "tag:gate-build"
|
|
||||||
|
|
||||||
execute:
|
|
||||||
how: tmt
|
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
summary: Check whether newly built kernel boots correctly
|
|
||||||
description: |
|
|
||||||
Rebuild kernel, install it, reboot, and check if we're running the correct
|
|
||||||
kernel. Tailored specificaly for binutils buildroot testing process.
|
|
||||||
|
|
||||||
A strong machine is recommended:
|
|
||||||
|
|
||||||
- kernel rebuild is very resoruce-intensive task, and having more powerful
|
|
||||||
boxes for it is simply good,
|
|
||||||
- this task will get its own boxes, not clobbered by additional kernel packages
|
|
||||||
that are usually installed by other tasks in the same run. E.g.kernel-debuginfo,
|
|
||||||
when installed, will conflict with freshly build kernel packages. This should
|
|
||||||
workaround such situations,
|
|
||||||
- this tasks reboots its boxes - should such reboot break something, don't ruin
|
|
||||||
the whole run by it, right?
|
|
||||||
|
|
||||||
Based on gcc/Sanity/rebuild-kernel by:
|
|
||||||
Author: Michal Nowak <mnowak@redhat.com>
|
|
||||||
Author: Marek Polacek <polacek@redhat.com>
|
|
||||||
contact:
|
|
||||||
- Milos Prchlik <mprchlik@redhat.com>
|
|
||||||
component:
|
|
||||||
- gcc-toolset-13-binutils
|
|
||||||
tag:
|
|
||||||
- gate-build
|
|
||||||
test: ./runtest.sh
|
|
||||||
framework: beakerlib
|
|
||||||
require:
|
|
||||||
- gcc-toolset-13-binutils
|
|
||||||
- gcc
|
|
||||||
- yum-utils
|
|
||||||
- rng-tools
|
|
||||||
- rpm-build
|
|
||||||
- newt-devel
|
|
||||||
- python-devel
|
|
||||||
- perl-ExtUtils-Embed
|
|
||||||
- unifdef
|
|
||||||
- elfutils-libelf-devel
|
|
||||||
- elfutils-devel
|
|
||||||
- pciutils-devel
|
|
||||||
- wget
|
|
||||||
- hmaccalc
|
|
||||||
- binutils-devel
|
|
||||||
- glibc-static
|
|
||||||
- texinfo
|
|
||||||
- gdb
|
|
||||||
- ecj
|
|
||||||
- graphviz
|
|
||||||
- gmp-devel
|
|
||||||
- mpfr-devel
|
|
||||||
- xmlto
|
|
||||||
- asciidoc
|
|
||||||
- net-tools
|
|
||||||
duration: 20h
|
|
||||||
|
|
||||||
adjust:
|
|
||||||
- because: "pesign is available for some architectures only"
|
|
||||||
when: distro == rhel and arch != ppc64le and arch != s390x
|
|
||||||
require+:
|
|
||||||
- pesign
|
|
||||||
|
|
||||||
# Dropping TCMS integration, these links should not be needed anymore.
|
|
||||||
# extra-summary: /tools/binutils/Sanity/rebuild-kernel-and-reboot
|
|
||||||
# extra-task: /tools/binutils/Sanity/rebuild-kernel-and-reboot
|
|
@ -1,180 +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 <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# Rebuild kernel, install it, reboot, and check if we're running the correct
|
|
||||||
# kernel. Tailored specificaly for binutils buildroot testing process.
|
|
||||||
#
|
|
||||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
|
||||||
#
|
|
||||||
# Based on gcc/Sanity/rebuild-kernel by:
|
|
||||||
# Author: Michal Nowak <mnowak@redhat.com>
|
|
||||||
# Author: Marek Polacek <polacek@redhat.com>
|
|
||||||
|
|
||||||
# Include Beaker environment
|
|
||||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
|
||||||
|
|
||||||
export AVC_ERROR='+no_avc_check'
|
|
||||||
|
|
||||||
case "$JUST_BUILD" in
|
|
||||||
0|[Ff][Aa][Ll][Ss][Ee]|[Nn][Oo])
|
|
||||||
JUST_BUILD=no
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
JUST_BUILD=yes
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
PACKAGES="${PACKAGES:-gcc-toolset-13-binutils}"
|
|
||||||
|
|
||||||
# Kernel package - usualy "kernel", but some trees may use different package
|
|
||||||
# name (e.g. kernel-PAE).
|
|
||||||
KERNEL="${KERNEL:-kernel}"
|
|
||||||
|
|
||||||
REQUIRES="${REQUIRES:-$KERNEL gcc glibc}"
|
|
||||||
RPM_BUILD_ID="${RPM_BUILD_ID:-.LimeKitten}"
|
|
||||||
|
|
||||||
# Workaround possible restraint issues - restraint may fail to set REBOOTCOUNT properly.
|
|
||||||
REBOOT_FLAG=/.rebuild-kernel-and-reboot.flag
|
|
||||||
REBOOTCOUNT="${REBOOTCOUNT:-0}"
|
|
||||||
|
|
||||||
unset ARCH
|
|
||||||
|
|
||||||
rlJournalStart
|
|
||||||
rlPhaseStartSetup
|
|
||||||
rlLogInfo "PACKAGES=$PACKAGES"
|
|
||||||
rlLogInfo "REQUIRES=$REQUIRES"
|
|
||||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
|
||||||
rlLogInfo "LD=$LD"
|
|
||||||
rlLogInfo "GCC=$GCC"
|
|
||||||
rlLogInfo "KERNEL=$KERNEL"
|
|
||||||
rlLogInfo "JUST_BUILD=$JUST_BUILD"
|
|
||||||
|
|
||||||
# We'll use a lot of disk space (tens of GBs at least). The root FS
|
|
||||||
# often is the most beefy one in CI environemnts. Let's use it but also
|
|
||||||
# let's log what's actually available.
|
|
||||||
export TMPDIR=/test_tmp_root
|
|
||||||
rlRun "mkdir -p $TMPDIR"
|
|
||||||
rlLogInfo "TMPDIR=$TMPDIR"
|
|
||||||
rlLogInfo 'Disk space:'
|
|
||||||
df -h | while read line; do
|
|
||||||
rlLogInfo " $line"
|
|
||||||
done
|
|
||||||
|
|
||||||
rlAssertRpm --all
|
|
||||||
|
|
||||||
rlRun "AFTER_REBOOT=no"
|
|
||||||
|
|
||||||
if [ "$REBOOTCOUNT" != "0" ]; then
|
|
||||||
rlLogInfo "Reboot count envvar is non-zero, update our flag"
|
|
||||||
rlRun "AFTER_REBOOT=yes"
|
|
||||||
elif [ -f "$REBOOT_FLAG" ]; then
|
|
||||||
rlLogInfo "FS reboot flag exists, update our flag"
|
|
||||||
rlRun "AFTER_REBOOT=yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$AFTER_REBOOT" = "no" ]; then
|
|
||||||
# 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.
|
|
||||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
|
||||||
rlRun "pushd $TmpDir"
|
|
||||||
|
|
||||||
# Speed up keygen.
|
|
||||||
rlRun "rngd -r /dev/hwrandom || rngd -r /dev/urandom"
|
|
||||||
|
|
||||||
# Get the SRPM.
|
|
||||||
rlFetchSrcForInstalled "$KERNEL"
|
|
||||||
|
|
||||||
rlRun "SRPM=`find . -name '*.src.rpm'`"
|
|
||||||
rlRun "SPECDIR=`rpm --define=\"_topdir $TmpDir\" --eval=%_specdir`"
|
|
||||||
|
|
||||||
rlRun "rpm -ivh --define=\"_topdir $TmpDir\" $SRPM"
|
|
||||||
rlRun "SPECFILE=`find $SPECDIR/ -name '*.spec'`"
|
|
||||||
|
|
||||||
builddep_options="--nobest"
|
|
||||||
rlRun "yum-builddep -y $builddep_options $SPECFILE"
|
|
||||||
fi
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
if [ "$AFTER_REBOOT" = "no" ]; then
|
|
||||||
rlPhaseStartTest "Build"
|
|
||||||
if [ "$RPM_BUILD_ID" != "" ]; then
|
|
||||||
rlRun "sed -i \"s/# % define buildid .local/%define buildid $RPM_BUILD_ID/\" $SPECFILE"
|
|
||||||
rlRun "sed -i \"s/# define buildid .local/%define buildid $RPM_BUILD_ID/\" $SPECFILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "`rlGetPrimaryArch`" == "ppc64" ]; then
|
|
||||||
TARGET="--target=ppc64"
|
|
||||||
else
|
|
||||||
TARGET="--target=$(uname -m)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if rlRun "CC=$GCC rpmbuild --define=\"_topdir $TmpDir\" -bb $TARGET --clean $SPECFILE &> BUILD_LOG"; then
|
|
||||||
rlRun "RPMBUILD_OK=yes"
|
|
||||||
else
|
|
||||||
rlLogInfo "rpmbuild kernel failed"
|
|
||||||
rlRun "RPMBUILD_OK=no"
|
|
||||||
fi
|
|
||||||
rlBundleLogs "Build-log" BUILD_LOG
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
# Install and boot the new kernel only if it's requested *and* the build was successful
|
|
||||||
if [ "$JUST_BUILD" = 'no' ] && [ "$RPMBUILD_OK" = "yes" ]; then
|
|
||||||
rlPhaseStartTest "Install"
|
|
||||||
RPMS="$(ls -1 $TmpDir/RPMS/*/*.rpm | grep -v kernel-selftests-internal | tr '\n' ' ')"
|
|
||||||
|
|
||||||
rlRun "yum localinstall -y --disablerepo=\* $RPMS"
|
|
||||||
|
|
||||||
rlLogInfo "$(rpm -qa | grep kernel | sort)"
|
|
||||||
|
|
||||||
# Update the boot configuration
|
|
||||||
if [ "$(arch)" = "s390x" ]; then
|
|
||||||
rlRun "grubby --info=ALL"
|
|
||||||
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
|
||||||
rlRun "KERNEL_FILE=$(ls -1 /boot/vmlinuz-*${RPM_BUILD_ID}."$(arch)")"
|
|
||||||
rlRun "ls -al $KERNEL_FILE"
|
|
||||||
rlRun "grubby --set-default $KERNEL_FILE"
|
|
||||||
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
|
||||||
rlRun "zipl"
|
|
||||||
else
|
|
||||||
rlRun "grub2-set-default 2"
|
|
||||||
fi
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
rlPhaseStartTest "Reboot"
|
|
||||||
rlRun "touch $REBOOT_FLAG"
|
|
||||||
|
|
||||||
rlLog "Rebooting ..."
|
|
||||||
rhts-reboot
|
|
||||||
rlPhaseEnd
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify the build ID only if its install and boot were requested
|
|
||||||
if [ "$JUST_BUILD" = 'no' ]; then
|
|
||||||
rlPhaseStartTest "Test"
|
|
||||||
if ! [ "$AFTER_REBOOT" = 'yes' ]; then
|
|
||||||
rlFail 'Not rebooted. Probably rhts-reboot did not work.'
|
|
||||||
fi
|
|
||||||
rlLogInfo "$(uname -a)"
|
|
||||||
rlRun "uname -r | grep $RPM_BUILD_ID"
|
|
||||||
rlPhaseEnd
|
|
||||||
fi
|
|
||||||
|
|
||||||
rlPhaseStartCleanup
|
|
||||||
rlPhaseEnd
|
|
||||||
rlJournalPrintText
|
|
||||||
rlJournalEnd
|
|
@ -1,20 +0,0 @@
|
|||||||
summary: Rebuild wget
|
|
||||||
description: ""
|
|
||||||
contact:
|
|
||||||
- Milos Prchlik <mprchlik@redhat.com>
|
|
||||||
component:
|
|
||||||
- gcc-toolset-13-binutils
|
|
||||||
tag:
|
|
||||||
- gate-build
|
|
||||||
test: scl enable gcc-toolset-13 ./runtest.sh
|
|
||||||
framework: beakerlib
|
|
||||||
require:
|
|
||||||
- gcc-toolset-13-binutils
|
|
||||||
- wget
|
|
||||||
- rpm-build
|
|
||||||
#- gcc-toolset-13-gcc
|
|
||||||
duration: 1h
|
|
||||||
|
|
||||||
# Dropping TCMS integration, these links should not be needed anymore.
|
|
||||||
# extra-summary: /tools/binutils/Sanity/rebuild-wget
|
|
||||||
# extra-task: /tools/binutils/Sanity/rebuild-wget
|
|
@ -1,64 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
#
|
|
||||||
# runtest.sh of /tools/binutils/Sanity/rebuild-wget
|
|
||||||
# Description: Rebuild wget
|
|
||||||
# Author: Milos Prchlik <mprchlik@redhat.com>
|
|
||||||
#
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
#
|
|
||||||
# Copyright (c) 2015 Red Hat, Inc.
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
PACKAGES="${PACKAGES:-gcc-toolset-13-binutils}"
|
|
||||||
REQUIRES="${REQUIRES:-gcc wget}"
|
|
||||||
|
|
||||||
rlJournalStart
|
|
||||||
rlPhaseStartSetup
|
|
||||||
rlLogInfo "PACKAGES=$PACKAGES"
|
|
||||||
rlLogInfo "REQUIRES=$REQUIRES"
|
|
||||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
|
||||||
rlLogInfo "LD=$LD"
|
|
||||||
rlLogInfo "GCC=$GCC"
|
|
||||||
|
|
||||||
rlAssertRpm --all
|
|
||||||
|
|
||||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
|
||||||
rlRun "pushd $TmpDir"
|
|
||||||
|
|
||||||
rlFetchSrcForInstalled "wget"
|
|
||||||
rlRun "SRPM=`find . -name 'wget-*.src.rpm'`"
|
|
||||||
rlRun "rpm -ivh --define='_topdir $TmpDir' $SRPM"
|
|
||||||
rlRun "SPECFILE=`find $TmpDir/ -name '*.spec'`"
|
|
||||||
rlRun "dnf builddep -y $SPECFILE"
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
rlPhaseStartTest
|
|
||||||
rlRun "rpmbuild --define='_topdir $TmpDir' -bb --clean $SPECFILE"
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
rlPhaseStartCleanup
|
|
||||||
rlRun "popd"
|
|
||||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
|
||||||
rlPhaseEnd
|
|
||||||
rlJournalPrintText
|
|
||||||
rlJournalEnd
|
|
@ -1,28 +0,0 @@
|
|||||||
summary: The test rebuilds binutils.src.rpm and runs the suite.
|
|
||||||
description: ''
|
|
||||||
contact:
|
|
||||||
- Milos Prchlik <mprchlik@redhat.com>
|
|
||||||
component:
|
|
||||||
- binutils
|
|
||||||
tag:
|
|
||||||
- gate-build
|
|
||||||
test: ./runtest.sh
|
|
||||||
framework: beakerlib
|
|
||||||
require:
|
|
||||||
- gcc-toolset-13-binutils
|
|
||||||
- texinfo
|
|
||||||
- glibc-static
|
|
||||||
- dejagnu
|
|
||||||
- bison
|
|
||||||
- flex
|
|
||||||
- zlib-static
|
|
||||||
- sharutils
|
|
||||||
- yum-utils
|
|
||||||
- libstdc++-static
|
|
||||||
- rpm-build
|
|
||||||
- gcc
|
|
||||||
duration: 3h
|
|
||||||
|
|
||||||
# Dropping TCMS integration, these links should not be needed anymore.
|
|
||||||
# extra-summary: /tools/binutils/Sanity/testsuite
|
|
||||||
# extra-task: /tools/binutils/Sanity/testsuite
|
|
@ -1,114 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
#
|
|
||||||
# runtest.sh of /tools/binutils/Sanity/testsuite
|
|
||||||
#
|
|
||||||
# Description: The test rebuilds binutils.src.rpm and runs the suite.
|
|
||||||
# The test is based on /tools/binutils/testsuite, but it had to be
|
|
||||||
# rewritten.
|
|
||||||
#
|
|
||||||
# Author: Michael Petlan <mpetlan@redhat.com>
|
|
||||||
#
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
#
|
|
||||||
# Copyright (c) 2015 Red Hat, Inc.
|
|
||||||
#
|
|
||||||
# This copyrighted material is made available to anyone wishing
|
|
||||||
# to use, modify, copy, or redistribute it subject to the terms
|
|
||||||
# and conditions of the GNU General Public License version 2.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be
|
|
||||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
||||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
# PURPOSE. See the GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public
|
|
||||||
# License along with this program; if not, write to the Free
|
|
||||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
# Include Beaker environment
|
|
||||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
|
||||||
|
|
||||||
PACKAGE="${PACKAGE:-gcc-toolset-13-binutils}"
|
|
||||||
|
|
||||||
PACKAGES="${PACKAGES:-$PACKAGE}"
|
|
||||||
REQUIRES="${REQUIRES:-gcc glibc}"
|
|
||||||
|
|
||||||
rlJournalStart
|
|
||||||
rlPhaseStartSetup
|
|
||||||
ARCH="$(rlGetPrimaryArch)"
|
|
||||||
|
|
||||||
rlLogInfo "PACKAGES=$PACKAGES"
|
|
||||||
rlLogInfo "REQUIRES=$REQUIRES"
|
|
||||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
|
||||||
rlLogInfo "LD=$LD"
|
|
||||||
rlLogInfo "GCC=$GCC"
|
|
||||||
rlLogInfo "ARCH=$ARCH"
|
|
||||||
|
|
||||||
rlAssertRpm --all
|
|
||||||
|
|
||||||
rlRun "TESTDIR=$PWD"
|
|
||||||
|
|
||||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
|
||||||
|
|
||||||
rlRun "LOGDIR=$TmpDir/LOGS"
|
|
||||||
rlRun "BUILDDIR=$(rpm --define='_topdir $TmpDir' --eval=%_builddir)"
|
|
||||||
rlRun "CURRENT_BUILD=${BUILDDIR}/binutils-$(rpmquery "$PACKAGE" --queryformat=%{VERSION})"
|
|
||||||
|
|
||||||
rlRun "mkdir $LOGDIR"
|
|
||||||
|
|
||||||
rlRun "pushd $TmpDir"
|
|
||||||
|
|
||||||
# fetch'n'build the source
|
|
||||||
rlFetchSrcForInstalled "$PACKAGE"
|
|
||||||
rlRun "yum-builddep -y *.src.rpm"
|
|
||||||
rlRun "SRPM=$(find . -name 'gcc-toolset-13-binutils-*.src.rpm')"
|
|
||||||
rlRun "rpm -ivh --define='_topdir $TmpDir' $SRPM"
|
|
||||||
rlRun "SPECFILE=$(find "$TmpDir/" -name '*.spec')"
|
|
||||||
rlRun "dnf builddep -y $SPECFILE"
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
rlPhaseStartSetup "Rebuild binutils"
|
|
||||||
rlRun "rpmbuild -bc --define='_topdir $TmpDir' $SPECFILE"
|
|
||||||
|
|
||||||
rlRun "cp $CURRENT_BUILD/build-${ARCH}-redhat-linux/binutils/binutils.log $LOGDIR/binutils-$ARCH.log"
|
|
||||||
rlRun "cp $CURRENT_BUILD/build-${ARCH}-redhat-linux/binutils/binutils.sum $LOGDIR/binutils-$ARCH.sum"
|
|
||||||
|
|
||||||
rlRun "cp $CURRENT_BUILD/build-${ARCH}-redhat-linux/ld/ld.log $LOGDIR/ld-$ARCH.log"
|
|
||||||
rlRun "cp $CURRENT_BUILD/build-${ARCH}-redhat-linux/ld/ld.sum $LOGDIR/ld-$ARCH.sum"
|
|
||||||
|
|
||||||
rlRun "cp $CURRENT_BUILD/build-${ARCH}-redhat-linux/gas/testsuite/gas.log $LOGDIR/gas-$ARCH.log"
|
|
||||||
rlRun "cp $CURRENT_BUILD/build-${ARCH}-redhat-linux/gas/testsuite/gas.sum $LOGDIR/gas-$ARCH.sum"
|
|
||||||
rlPhaseEnd
|
|
||||||
|
|
||||||
for TOOL in binutils ld gas; do
|
|
||||||
tool_label="$TOOL / $ARCH"
|
|
||||||
tool_log="$LOGDIR/$TOOL-$ARCH"
|
|
||||||
|
|
||||||
rlPhaseStartTest "$tool_label"
|
|
||||||
rlLogInfo "$tool_label Summary"
|
|
||||||
rlLogInfo "$(grep -A 50 '=== .* Summary ===' "$tool_log.sum")"
|
|
||||||
|
|
||||||
rlRun "awk \"/=== $TOOL tests ===/,/=== $TOOL Summary ===/\" $tool_log.sum > $tool_log.tests" 0,1 "Save results of all tests"
|
|
||||||
rlRun "grep -E '^FAIL: ' $tool_log.tests | sort > $tool_log.failed" 0,1 "Save failures"
|
|
||||||
|
|
||||||
rlRun "grep '# of unexpected failures' $tool_log.sum" 0,1 "Checking number of unexpected failures"
|
|
||||||
rlLogInfo "$(sort < "$tool_log.failed")"
|
|
||||||
rlLogInfo "$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
|
||||||
rlPhaseEnd
|
|
||||||
done
|
|
||||||
|
|
||||||
rlPhaseStartCleanup
|
|
||||||
rlRun "tar czf $TmpDir/logs.tgz $LOGDIR/*.sum $LOGDIR/*.log $LOGDIR/*.tests $LOGDIR/*.failed"
|
|
||||||
rlRun "tar czf $TmpDir/buildroot.tgz $CURRENT_BUILD/"
|
|
||||||
rlFileSubmit logs.tar.gz
|
|
||||||
rlFileSubmit buildroot.tgz
|
|
||||||
rlRun "popd" # $TmpDir
|
|
||||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
|
||||||
rlPhaseEnd
|
|
||||||
rlJournalPrintText
|
|
||||||
rlJournalEnd
|
|
Loading…
Reference in New Issue
Block a user