progtest: Add runner script
* .gitignore: Ignore new generated files (Autoconf, Automake, output). * Makefile: Rename to `Makefile.am', dynamically expand `--harmony-destructuring'. * autogen.sh: New script. * bin/runner.in: New runner script. * bin/runner.js: Resolve program path relative to CWD. * configure.ac: New configure script.master
parent
abca20b02d
commit
06435f9f17
|
@ -1,6 +1,19 @@
|
||||||
/node_modules
|
# generated by autotools
|
||||||
|
/aclocal.m4
|
||||||
|
/autom4te.cache
|
||||||
|
/build-aux
|
||||||
|
/configure
|
||||||
|
/Makefile.in
|
||||||
|
|
||||||
|
# generated by configure
|
||||||
|
bin/runner
|
||||||
|
/config.*
|
||||||
|
/Makefile
|
||||||
|
|
||||||
# output
|
# output
|
||||||
/tame-progtest.js
|
/tame-progtest.js
|
||||||
index.js
|
index.js
|
||||||
|
|
||||||
|
# npm
|
||||||
|
/node_modules
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ modindex: $(nsindex)
|
||||||
test: check
|
test: check
|
||||||
check:
|
check:
|
||||||
PATH="$(PATH):$(CURDIR)/node_modules/mocha/bin" \
|
PATH="$(PATH):$(CURDIR)/node_modules/mocha/bin" \
|
||||||
mocha --harmony_destructuring --recursive test/
|
mocha @NODE_DESTRUCTURE@ --recursive test/
|
||||||
|
|
||||||
browserify: tame-progtest.js
|
browserify: tame-progtest.js
|
||||||
tame-progtest.js: check modindex
|
tame-progtest.js: check modindex
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Autoreconf runner
|
||||||
|
#
|
||||||
|
# Copyright (C) 2018 R-T Specialty, LLC.
|
||||||
|
#
|
||||||
|
# This file is part of TAME.
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
which autoreconf &>/dev/null || {
|
||||||
|
echo "\`autoreconf' not found in PATH"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
exec autoreconf -fvi
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Start runner using Node.js executable determined at configure-time
|
||||||
|
#
|
||||||
|
# Copyright (C) 2018 R-T Specialty, LLC.
|
||||||
|
#
|
||||||
|
# This file is part of TAME.
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
#
|
||||||
|
# In addition to the configure-time NODE_FLAGS, the NODE_FLAGS environment
|
||||||
|
# variable can be used to add additional arguments to this script.
|
||||||
|
# WARNING: NODE_FLAGS arguments provided via environment varialbes are _not_
|
||||||
|
# escaped, so be mindful of word expansion!
|
||||||
|
#
|
||||||
|
# @AUTOGENERATED@
|
||||||
|
##
|
||||||
|
|
||||||
|
declare -r mypath=$( dirname $( readlink -f "$0" ) )
|
||||||
|
|
||||||
|
declare -r program="${1?Missing program JS path}"
|
||||||
|
shift
|
||||||
|
|
||||||
|
# this kluge just concatenates all test files together until we have
|
||||||
|
# multi-file support (consequently, no args will read from stdin, which is
|
||||||
|
# convenient)
|
||||||
|
"@NODE@" @NODE_FLAGS@ $NODE_FLAGS "$mypath/runner.js" "$program" <( cat "$@" )
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const program = require( process.argv[ 2 ] );
|
const program = require( process.cwd() + '/' + process.argv[ 2 ] );
|
||||||
const filename = process.argv[ 3 ];
|
const filename = process.argv[ 3 ];
|
||||||
|
|
||||||
const fs = require( 'fs' );
|
const fs = require( 'fs' );
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
## For use my automake and autoconf
|
||||||
|
#
|
||||||
|
# Copyright (C) 2018 R-T Specialty, LLC.
|
||||||
|
#
|
||||||
|
# This file is part of TAME.
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
AC_INIT([tame-progtest], [0.0.0])
|
||||||
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
AM_INIT_AUTOMAKE([foreign])
|
||||||
|
|
||||||
|
AC_ARG_VAR([NODE], [The Node.js interpreter])
|
||||||
|
AC_ARG_VAR([NODE_FLAGS], [Arguments to Node.js for test runner (bin/runner)])
|
||||||
|
AC_CHECK_PROGS(NODE, [node nodejs])
|
||||||
|
|
||||||
|
test -n "$NODE" || AC_MSG_ERROR([missing Node.js])
|
||||||
|
|
||||||
|
# only needed for older versions of Node
|
||||||
|
AC_MSG_CHECKING([$NODE --harmony_destructuring])
|
||||||
|
AS_IF(["$NODE" --harmony_destructuring >/dev/null 2>/dev/null],
|
||||||
|
[AC_MSG_RESULT(available)
|
||||||
|
AC_SUBST([NODE_DESTRUCTURE], [--harmony_destructuring])],
|
||||||
|
[AC_MSG_RESULT(no)])
|
||||||
|
|
||||||
|
NODE_FLAGS="$NODE_FLAGS $NODE_DESTRUCTURE"
|
||||||
|
|
||||||
|
AC_SUBST([AUTOGENERATED],
|
||||||
|
["THIS FILE IS AUTOGENERATED! DO NOT MODIFY! See *.in."])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([Makefile])
|
||||||
|
AC_CONFIG_FILES([bin/runner],
|
||||||
|
[chmod +x bin/runner])
|
||||||
|
|
||||||
|
AC_OUTPUT
|
||||||
|
|
||||||
|
AC_MSG_NOTICE([You may now invoke \`make' to build.])
|
Loading…
Reference in New Issue