Revision: 18120
Author:   [email protected]
Date:     Thu Nov 28 13:18:04 2013 UTC
Log:      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
[email protected], [email protected]

Review URL: https://codereview.chromium.org/94703002
http://code.google.com/p/v8/source/detail?r=18120

Modified:
 /branches/bleeding_edge/Makefile
 /branches/bleeding_edge/tools/run-tests.py

=======================================
--- /branches/bleeding_edge/Makefile    Tue Nov 26 16:48:55 2013 UTC
+++ /branches/bleeding_edge/Makefile    Thu Nov 28 13:18:04 2013 UTC
@@ -350,6 +350,16 @@
        @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 $@)
=======================================
--- /branches/bleeding_edge/tools/run-tests.py  Tue Nov 26 16:53:04 2013 UTC
+++ /branches/bleeding_edge/tools/run-tests.py  Thu Nov 28 13:18:04 2013 UTC
@@ -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 @@

   # 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 @@
       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 @@
     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


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to