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 \
|
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR)/native \
|
||||||
--arch-and-mode=. $(TESTFLAGS)
|
--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.
|
# Clean targets. You can clean each architecture individually, or everything.
|
||||||
$(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)):
|
$(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)):
|
||||||
rm -f $(OUTDIR)/Makefile.$(basename $@)
|
rm -f $(OUTDIR)/Makefile.$(basename $@)
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
import itertools
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
import optparse
|
import optparse
|
||||||
import os
|
import os
|
||||||
@ -183,9 +184,10 @@ def ProcessOptions(options):
|
|||||||
|
|
||||||
# Architecture and mode related stuff.
|
# Architecture and mode related stuff.
|
||||||
if options.arch_and_mode:
|
if options.arch_and_mode:
|
||||||
tokens = options.arch_and_mode.split(".")
|
options.arch_and_mode = [arch_and_mode.split(".")
|
||||||
options.arch = tokens[0]
|
for arch_and_mode in options.arch_and_mode.split(",")]
|
||||||
options.mode = tokens[1]
|
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(",")
|
options.mode = options.mode.split(",")
|
||||||
for mode in options.mode:
|
for mode in options.mode:
|
||||||
if not mode.lower() in ["debug", "release"]:
|
if not mode.lower() in ["debug", "release"]:
|
||||||
@ -199,6 +201,11 @@ def ProcessOptions(options):
|
|||||||
print "Unknown architecture %s" % arch
|
print "Unknown architecture %s" % arch
|
||||||
return False
|
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.
|
# Special processing of other options, sorted alphabetically.
|
||||||
|
|
||||||
if options.buildbot:
|
if options.buildbot:
|
||||||
@ -313,10 +320,9 @@ def Main():
|
|||||||
for s in suites:
|
for s in suites:
|
||||||
s.DownloadData()
|
s.DownloadData()
|
||||||
|
|
||||||
for mode in options.mode:
|
for (arch, mode) in options.arch_and_mode:
|
||||||
for arch in options.arch:
|
code = Execute(arch, mode, args, options, suites, workspace)
|
||||||
code = Execute(arch, mode, args, options, suites, workspace)
|
exit_code = exit_code or code
|
||||||
exit_code = exit_code or code
|
|
||||||
return exit_code
|
return exit_code
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user