Revision: 18236
Author:   [email protected]
Date:     Tue Dec  3 14:24:40 2013 UTC
Log:      'make quickcheck': don't overwrite debug output.

Achieved by turning optdebug into a first-class compilation mode.

[email protected], [email protected]

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

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

=======================================
--- /branches/bleeding_edge/Makefile    Sun Dec  1 11:40:02 2013 UTC
+++ /branches/bleeding_edge/Makefile    Tue Dec  3 14:24:40 2013 UTC
@@ -220,7 +220,8 @@
 # variables, don't override them (use the targets instead).
 ARCHES = ia32 x64 arm mipsel
 DEFAULT_ARCHES = ia32 x64 arm
-MODES = release debug
+MODES = release debug optdebug
+DEFAULT_MODES = release debug
 ANDROID_ARCHES = android_ia32 android_arm android_mipsel
 NACL_ARCHES = nacl_ia32 nacl_x64

@@ -247,6 +248,7 @@
 ENVFILE = $(OUTDIR)/environment

 .PHONY: all check clean dependencies $(ENVFILE).new native \
+        qc quickcheck \
$(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \
         $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \
         $(ANDROID_ARCHES) $(ANDROID_BUILDS) $(ANDROID_CHECKS) \
@@ -255,7 +257,7 @@
         must-set-NACL_SDK_ROOT

 # Target definitions. "all" is the default.
-all: $(MODES)
+all: $(DEFAULT_MODES)

 # Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile
 # having been created before.
@@ -274,11 +276,12 @@
 $(ARCHES): $(addprefix $$@.,$(MODES))

 # Defines how to build a particular target (e.g. ia32.release).
-$(BUILDS): $(OUTDIR)/Makefile.$$(basename $$@)
-       @$(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \
+$(BUILDS): $(OUTDIR)/Makefile.$$@
+       @$(MAKE) -C "$(OUTDIR)" -f Makefile.$@ \
                 CXX="$(CXX)" LINK="$(LINK)" \
                 BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
-                            python -c "print raw_input().capitalize()") \
+                            python -c "print \
+                            raw_input().replace('opt', '').capitalize()") \
                 builddir="$(shell pwd)/$(OUTDIR)/$@"

 native: $(OUTDIR)/Makefile.native
@@ -350,39 +353,40 @@
        @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
+FASTTESTMODES = ia32.release,x64.release,ia32.optdebug,x64.optdebug,arm.optdebug

-quickcheck:
-       @$(MAKE) all optdebug=on
-       @tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
-           --arch-and-mode=$(FASTTESTMODES) $(FASTTESTFLAGS) $(TESTFLAGS)
+COMMA = ,
+EMPTY =
+SPACE = $(EMPTY) $(EMPTY)
+quickcheck: $(subst $(COMMA),$(SPACE),$(FASTTESTMODES))
+       tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
+           --arch-and-mode=$(FASTTESTMODES) $(TESTFLAGS) --quickcheck
 qc: quickcheck

# Clean targets. You can clean each architecture individually, or everything.
 $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)):
-       rm -f $(OUTDIR)/Makefile.$(basename $@)
+       rm -f $(OUTDIR)/Makefile.$(basename $@)*
        rm -rf $(OUTDIR)/$(basename $@).release
        rm -rf $(OUTDIR)/$(basename $@).debug
-       find $(OUTDIR) -regex '.*\(host\|target\).$(basename $@)\.mk' -delete
+       find $(OUTDIR) -regex '.*\(host\|target\)\.$(basename $@).*\.mk' -delete

 native.clean:
        rm -f $(OUTDIR)/Makefile.native
        rm -rf $(OUTDIR)/native
-       find $(OUTDIR) -regex '.*\(host\|target\).native\.mk' -delete
+       find $(OUTDIR) -regex '.*\(host\|target\)\.native\.mk' -delete

clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES) $(NACL_ARCHES)) native.clean

 # GYP file generation targets.
-OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ARCHES))
+OUT_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(BUILDS))
 $(OUT_MAKEFILES): $(GYPFILES) $(ENVFILE)
        PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \
        GYP_GENERATORS=make \
        build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
                      -Ibuild/standalone.gypi --depth=. \
-                     -Dv8_target_arch=$(subst .,,$(suffix $@)) \
-                     -S.$(subst .,,$(suffix $@)) $(GYPFLAGS)
+                     -Dv8_target_arch=$(subst .,,$(suffix $(basename $@))) \
+                     -Dv8_optimized_debug=$(if $(findstring optdebug,$@),2,0) \
+                     -S$(suffix $(basename $@))$(suffix $@) $(GYPFLAGS)

 $(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
        PYTHONPATH="$(shell pwd)/tools/generate_shim_headers:$(PYTHONPATH)" \
=======================================
--- /branches/bleeding_edge/tools/run-tests.py  Thu Nov 28 13:18:04 2013 UTC
+++ /branches/bleeding_edge/tools/run-tests.py  Tue Dec  3 14:24:40 2013 UTC
@@ -147,6 +147,8 @@
                     help=("The style of progress indicator"
                           " (verbose, dots, color, mono)"),
choices=progress.PROGRESS_INDICATORS.keys(), default="mono")
+  result.add_option("--quickcheck", default=False, action="store_true",
+                    help=("Quick check mode (skip slow/flaky tests)"))
result.add_option("--report", help="Print a summary of the tests to be run",
                     default=False, action="store_true")
   result.add_option("--shard-count",
@@ -190,7 +192,7 @@
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"]:
+    if not mode.lower() in ["debug", "release", "optdebug"]:
       print "Unknown mode %s" % mode
       return False
   if options.arch in ["auto", "native"]:
@@ -226,9 +228,9 @@
     return reduce(lambda x, y: x + y, args) <= 1

   if not excl(options.no_stress, options.stress_only, options.no_variants,
-              bool(options.variants)):
-    print("Use only one of --no-stress, --stress-only, --no-variants or "
-          "--variants.")
+              bool(options.variants), options.quickcheck):
+    print("Use only one of --no-stress, --stress-only, --no-variants, "
+          "--variants, or --quickcheck.")
     return False
   if options.no_stress:
     VARIANTS = ["default", "nocrankshaft"]
@@ -241,6 +243,12 @@
     if not set(VARIANTS).issubset(VARIANT_FLAGS.keys()):
       print "All variants must be in %s" % str(VARIANT_FLAGS.keys())
       return False
+  if options.quickcheck:
+    VARIANTS = ["default", "stress"]
+    options.flaky_tests = "skip"
+    options.slow_tests = "skip"
+    options.pass_fail_tests = "skip"
+
   if not options.shell_dir:
     if options.shell:
       print "Warning: --shell is deprecated, use --shell-dir instead."
@@ -339,6 +347,9 @@
                                "%s.%s" % (arch, mode))
   shell_dir = os.path.relpath(shell_dir)

+  if mode == "optdebug":
+    mode = "debug"  # "optdebug" is just an alias.
+
   # Populate context object.
   mode_flags = MODE_FLAGS[mode]
   timeout = options.timeout

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