From ecd3e38ff80cd5d8f1e55f4b9a580bad78c4b6ab Mon Sep 17 00:00:00 2001 From: Nadeem Vawda Date: Sun, 31 Jul 2011 01:09:04 +0200 Subject: [PATCH] Issue #11651: Improve Makefile test targets. - Use -j0 option by default - Remove duplicate test run in "make test" and "make testuniversal" - Remove "make memtest" altogether --- Makefile.pre.in | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index c2b1a110515..a253f41c818 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -747,23 +747,22 @@ $(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS) ###################################################################### -# Test the interpreter (twice, once without .pyc files, once with) -# In the past, we've had problems where bugs in the marshalling or -# elsewhere caused bytecode read from .pyc files to behave differently -# than bytecode generated directly from a .py source file. Sometimes -# the bytecode read from a .pyc file had the bug, somtimes the directly -# generated bytecode. This is sometimes a very shy bug needing a lot of -# sample data. - -TESTOPTS= -l $(EXTRATESTOPTS) +# Run a basic set of regression tests. +# This excludes some tests that are particularly resource-intensive. +TESTOPTS= -j0 $(EXTRATESTOPTS) TESTPROG= $(srcdir)/Lib/test/regrtest.py TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -E -bb $(TESTPYTHONOPTS) TESTTIMEOUT= 3600 test: all platform - -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f - -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) $(TESTPYTHON) $(TESTPROG) $(TESTOPTS) +# Run the full test suite twice - once without .pyc files, and once with. +# In the past, we've had problems where bugs in the marshalling or +# elsewhere caused bytecode read from .pyc files to behave differently +# than bytecode generated directly from a .py source file. Sometimes +# the bytecode read from a .pyc file had the bug, sometimes the directly +# generated bytecode. This is sometimes a very shy bug needing a lot of +# sample data. testall: all platform -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f $(TESTPYTHON) $(srcdir)/Lib/compileall.py @@ -771,21 +770,18 @@ testall: all platform -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) -# Run the unitests for both architectures in a Universal build on OSX -# Must be run on an Intel box. +# Run the test suite for both architectures in a Universal build on OSX. +# Must be run on an Intel box. testuniversal: all platform if [ `arch` != 'i386' ];then \ echo "This can only be used on OSX/i386" ;\ exit 1 ;\ fi - -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f - -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E $(TESTPROG) -uall $(TESTOPTS) - -# Like testall, but with a single pass only -# run an optional script to include some information about the build environment +# Like testall, but with only one pass. +# Run an optional script to include information about the build environment. buildbottest: all platform -@if which pybuildbot.identify >/dev/null 2>&1; then \ pybuildbot.identify "CC='$(CC)'" "CXX='$(CXX)'"; \ @@ -801,12 +797,6 @@ quicktest: all platform -$(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS) $(TESTPYTHON) $(TESTPROG) $(QUICKTESTOPTS) -MEMTESTOPTS= $(QUICKTESTOPTS) -x test_dl test___all__ test_fork1 \ - test_longexp -memtest: all platform - -rm -f $(srcdir)/Lib/test/*.py[co] - -$(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS) - $(TESTPYTHON) $(TESTPROG) $(MEMTESTOPTS) install: altinstall bininstall @@ -1381,7 +1371,7 @@ patchcheck: Python/thread.o: @THREADHEADERS@ # Declare targets that aren't real files -.PHONY: all build_all sharedmods oldsharedmods test quicktest memtest +.PHONY: all build_all sharedmods oldsharedmods test quicktest .PHONY: install altinstall oldsharedinstall bininstall altbininstall .PHONY: maninstall libinstall inclinstall libainstall sharedinstall .PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure