!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
|
Name: glibc
|
||||||
Version: 2.34
|
Version: 2.34
|
||||||
Release: 10
|
Release: 11
|
||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
License: %{all_license}
|
License: %{all_license}
|
||||||
URL: http://www.gnu.org/software/glibc/
|
URL: http://www.gnu.org/software/glibc/
|
||||||
@ -77,6 +77,10 @@ Source5: LanguageList
|
|||||||
Source6: LicenseList
|
Source6: LicenseList
|
||||||
Source7: replace_same_file_to_hard_link.py
|
Source7: replace_same_file_to_hard_link.py
|
||||||
|
|
||||||
|
%if %{with testsuite}
|
||||||
|
Source8: testsuite_whitelist.%{_target_cpu}
|
||||||
|
%endif
|
||||||
|
|
||||||
Patch0: glibc-1070416.patch
|
Patch0: glibc-1070416.patch
|
||||||
Patch1: glibc-c-utf8-locale.patch
|
Patch1: glibc-c-utf8-locale.patch
|
||||||
Patch2: backport-CVE-2021-38604-0001-librt-add-test-bug-28213.patch
|
Patch2: backport-CVE-2021-38604-0001-librt-add-test-bug-28213.patch
|
||||||
@ -885,6 +889,18 @@ done
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
%check
|
%check
|
||||||
%if %{with testsuite}
|
%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
|
# Increase timeouts
|
||||||
export TIMEOUTFACTOR=16
|
export TIMEOUTFACTOR=16
|
||||||
parent=$$
|
parent=$$
|
||||||
@ -893,14 +909,24 @@ echo ====================TESTING=========================
|
|||||||
# Default libraries.
|
# Default libraries.
|
||||||
pushd build-%{target}
|
pushd build-%{target}
|
||||||
make %{?_smp_mflags} -O check |& tee rpmbuild.check.log >&2
|
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
|
if ! grep -q '^Summary of test results:$' rpmbuild.check.log ; then
|
||||||
echo "FAIL: test suite build of target: $(basename "$(pwd)")" >& 2
|
echo "FAIL: test suite build of target: $(basename "$(pwd)")" >& 2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
set +x
|
set +x
|
||||||
grep -v ^PASS: tests.sum > rpmbuild.tests.sum.not-passing || true
|
grep -v ^PASS: tests.sum | grep -v ^UNSUPPORTED > rpmbuild.tests.sum.not-passing || true
|
||||||
if test -n rpmbuild.tests.sum.not-passing ; then
|
|
||||||
|
# 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 ===================FAILED TESTS===================== >&2
|
||||||
echo "Target: $(basename "$(pwd)")" >& 2
|
echo "Target: $(basename "$(pwd)")" >& 2
|
||||||
cat rpmbuild.tests.sum.not-passing >&2
|
cat rpmbuild.tests.sum.not-passing >&2
|
||||||
@ -914,6 +940,7 @@ if test -n rpmbuild.tests.sum.not-passing ; then
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done <rpmbuild.tests.sum.not-passing
|
done <rpmbuild.tests.sum.not-passing
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Unconditonally dump differences in the system call list.
|
# Unconditonally dump differences in the system call list.
|
||||||
@ -1198,6 +1225,10 @@ fi
|
|||||||
%doc hesiod/README.hesiod
|
%doc hesiod/README.hesiod
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Oct 11 2021 Qingqing Li<liqingqing3@huawei.com> - 2.34-10
|
||||||
- update test memmove.c to cover 16KB.
|
- 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