Reviewers: machenbach,
Message:
Michael: Please review.
Benedikt, Toon: FYI. May it increase your productivity!
Description:
'make quickcheck': don't overwrite debug output.
Achieved by turning optdebug into a first-class compilation mode.
Please review this at https://codereview.chromium.org/98963002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+31, -19 lines):
M Makefile
M tools/run-tests.py
Index: Makefile
diff --git a/Makefile b/Makefile
index
2ff2cdbf0759317b675f3fa3767765444ae44133..0dcb7f7f4976262d69386a90727dd15f2c18fb13
100644
--- a/Makefile
+++ b/Makefile
@@ -220,7 +220,8 @@ endif
# 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 @@ NACL_CHECKS = $(addsuffix .check,$(NACL_BUILDS))
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 @@ ENVFILE = $(OUTDIR)/environment
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 @@ $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES))
$(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 @@ 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
+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)
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)" \
Index: tools/run-tests.py
diff --git a/tools/run-tests.py b/tools/run-tests.py
index
2344f907ec8e1b910efdea983d79e2cd229a71e5..291d34df8c29fd9b262eef75db62dfc44bc3a975
100755
--- a/tools/run-tests.py
+++ b/tools/run-tests.py
@@ -190,7 +190,7 @@ def ProcessOptions(options):
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"]:
@@ -339,6 +339,14 @@ def Execute(arch, mode, args, options, suites,
workspace):
"%s.%s" % (arch, mode))
shell_dir = os.path.relpath(shell_dir)
+ if mode == "optdebug":
+ global VARIANTS
+ mode = "debug"
+ options.flaky_tests = "skip"
+ options.slow_tests = "skip"
+ options.pass_fail_tests = "skip"
+ VARIANTS=["default", "stress"]
+
# 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.