!207 增加glibc测试套白名单,对于白名单以外的失败用例失败时停止构建
From: @yang_yanchao Reviewed-by: Signed-off-by:
This commit is contained in:
commit
4c56d24fca
39
glibc.spec
39
glibc.spec
@ -63,7 +63,7 @@
|
||||
##############################################################################
|
||||
Name: glibc
|
||||
Version: 2.34
|
||||
Release: 10
|
||||
Release: 11
|
||||
Summary: The GNU libc libraries
|
||||
License: %{all_license}
|
||||
URL: http://www.gnu.org/software/glibc/
|
||||
@ -77,6 +77,10 @@ Source5: LanguageList
|
||||
Source6: LicenseList
|
||||
Source7: replace_same_file_to_hard_link.py
|
||||
|
||||
%if %{with testsuite}
|
||||
Source8: testsuite_whitelist.%{_target_cpu}
|
||||
%endif
|
||||
|
||||
Patch0: glibc-1070416.patch
|
||||
Patch1: glibc-c-utf8-locale.patch
|
||||
Patch2: backport-CVE-2021-38604-0001-librt-add-test-bug-28213.patch
|
||||
@ -885,6 +889,18 @@ done
|
||||
##############################################################################
|
||||
%check
|
||||
%if %{with testsuite}
|
||||
|
||||
omit_testsuite() {
|
||||
whitelist=$1
|
||||
sed -i '/^#/d' $whitelist
|
||||
sed -i '/^[\s]*$/d' $whitelist
|
||||
while read testsuite; do
|
||||
testsuite_escape=$(echo "$testsuite" | \
|
||||
sed 's/\([.+?^$\/\\|()\[]\|\]\)/\\\0/g')
|
||||
sed -i "/${testsuite_escape}/d" rpmbuild.tests.sum.not-passing
|
||||
done < "$whitelist"
|
||||
}
|
||||
|
||||
# Increase timeouts
|
||||
export TIMEOUTFACTOR=16
|
||||
parent=$$
|
||||
@ -893,14 +909,24 @@ echo ====================TESTING=========================
|
||||
# Default libraries.
|
||||
pushd build-%{target}
|
||||
make %{?_smp_mflags} -O check |& tee rpmbuild.check.log >&2
|
||||
test -n tests.sum
|
||||
test -s tests.sum
|
||||
|
||||
# This hides a test suite build failure, which should be fatal. We
|
||||
# check "Summary of test results:" below to verify that all tests
|
||||
# were built and run.
|
||||
if ! grep -q '^Summary of test results:$' rpmbuild.check.log ; then
|
||||
echo "FAIL: test suite build of target: $(basename "$(pwd)")" >& 2
|
||||
exit 1
|
||||
fi
|
||||
set +x
|
||||
grep -v ^PASS: tests.sum > rpmbuild.tests.sum.not-passing || true
|
||||
if test -n rpmbuild.tests.sum.not-passing ; then
|
||||
grep -v ^PASS: tests.sum | grep -v ^UNSUPPORTED > rpmbuild.tests.sum.not-passing || true
|
||||
|
||||
# Delete the testsuite from the whitelist
|
||||
cp %{SOURCE8} testsuite_whitelist
|
||||
omit_testsuite testsuite_whitelist
|
||||
rm -rf testsuite_whitelist
|
||||
|
||||
if test -s rpmbuild.tests.sum.not-passing ; then
|
||||
echo ===================FAILED TESTS===================== >&2
|
||||
echo "Target: $(basename "$(pwd)")" >& 2
|
||||
cat rpmbuild.tests.sum.not-passing >&2
|
||||
@ -914,6 +940,7 @@ if test -n rpmbuild.tests.sum.not-passing ; then
|
||||
fi
|
||||
done
|
||||
done <rpmbuild.tests.sum.not-passing
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Unconditonally dump differences in the system call list.
|
||||
@ -1198,6 +1225,10 @@ fi
|
||||
%doc hesiod/README.hesiod
|
||||
|
||||
%changelog
|
||||
* Tue Oct 12 2021 Yang Yanchao<yangyanchao6@huawei.com> - 2.34-11
|
||||
- Add the testsuite whitelist.
|
||||
If a test case out of the trustlist fails, the compilation is interrupted.
|
||||
|
||||
* Mon Oct 11 2021 Qingqing Li<liqingqing3@huawei.com> - 2.34-10
|
||||
- update test memmove.c to cover 16KB.
|
||||
|
||||
|
||||
111
testsuite_whitelist.aarch64
Normal file
111
testsuite_whitelist.aarch64
Normal file
@ -0,0 +1,111 @@
|
||||
# These test cases failed due to gcc_secure
|
||||
conform/ISO/setjmp.h/conform
|
||||
conform/ISO/stdlib.h/conform
|
||||
conform/ISO/stdlib.h/linknamespace
|
||||
conform/ISO/string.h/conform
|
||||
conform/ISO11/setjmp.h/conform
|
||||
conform/ISO11/stdio.h/conform
|
||||
conform/ISO11/stdlib.h/conform
|
||||
conform/ISO11/stdlib.h/linknamespace
|
||||
conform/ISO11/string.h/conform
|
||||
conform/ISO11/wchar.h/conform
|
||||
conform/ISO99/setjmp.h/conform
|
||||
conform/ISO99/stdio.h/conform
|
||||
conform/ISO99/stdlib.h/conform
|
||||
conform/ISO99/stdlib.h/linknamespace
|
||||
conform/ISO99/string.h/conform
|
||||
conform/ISO99/wchar.h/conform
|
||||
conform/POSIX/stdlib.h/conform
|
||||
conform/POSIX/stdlib.h/linknamespace
|
||||
conform/POSIX/string.h/conform
|
||||
conform/POSIX2008/fcntl.h/conform
|
||||
conform/POSIX2008/mqueue.h/conform
|
||||
conform/POSIX2008/stdio.h/conform
|
||||
conform/POSIX2008/stdlib.h/conform
|
||||
conform/POSIX2008/stdlib.h/linknamespace
|
||||
conform/POSIX2008/wchar.h/conform
|
||||
conform/UNIX98/stdlib.h/conform
|
||||
conform/UNIX98/string.h/conform
|
||||
conform/UNIX98/unistd.h/conform
|
||||
conform/UNIX98/unistd.h/linknamespace
|
||||
conform/UNIX98/wchar.h/conform
|
||||
conform/XOPEN2K/fcntl.h/conform
|
||||
conform/XOPEN2K/mqueue.h/conform
|
||||
conform/XOPEN2K/stdio.h/conform
|
||||
conform/XOPEN2K/stdlib.h/conform
|
||||
conform/XOPEN2K/string.h/conform
|
||||
conform/XOPEN2K/syslog.h/conform
|
||||
conform/XOPEN2K/unistd.h/conform
|
||||
conform/XOPEN2K/unistd.h/linknamespace
|
||||
conform/XOPEN2K/wchar.h/conform
|
||||
conform/XOPEN2K8/fcntl.h/conform
|
||||
conform/XOPEN2K8/mqueue.h/conform
|
||||
conform/XOPEN2K8/stdio.h/conform
|
||||
conform/XOPEN2K8/stdlib.h/conform
|
||||
conform/XOPEN2K8/syslog.h/conform
|
||||
conform/XOPEN2K8/unistd.h/conform
|
||||
conform/XOPEN2K8/unistd.h/linknamespace
|
||||
conform/XOPEN2K8/wchar.h/conform
|
||||
conform/XPG4/stdlib.h/conform
|
||||
conform/XPG4/stdlib.h/linknamespace
|
||||
conform/XPG4/string.h/conform
|
||||
conform/XPG4/unistd.h/conform
|
||||
conform/XPG42/stdlib.h/conform
|
||||
conform/XPG42/string.h/conform
|
||||
conform/XPG42/unistd.h/conform
|
||||
elf/circleload1
|
||||
elf/constload1
|
||||
elf/dblload
|
||||
elf/dblunload
|
||||
elf/lateglobal
|
||||
elf/reldep6
|
||||
elf/resolvfail
|
||||
elf/tst-global1
|
||||
elf/tst-tls20
|
||||
nptl/tst-execstack
|
||||
|
||||
# GCC no longer implements <varargs.h>
|
||||
conform/UNIX98/varargs.h/conform
|
||||
conform/UNIX98/varargs.h/linknamespace
|
||||
conform/XPG4/varargs.h/conform
|
||||
conform/XPG4/varargs.h/linknamespace
|
||||
conform/XPG42/varargs.h/conform
|
||||
conform/XPG42/varargs.h/linknamespace
|
||||
|
||||
# These cases depend on gdbm-devel
|
||||
conform/UNIX98/ndbm.h/conform
|
||||
conform/UNIX98/ndbm.h/linknamespace
|
||||
conform/XOPEN2K/ndbm.h/conform
|
||||
conform/XOPEN2K/ndbm.h/linknamespace
|
||||
conform/XOPEN2K8/ndbm.h/conform
|
||||
conform/XOPEN2K8/ndbm.h/linknamespace
|
||||
conform/XPG42/ndbm.h/conform
|
||||
conform/XPG42/ndbm.h/linknamespace
|
||||
|
||||
# Test whether the date/time is correct under different
|
||||
# language libraries, use case problems, and see that
|
||||
# the compiled language library itself has no errors
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=23164
|
||||
localedata/tst-langinfo-newlocale-static
|
||||
|
||||
# The use case itself passed but because
|
||||
# test-xfail-tst-protected1a/test-xfail-tst-protected1b was added
|
||||
elf/tst-protected1a
|
||||
elf/tst-protected1b
|
||||
|
||||
# the test case is due to check whether a macro is defined
|
||||
# in the header files. As GLIBC evolves, the position of the
|
||||
# macro changes, causing the use case to fail
|
||||
posix/annexc
|
||||
|
||||
# Check whether sys/mman.h is consistent with linux/mman.h.
|
||||
# kernel has a self-developed macro that does not require glibc adaptation
|
||||
# https://gitee.com/src-openeuler/kernel/issues/I4BZ9T?from=project-issue
|
||||
misc/tst-mman-consts
|
||||
|
||||
# Add the tst-nss-files-hosts-long.root/etc/hosts of glibc to
|
||||
# the /etc/hosts directory of the system, and then run sucess
|
||||
nss/tst-nss-files-hosts-long
|
||||
|
||||
# The test case fails due to OBS machine restrictions which can be passed locally.
|
||||
elf/tst-debug1
|
||||
112
testsuite_whitelist.x86_64
Normal file
112
testsuite_whitelist.x86_64
Normal file
@ -0,0 +1,112 @@
|
||||
# These test cases failed due to gcc_secure
|
||||
conform/ISO/setjmp.h/conform
|
||||
conform/ISO/stdlib.h/conform
|
||||
conform/ISO/stdlib.h/linknamespace
|
||||
conform/ISO/string.h/conform
|
||||
conform/ISO11/setjmp.h/conform
|
||||
conform/ISO11/stdio.h/conform
|
||||
conform/ISO11/stdlib.h/conform
|
||||
conform/ISO11/stdlib.h/linknamespace
|
||||
conform/ISO11/string.h/conform
|
||||
conform/ISO11/wchar.h/conform
|
||||
conform/ISO99/setjmp.h/conform
|
||||
conform/ISO99/stdio.h/conform
|
||||
conform/ISO99/stdlib.h/conform
|
||||
conform/ISO99/stdlib.h/linknamespace
|
||||
conform/ISO99/string.h/conform
|
||||
conform/ISO99/wchar.h/conform
|
||||
conform/POSIX/stdlib.h/conform
|
||||
conform/POSIX/stdlib.h/linknamespace
|
||||
conform/POSIX/string.h/conform
|
||||
conform/POSIX2008/fcntl.h/conform
|
||||
conform/POSIX2008/mqueue.h/conform
|
||||
conform/POSIX2008/stdio.h/conform
|
||||
conform/POSIX2008/stdlib.h/conform
|
||||
conform/POSIX2008/stdlib.h/linknamespace
|
||||
conform/POSIX2008/wchar.h/conform
|
||||
conform/UNIX98/stdlib.h/conform
|
||||
conform/UNIX98/string.h/conform
|
||||
conform/UNIX98/unistd.h/conform
|
||||
conform/UNIX98/unistd.h/linknamespace
|
||||
conform/UNIX98/wchar.h/conform
|
||||
conform/XOPEN2K/fcntl.h/conform
|
||||
conform/XOPEN2K/mqueue.h/conform
|
||||
conform/XOPEN2K/stdio.h/conform
|
||||
conform/XOPEN2K/stdlib.h/conform
|
||||
conform/XOPEN2K/string.h/conform
|
||||
conform/XOPEN2K/syslog.h/conform
|
||||
conform/XOPEN2K/unistd.h/conform
|
||||
conform/XOPEN2K/unistd.h/linknamespace
|
||||
conform/XOPEN2K/wchar.h/conform
|
||||
conform/XOPEN2K8/fcntl.h/conform
|
||||
conform/XOPEN2K8/mqueue.h/conform
|
||||
conform/XOPEN2K8/stdio.h/conform
|
||||
conform/XOPEN2K8/stdlib.h/conform
|
||||
conform/XOPEN2K8/syslog.h/conform
|
||||
conform/XOPEN2K8/unistd.h/conform
|
||||
conform/XOPEN2K8/unistd.h/linknamespace
|
||||
conform/XOPEN2K8/wchar.h/conform
|
||||
conform/XPG4/stdlib.h/conform
|
||||
conform/XPG4/stdlib.h/linknamespace
|
||||
conform/XPG4/string.h/conform
|
||||
conform/XPG4/unistd.h/conform
|
||||
conform/XPG42/stdlib.h/conform
|
||||
conform/XPG42/string.h/conform
|
||||
conform/XPG42/unistd.h/conform
|
||||
elf/circleload1
|
||||
elf/constload1
|
||||
elf/dblload
|
||||
elf/dblunload
|
||||
elf/ifuncmain6pie
|
||||
elf/lateglobal
|
||||
elf/reldep6
|
||||
elf/resolvfail
|
||||
elf/tst-global1
|
||||
elf/tst-tls20
|
||||
nptl/tst-execstack
|
||||
|
||||
# GCC no longer implements <varargs.h>
|
||||
conform/UNIX98/varargs.h/conform
|
||||
conform/UNIX98/varargs.h/linknamespace
|
||||
conform/XPG4/varargs.h/conform
|
||||
conform/XPG4/varargs.h/linknamespace
|
||||
conform/XPG42/varargs.h/conform
|
||||
conform/XPG42/varargs.h/linknamespace
|
||||
|
||||
# These cases depend on gdbm-devel
|
||||
conform/UNIX98/ndbm.h/conform
|
||||
conform/UNIX98/ndbm.h/linknamespace
|
||||
conform/XOPEN2K/ndbm.h/conform
|
||||
conform/XOPEN2K/ndbm.h/linknamespace
|
||||
conform/XOPEN2K8/ndbm.h/conform
|
||||
conform/XOPEN2K8/ndbm.h/linknamespace
|
||||
conform/XPG42/ndbm.h/conform
|
||||
conform/XPG42/ndbm.h/linknamespace
|
||||
|
||||
# Test whether the date/time is correct under different
|
||||
# language libraries, use case problems, and see that
|
||||
# the compiled language library itself has no errors
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=23164
|
||||
localedata/tst-langinfo-newlocale-static
|
||||
|
||||
# The use case itself passed but because
|
||||
# test-xfail-tst-protected1a/test-xfail-tst-protected1b was added
|
||||
elf/tst-protected1a
|
||||
elf/tst-protected1b
|
||||
|
||||
# the test case is due to check whether a macro is defined
|
||||
# in the header files. As GLIBC evolves, the position of the
|
||||
# macro changes, causing the use case to fail
|
||||
posix/annexc
|
||||
|
||||
# Check whether sys/mman.h is consistent with linux/mman.h.
|
||||
# kernel has a self-developed macro that does not require glibc adaptation
|
||||
# https://gitee.com/src-openeuler/kernel/issues/I4BZ9T?from=project-issue
|
||||
misc/tst-mman-consts
|
||||
|
||||
# It need to build GliBC on a platform that supports CET
|
||||
elf/check-cet
|
||||
|
||||
# Add the tst-nss-files-hosts-long.root/etc/hosts of glibc to
|
||||
# the /etc/hosts directory of the system, and then run sucess
|
||||
nss/tst-nss-files-hosts-long
|
||||
Loading…
x
Reference in New Issue
Block a user