Tests now work properly with auto* and no longer require minified files
parent
8b83add95f
commit
897b68e3e0
50
Makefile.am
50
Makefile.am
|
@ -1,4 +1,22 @@
|
|||
## ease.js Makefile.am
|
||||
#
|
||||
# Copyright (C) 2013 Mike Gerwitz
|
||||
#
|
||||
# This file is part of GNU ease.js.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
# see README
|
||||
SUBDIRS = doc
|
||||
|
@ -16,23 +34,20 @@ path_lib = $(top_builddir)/lib
|
|||
path_test = $(top_builddir)/test
|
||||
path_doc = $(top_builddir)/doc
|
||||
|
||||
path_perf_test = $(path_test)/perf
|
||||
path_combine_output = $(path_build)/ease.js
|
||||
path_combine_output_full = $(path_build)/ease-full.js
|
||||
path_browser_test = $(path_tools)/browser-test.html
|
||||
|
||||
src_js = @SRC_JS@
|
||||
perf_tests = @PERF_TESTS@
|
||||
path_externs_internal = $(path_build)/externs-internal.js
|
||||
|
||||
combine = $(path_tools)/combine
|
||||
compiler = @CCJAR@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
.PHONY: mkbuild combine min doc test perf
|
||||
.PHONY: mkbuild combine min doc check test test-suite perf FORCE
|
||||
|
||||
default: all-local
|
||||
all-local: combine min
|
||||
default: combine
|
||||
|
||||
mkbuild: $(path_build)
|
||||
|
||||
|
@ -83,12 +98,11 @@ doc:
|
|||
$(MAKE) -C "$(path_doc)"
|
||||
|
||||
test: check
|
||||
check: default
|
||||
$(MAKE) -C "$(path_test)"
|
||||
check: @SRC_TESTS@ test-suite
|
||||
|
||||
# performance tests
|
||||
perf: default $(perf_tests)
|
||||
perf-%.js: default
|
||||
perf: @PERF_TESTS@
|
||||
perf-%.js: FORCE
|
||||
if HAS_NODE
|
||||
@$(NODE) $@
|
||||
else
|
||||
|
@ -96,6 +110,24 @@ else
|
|||
@exit 1
|
||||
endif
|
||||
|
||||
# test cases (old format)
|
||||
test/%.js: FORCE
|
||||
NODE_PATH="$(path_test):$(NODE_PATH)" $(NODE) --stack_trace_limit=20 "$@"
|
||||
test/test-%: FORCE
|
||||
./"$@"
|
||||
|
||||
# test suite (new format)
|
||||
test-suite:
|
||||
if HAS_NODE
|
||||
@echo "ease.js Test Suite"
|
||||
@echo
|
||||
@NODE_PATH="$(path_test):$(NODE_PATH)" $(NODE) --stack_trace_limit=20 \
|
||||
$(path_test)/runner.js @TEST_CASES@
|
||||
else
|
||||
@echo "Node.js must be installed in order to run the test suite"
|
||||
@exit 1
|
||||
endif
|
||||
|
||||
# generate the familiar files that automake normally checks for
|
||||
dist-hook: AUTHORS NEWS ChangeLog
|
||||
cp $? $(distdir)
|
||||
|
|
42
configure.ac
42
configure.ac
|
@ -57,30 +57,6 @@ else
|
|||
AC_MSG_ERROR(failed!)
|
||||
fi
|
||||
|
||||
# unit tests
|
||||
AC_MSG_CHECKING([for unit tests])
|
||||
SRC_TESTS="$( find test/ -name test-* \
|
||||
-o -name *Test* \
|
||||
-o -name inc-*.js \
|
||||
| tr '\n' ' ' \
|
||||
)"
|
||||
AC_SUBST(SRC_TESTS)
|
||||
if test "$SRC_TESTS"; then
|
||||
AC_MSG_RESULT(ok)
|
||||
else
|
||||
AC_MSG_WARN(none found)
|
||||
fi
|
||||
|
||||
# check for performance tests
|
||||
AC_MSG_CHECKING([for performance tests])
|
||||
PERF_TESTS=$( find test/perf -name 'perf-*.js' | tr '\n' ' ' )
|
||||
AC_SUBST(PERF_TESTS)
|
||||
if test "$PERF_TESTS"; then
|
||||
AC_MSG_RESULT(ok)
|
||||
else
|
||||
AC_MSG_WARN(none found)
|
||||
fi
|
||||
|
||||
# Java is used for Closure Compiler
|
||||
AC_ARG_VAR([JAVA], [The Java executable])
|
||||
AC_ARG_VAR([CCJAR], [The Clojure Compiler jar file])
|
||||
|
@ -105,5 +81,23 @@ AS_IF(test "$JAVA" -a ! "$CCJAR",
|
|||
|
||||
AM_CONDITIONAL(HAS_CCJAR, [test "$CCJAR"])
|
||||
|
||||
# unit tests (old test system; refactoring needed)
|
||||
AC_MSG_CHECKING([for unit tests])
|
||||
SRC_TESTS="$( find test/ -name test-* | tr '\n' ' ' )"
|
||||
AC_SUBST(SRC_TESTS)
|
||||
AS_IF([test "$SRC_TESTS"], [AC_MSG_RESULT(ok)], [AC_MSG_WARN(none found)])
|
||||
|
||||
# test cases (new test system)
|
||||
AC_MSG_CHECKING([for test cases])
|
||||
TEST_CASES="$( find test/ -name '*Test.*' | tr '\n' ' ' )"
|
||||
AC_SUBST(TEST_CASES)
|
||||
AS_IF([test "$TEST_CASES"], [AC_MSG_RESULT(ok)], [AC_MSG_WARN(none found)])
|
||||
|
||||
# check for performance tests
|
||||
AC_MSG_CHECKING([for performance tests])
|
||||
PERF_TESTS=$( find test/perf -name 'perf-*.js' | tr '\n' ' ' )
|
||||
AC_SUBST(PERF_TESTS)
|
||||
AS_IF([test "$PERF_TESTS"], [AC_MSG_RESULT(ok)], [AC_MSG_WARN(none found)])
|
||||
|
||||
AC_CONFIG_FILES([Makefile doc/Makefile package.json lib/version.js])
|
||||
AC_OUTPUT
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
##
|
||||
# ease.js test Makefile
|
||||
#
|
||||
# Responsible for running the ease.js test suite.
|
||||
#
|
||||
# Copyright (C) 2011, 2012 Mike Gerwitz
|
||||
#
|
||||
# This file is part of GNU ease.js
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
tests := $(shell find . \
|
||||
-name 'test-*' \
|
||||
-a ! -name 'test-combine*.js'\
|
||||
)
|
||||
cases := $(shell find . \
|
||||
-name '*Test.*' \
|
||||
)
|
||||
tests_combine := test-combine*.js
|
||||
|
||||
.PHONY: FORCE test test-combine suite
|
||||
|
||||
|
||||
default: $(tests) suite combine
|
||||
combine: $(tests_combine)
|
||||
|
||||
suite:
|
||||
@echo "ease.js Test Suite"
|
||||
@echo
|
||||
@NODE_PATH=".:$(NODE_PATH)" node --stack_trace_limit=20 runner.js ${cases}
|
||||
%.js: FORCE
|
||||
NODE_PATH=".:$(NODE_PATH)" node --stack_trace_limit=20 "$@"
|
||||
test-%: FORCE
|
||||
./$@
|
|
@ -40,7 +40,7 @@ process.argv.forEach( function( val, i )
|
|||
}
|
||||
|
||||
// the tests will run themselves; we need only require 'em
|
||||
require( __dirname + '/' + val );
|
||||
require( val );
|
||||
} );
|
||||
|
||||
// output statistics
|
||||
|
|
Loading…
Reference in New Issue