[packages/python3] - profile-opt target also runs test suite, so we want to disable some tests there, too. Use -x for e

arekm arekm at pld-linux.org
Mon Aug 5 17:25:47 CEST 2019


commit bebf9cf25978eb9c142173b4cdc91ca7778300e2
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Aug 5 17:25:38 2019 +0200

    - profile-opt target also runs test suite, so we want to disable some tests there, too. Use -x for each test (seems that this is how it is supposed to be  used). Now problematic foo-*.rpm doesn't get build at all.

 python3-profile-tests.patch | 11 +++++++++++
 python3.spec                | 20 ++++++++++++--------
 2 files changed, 23 insertions(+), 8 deletions(-)
---
diff --git a/python3.spec b/python3.spec
index 0756aee..4ebc77f 100644
--- a/python3.spec
+++ b/python3.spec
@@ -9,19 +9,19 @@
 %bcond_without	optimizations		# expensive, stable optimizations (PGO etc.) + LTO
 #
 # tests which will not work on 64-bit platforms
-%define		no64bit_tests	test_audioop test_rgbimg test_imageop
+%define		no64bit_tests	-x test_audioop -x test_rgbimg -x test_imageop
 # tests which may fail because of builder environment limitations (no /proc or /dev/pts)
-%define		nobuilder_tests test_resource test_openpty test_socket test_nis test_posix test_locale test_pty test_asyncio test_os test_readline test_normalization
+%define		nobuilder_tests -x test_resource -x test_openpty -x test_socket -x test_nis -x test_posix -x test_locale -x test_pty -x test_asyncio -x test_os -x test_readline -x test_normalization
 
 # tests which fail because of some unknown/unresolved reason (this list should be %{nil})
 #   test_site: fails because our site.py is patched to include both /usr/share/... and /usr/lib...
 #   test_gdb: fails, as the gdb uses old python version
 #   test_time: test_AsTimeval (test.test_time.TestCPyTime), rounding error
 %ifarch x32
-%define		broken_tests_x32	test_time
+%define		broken_tests_x32	-x test_time
 %undefine	with_optimizations
 %endif
-%define		broken_tests	test_nntplib test_gdb test_site test_distutils test_bdist_rpm test_ssl %{?broken_tests_x32}
+%define		broken_tests	-x test_nntplib -x test_gdb -x test_site -x test_distutils -x test_bdist_rpm -x test_ssl %{?broken_tests_x32}
 
 %define py_ver		3.7
 %define py_abi		%{py_ver}m
@@ -64,6 +64,7 @@ Patch11:	%{name}-installcompile.patch
 # https://bugs.python.org/file21896/nonexistent_user.patch
 Patch12:        nonexistent_user.patch
 Patch13:	%{name}-no-randomize-tests.patch
+Patch14:	python3-profile-tests.patch
 URL:		https://www.python.org/
 BuildRequires:	autoconf >= 2.65
 BuildRequires:	automake
@@ -102,9 +103,9 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define		specflags_ppc64	-D__ppc64__=1
 
 %if %{with verbose_tests}
-%define test_flags -v -x
+%define test_flags -v
 %else
-%define test_flags -wW -x
+%define test_flags -wW
 %endif
 
 %ifarch alpha ia64 ppc64 sparc64 ppc64 %{x8664}
@@ -114,7 +115,7 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %endif
 
 %ifarch sparc
-%define test_list %{nobuilder_tests} %{broken_tests} test_fcntl test_ioctl
+%define test_list %{nobuilder_tests} %{broken_tests} -x test_fcntl -x test_ioctl
 %endif
 
 %description
@@ -496,6 +497,7 @@ Moduły testowe dla Pythona.
 %patch11 -p1
 %patch12 -p1
 %patch13 -p1
+%patch14 -p1
 
 %{__rm} -r Modules/expat
 
@@ -544,7 +546,9 @@ fi
 	--with-lto
 %endif
 
-%{__make} 2>&1 | awk '
+%{__make} \
+	TESTOPTS="%{test_list}" \
+	2>&1 | awk '
 BEGIN { fail = 0; logmsg = ""; }
 {
 		if ($0 ~ /\*\*\* WARNING:/) {
diff --git a/python3-profile-tests.patch b/python3-profile-tests.patch
new file mode 100644
index 0000000..11c0dc6
--- /dev/null
+++ b/python3-profile-tests.patch
@@ -0,0 +1,11 @@
+--- Python-3.7.4/Makefile.pre.in~	2019-08-05 14:10:46.000000000 +0200
++++ Python-3.7.4/Makefile.pre.in	2019-08-05 14:37:01.691326225 +0200
+@@ -260,7 +260,7 @@ TCLTK_LIBS=	@TCLTK_LIBS@
+ # The task to run while instrumented when building the profile-opt target.
+ # We exclude unittests with -x that take a rediculious amount of time to
+ # run in the instrumented training build or do not provide much value.
+-PROFILE_TASK=-m test.regrtest --pgo
++PROFILE_TASK=-m test.regrtest --pgo $(TESTOPTS)
+ 
+ # report files for gcov / lcov coverage report
+ COVERAGE_INFO=	$(abs_builddir)/coverage.info
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python3.git/commitdiff/bebf9cf25978eb9c142173b4cdc91ca7778300e2



More information about the pld-cvs-commit mailing list