bug 417516 - add top level Makefile targets to run test suites. add targets for mochitest. r=bsmedberg
authorTed Mielczarek <ted.mielczarek@gmail.com>
Sun, 27 Jul 2008 13:18:36 -0400
changeset 16249 a953aef66b5bfffb920874e25830d985ad8d1cc6
parent 16248 61c0a4ca72e4fb6de76fee7ce4521a5b721e2cdd
child 16250 382caf466c8deca1cbbc42544c6de989ec95d3ab
push idunknown
push userunknown
push dateunknown
reviewersbsmedberg
bugs417516
milestone1.9.1a2pre
bug 417516 - add top level Makefile targets to run test suites. add targets for mochitest. r=bsmedberg
testing/testsuite-targets.mk
new file mode 100644
--- /dev/null
+++ b/testing/testsuite-targets.mk
@@ -0,0 +1,67 @@
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is Mozilla Test Harnesses
+#
+# The Initial Developer of the Original Code is
+# The Mozilla Foundation
+# Portions created by the Initial Developer are Copyright (C) 2008
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#	Ted Mielczarek <ted.mielczarek@gmail.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either of the GNU General Public License Version 2 or later (the "GPL"),
+# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK *****
+
+mochitest:: mochitest-plain mochitest-chrome mochitest-a11y
+
+RUN_MOCHITEST = rm -f ./test-output.log && $(PYTHON) _tests/testing/mochitest/runtests.py --autorun --close-when-done --console-level=INFO  --log-file=./test-output.log --file-level=INFO
+
+ifndef NO_FAIL_ON_TEST_ERRORS
+define CHECK_TEST_ERROR
+  @errors=`grep "TEST-UNEXPECTED-" test-output.log` ;\
+  if test "$$errors" ; then \
+	  echo "$@ failed:"; \
+	  echo "$$errors"; \
+	  exit 1; \
+  else \
+	  echo "$@ passed"; \
+  fi
+endef
+endif
+
+mochitest-plain:
+	$(RUN_MOCHITEST)
+	$(CHECK_TEST_ERROR)
+
+mochitest-chrome:
+	$(RUN_MOCHITEST) --chrome
+	$(CHECK_TEST_ERROR)
+
+mochitest-a11y:
+	$(RUN_MOCHITEST) --a11y
+	$(CHECK_TEST_ERROR)
+
+.PHONY: mochitest mochitest-plain mochitest-chrome mochitest-a11y