progtest: Generate index.js files
parent
47f0f4039b
commit
253f845803
|
@ -1,2 +1,3 @@
|
||||||
/node_modules
|
/node_modules
|
||||||
|
index.js
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,17 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
.PHONY: check test
|
.PHONY: check test modindex FORCE
|
||||||
|
|
||||||
|
namespaces=$(shell find src/ -type d)
|
||||||
|
nsindex=$(addsuffix /index.js, $(namespaces))
|
||||||
|
|
||||||
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 --harmony_destructuring --recursive test/
|
||||||
|
|
||||||
|
modindex: $(nsindex)
|
||||||
|
%/index.js: FORCE
|
||||||
|
$(CURDIR)/build-aux/gen-index "$*" > "$@"
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,20 @@ const filename = process.argv[ 3 ];
|
||||||
const fs = require( 'fs' );
|
const fs = require( 'fs' );
|
||||||
const yaml_reader = require( 'js-yaml' );
|
const yaml_reader = require( 'js-yaml' );
|
||||||
|
|
||||||
const TestCase = require( '../src/TestCase' );
|
const {
|
||||||
const YamlTestReader = require( '../src/reader/YamlTestReader' );
|
TestCase,
|
||||||
const ConstResolver = require( '../src/reader/ConstResolver' );
|
TestRunner,
|
||||||
const DateResolver = require( '../src/reader/DateResolver' );
|
|
||||||
const TestRunner = require( '../src/TestRunner' );
|
reader: {
|
||||||
const ConsoleTestReporter = require( '../src/reporter/ConsoleTestReporter' );
|
ConstResolver,
|
||||||
|
DateResolver,
|
||||||
|
YamlTestReader
|
||||||
|
},
|
||||||
|
|
||||||
|
reporter: {
|
||||||
|
ConsoleTestReporter
|
||||||
|
},
|
||||||
|
} = require( '../src' );
|
||||||
|
|
||||||
const runner = TestRunner(
|
const runner = TestRunner(
|
||||||
ConsoleTestReporter( process.stdout ),
|
ConsoleTestReporter( process.stdout ),
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Generates index.js from sources in destination directory
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014 R-T Specialty, LLC.
|
||||||
|
#
|
||||||
|
# This file is part of liza.
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
##
|
||||||
|
|
||||||
|
shopt -s extglob nullglob
|
||||||
|
|
||||||
|
destpath="${1?Destination path required}"
|
||||||
|
|
||||||
|
cat <<EOH
|
||||||
|
/*** GENERATED BY gen-index; DO NOT MODIFY ***/
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
EOH
|
||||||
|
|
||||||
|
declare -i i
|
||||||
|
|
||||||
|
# generate require for each module
|
||||||
|
for module in "$destpath"/!(index).js; do
|
||||||
|
modname="$( basename "$module" .js )"
|
||||||
|
|
||||||
|
# humor ECMAScript 3 for now
|
||||||
|
if ((i++)); then
|
||||||
|
echo ,
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n " get '$modname'() { return require( './$modname' ); }"
|
||||||
|
done
|
||||||
|
|
||||||
|
# include index.js for any sub-directories (namespace)
|
||||||
|
for dir in $( find "$destpath" -maxdepth 1 -mindepth 1 -type d ); do
|
||||||
|
ns=$( basename "$dir" )
|
||||||
|
|
||||||
|
# humor ECMAScript 3 for now
|
||||||
|
if ((i++)); then
|
||||||
|
echo ,
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n " get '$ns'() { return require('./$ns'); }"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo -e "\n};"
|
Loading…
Reference in New Issue