Add fast make and test all target.
The new target called "quickcheck" builds and tests with several configurations using recent test runner speed improvements. Runtime from scratch (after make clean): < 8 min Runtime tests only: < 3 min TEST=make quickcheck R=jkummerow@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/94703002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
5532af4437
commit
59ff4ec657
10
Makefile
10
Makefile
@ -350,6 +350,16 @@ native.check: native
|
||||
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR)/native \
|
||||
--arch-and-mode=. $(TESTFLAGS)
|
||||
|
||||
FASTTESTFLAGS = --flaky-tests=skip --slow-tests=skip --pass-fail-tests=skip \
|
||||
--variants=default,stress
|
||||
FASTTESTMODES = ia32.release,x64.release,ia32.debug,x64.debug,arm.debug
|
||||
|
||||
quickcheck:
|
||||
@$(MAKE) all optdebug=on
|
||||
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
|
||||
--arch-and-mode=$(FASTTESTMODES) $(FASTTESTFLAGS) $(TESTFLAGS)
|
||||
qc: quickcheck
|
||||
|
||||
# Clean targets. You can clean each architecture individually, or everything.
|
||||
$(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)):
|
||||
rm -f $(OUTDIR)/Makefile.$(basename $@)
|
||||
|
@ -28,6 +28,7 @@
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
import itertools
|
||||
import multiprocessing
|
||||
import optparse
|
||||
import os
|
||||
@ -183,9 +184,10 @@ def ProcessOptions(options):
|
||||
|
||||
# Architecture and mode related stuff.
|
||||
if options.arch_and_mode:
|
||||
tokens = options.arch_and_mode.split(".")
|
||||
options.arch = tokens[0]
|
||||
options.mode = tokens[1]
|
||||
options.arch_and_mode = [arch_and_mode.split(".")
|
||||
for arch_and_mode in options.arch_and_mode.split(",")]
|
||||
options.arch = ",".join([tokens[0] for tokens in options.arch_and_mode])
|
||||
options.mode = ",".join([tokens[1] for tokens in options.arch_and_mode])
|
||||
options.mode = options.mode.split(",")
|
||||
for mode in options.mode:
|
||||
if not mode.lower() in ["debug", "release"]:
|
||||
@ -199,6 +201,11 @@ def ProcessOptions(options):
|
||||
print "Unknown architecture %s" % arch
|
||||
return False
|
||||
|
||||
# Store the final configuration in arch_and_mode list. Don't overwrite
|
||||
# predefined arch_and_mode since it is more expressive than arch and mode.
|
||||
if not options.arch_and_mode:
|
||||
options.arch_and_mode = itertools.product(options.arch, options.mode)
|
||||
|
||||
# Special processing of other options, sorted alphabetically.
|
||||
|
||||
if options.buildbot:
|
||||
@ -313,10 +320,9 @@ def Main():
|
||||
for s in suites:
|
||||
s.DownloadData()
|
||||
|
||||
for mode in options.mode:
|
||||
for arch in options.arch:
|
||||
code = Execute(arch, mode, args, options, suites, workspace)
|
||||
exit_code = exit_code or code
|
||||
for (arch, mode) in options.arch_and_mode:
|
||||
code = Execute(arch, mode, args, options, suites, workspace)
|
||||
exit_code = exit_code or code
|
||||
return exit_code
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user