Browse Source

added Makefile targets to check single tests

e.g., to run a single test without re-compiling Org-mode use the
following.

make single-test-dirty TEST=test-ob/org-babel-remove-result--results-code

This should aid in isolating errors with git bisect.
Eric Schulte 6 years ago
parent
commit
2c5251f0da
2 changed files with 8 additions and 4 deletions
  1. 1 2
      mk/default.mk
  2. 7 2
      mk/targets.mk

+ 1 - 2
mk/default.mk

@@ -60,8 +60,7 @@ BTEST	= $(BATCH) \
 	  -l testing/org-test.el \
 	  $(foreach ob-lang,$(BTEST_OB_LANGUAGES),$(req-ob-lang)) \
 	  $(foreach req,$(BTEST_EXTRA),$(req-extra)) \
-	  --eval '(setq org-confirm-babel-evaluate nil)' \
-	  -f org-test-run-batch-tests
+	  --eval '(setq org-confirm-babel-evaluate nil)'
 
 # Using emacs in batch mode.
 # BATCH = $(EMACS) -batch -vanilla # XEmacs

+ 7 - 2
mk/targets.mk

@@ -94,10 +94,15 @@ compile compile-dirty::
 all clean-install::
 	$(foreach dir, $(SUBDIRS), $(MAKE) -C $(dir) $@;)
 
-check test::	compile
+check test single-test::	compile
 check test test-dirty::
 	-$(MKDIR) $(testdir)
-	TMPDIR=$(testdir) $(BTEST)
+	TMPDIR=$(testdir) $(BTEST) -f org-test-run-batch-tests
+
+single-test single-test-dirty::
+	-$(MKDIR) $(testdir)
+	TMPDIR=$(testdir) $(BTEST) --eval "(org-test-load)" --eval "(ert '$(TEST))"
+
 ifeq ($(TEST_NO_AUTOCLEAN),) # define this variable to leave $(testdir) around for inspection
 	$(MAKE) cleantest
 endif