#24 Adapt tests to latest glibc changes
Merged 2 years ago by nickc. Opened 2 years ago by vkadlcik.
Unknown source rawhide  into  rawhide

@@ -1,64 +0,0 @@

- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- #

- #   Makefile of /tools/binutils/Regression/Linker-garbage-collection-removes-weak-alias

- #   Description: Test for BZ#1804696 (Linker garbage collection removes weak alias)

- #   Author: Martin Cermak <mcermak@redhat.com>

- #

- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- #

- #   Copyright (c) 2020 Red Hat, Inc.

- #

- #   This program is free software: you can redistribute it and/or

- #   modify it under the terms of the GNU General Public License as

- #   published by the Free Software Foundation, either version 2 of

- #   the License, or (at your option) any later version.

- #

- #   This program is distributed in the hope that it will be

- #   useful, but WITHOUT ANY WARRANTY; without even the implied

- #   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR

- #   PURPOSE.  See the GNU General Public License for more details.

- #

- #   You should have received a copy of the GNU General Public License

- #   along with this program. If not, see http://www.gnu.org/licenses/.

- #

- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- 

- export TEST=/tools/binutils/Regression/Linker-garbage-collection-removes-weak-alias

- export TESTVERSION=1.0

- 

- BUILT_FILES=

- 

- FILES=$(METADATA) runtest.sh Makefile PURPOSE environ.c

- 

- .PHONY: all install download clean

- 

- run: $(FILES) build

- 	./runtest.sh

- 

- build: $(BUILT_FILES)

- 	test -x runtest.sh || chmod a+x runtest.sh

- 

- clean:

- 	rm -f *~ $(BUILT_FILES)

- 

- 

- include /usr/share/rhts/lib/rhts-make.include

- 

- $(METADATA): Makefile

- 	@echo "Owner:           Martin Cermak <mcermak@redhat.com>" > $(METADATA)

- 	@echo "Name:            $(TEST)" >> $(METADATA)

- 	@echo "TestVersion:     $(TESTVERSION)" >> $(METADATA)

- 	@echo "Path:            $(TEST_DIR)" >> $(METADATA)

- 	@echo "Description:     Test for BZ#1804696 (Linker garbage collection removes weak alias)" >> $(METADATA)

- 	@echo "Type:            Regression" >> $(METADATA)

- 	@echo "TestTime:        48h" >> $(METADATA)

- 	@echo "RunFor:          binutils" >> $(METADATA)

- 	@echo "Requires:        binutils gcc" >> $(METADATA)

- 	@echo "Priority:        Normal" >> $(METADATA)

- 	@echo "License:         GPLv2+" >> $(METADATA)

- 	@echo "Confidential:    no" >> $(METADATA)

- 	@echo "Destructive:     no" >> $(METADATA)

- 	@echo "Bug:             1804696" >> $(METADATA)

- 	@echo "Releases:        -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)

- 

- 	rhts-lint $(METADATA)

@@ -1,5 +0,0 @@

- PURPOSE of /tools/binutils/Regression/Linker-garbage-collection-removes-weak-alias

- Description: Test for BZ#1804696 (Linker garbage collection removes weak alias)

- Author: Martin Cermak <mcermak@redhat.com>

- Bug summary: Linker garbage collection removes weak alias references.

- Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1804696

@@ -1,7 +0,0 @@

-     #include <stdio.h>

-     extern char **environ;

-     int main(int argc, char **argv) {

-         printf("%p\n", environ);

-         return 0;

-     }

- 

@@ -1,17 +0,0 @@

- summary: Test for BZ#1804696 (Linker garbage collection removes weak alias)

- description: |

-     Bug summary: Linker garbage collection removes weak alias references.

-     Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1804696

- contact: Martin Cermak <mcermak@redhat.com>

- component:

- - binutils

- test: ./runtest.sh

- framework: beakerlib

- recommend:

- - binutils

- - gcc

- duration: 48h

- link:

- -   relates: https://bugzilla.redhat.com/show_bug.cgi?id=1804696

- extra-summary: /tools/binutils/Regression/Linker-garbage-collection-removes-weak-alias

- extra-task: /tools/binutils/Regression/Linker-garbage-collection-removes-weak-alias

@@ -1,87 +0,0 @@

- #!/bin/bash

- # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k

- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- #

- #   runtest.sh of /tools/binutils/Regression/Linker-garbage-collection-removes-weak-alias

- #   Description: Test for BZ#1804696 (Linker garbage collection removes weak alias)

- #   Author: Martin Cermak <mcermak@redhat.com>

- #

- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- #

- #   Copyright (c) 2020 Red Hat, Inc.

- #

- #   This program is free software: you can redistribute it and/or

- #   modify it under the terms of the GNU General Public License as

- #   published by the Free Software Foundation, either version 2 of

- #   the License, or (at your option) any later version.

- #

- #   This program is distributed in the hope that it will be

- #   useful, but WITHOUT ANY WARRANTY; without even the implied

- #   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR

- #   PURPOSE.  See the GNU General Public License for more details.

- #

- #   You should have received a copy of the GNU General Public License

- #   along with this program. If not, see http://www.gnu.org/licenses/.

- #

- # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- 

- # Include Beaker environment

- . /usr/share/beakerlib/beakerlib.sh || exit 1

- 

- GCC="${GCC:-$(which gcc)}"

- READELF="${READELF:-$(which readelf)}"

- 

- GCC_PACKAGE=$(rpm --qf '%{name}\n' -qf $GCC | head -1)

- BINUTILS_PACKAGE=$(rpm --qf '%{name}\n' -qf $READELF | head -1)

- 

- PACKAGES="${PACKAGE:-$BINUTILS_PACKAGE}"

- REQUIRES="${REQUIRES:-$GCC_PACKAGE}"

- 

- rlJournalStart

-     rlPhaseStartSetup

-         rlLogInfo "PACKAGES=$PACKAGES"

-         rlLogInfo "REQUIRES=$REQUIRES"

-         rlLogInfo "COLLECTIONS=$COLLECTIONS"

-         rlLogInfo "READELF=$READELF"

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

- 

-         rlAssertRpm --all

- 

-         export COLLECTIONS="$_COLLECTIONS"

- 

-         rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"

-         rlRun "cp environ.c $TmpDir/"

-         rlRun "pushd $TmpDir"

-     rlPhaseEnd

- 

-     rlPhaseStartTest

-         rlRun "gcc -o environ environ.c"

-         rlRun "readelf -s -W environ > without-gc-sections.txt"

-         rlLogInfo "$(cat without-gc-sections.txt)"

-         rlRun "grep ' _environ' without-gc-sections.txt"

-         rlRun "gcc -Wl,--gc-sections -o environ environ.c"

-         rlRun "readelf -s -W environ > with-gc-sections.txt"

-         rlLogInfo "$(cat with-gc-sections.txt)"

-         rlRun "grep ' _environ' with-gc-sections.txt"

-     rlPhaseEnd

- 

-     rlPhaseStartCleanup

-         rlRun "popd"

-         rlRun "rm -r $TmpDir" 0 "Removing tmp directory"

-     rlPhaseEnd

- rlJournalPrintText

- rlJournalEnd

@@ -54,7 +54,9 @@

  

          rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS"

  

-         rpm -q glibc-debuginfo.${ARCH} &>/dev/null || rlRun "debuginfo-install -y glibc.${ARCH}"

+         for i in glibc nscd; do

+             rpm -q ${i}-debuginfo.${ARCH} &>/dev/null || rlRun "debuginfo-install -y ${i}.${ARCH}"

+         done

  

          rlAssertRpm --all

  

@@ -183,10 +183,8 @@

      # Try -P --size-sort.

      rlRun "$NM -P --size-sort localplt > p"

  if test $(uname -i) = "ppc64" -a $(rlGetDistroRelease) -gt 5; then

-     rlAssertGrep "__libc_csu_init D" p

      rlAssertGrep "main D" p

  else

-     rlAssertGrep "__libc_csu_init T" p

      rlAssertGrep "main T" p

  fi

      rlAssertGrep "completed.* b" p

Fix two broken tests.
Remove one broken and reduntant test.

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

The dist-git test failure comes from a broken system setup. Looks like a mess in the repos. e.g. glibc.x86_64 and glibc.i686 don't match in NVR.

I'll give it a few retries...

Pull-Request has been merged by nickc

2 years ago