summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2011-07-31 06:36:56 +0000
committerAdrian Thurston <thurston@complang.org>2011-07-31 06:36:56 +0000
commit7c0b3deac8a3459b9cf49c01c8427f24cff2cf82 (patch)
tree8ef89a6c2aa8a5360c9938012d678347d2bedf7e
parentb10aa23f6da3f4179f54e5522c042d8599baa968 (diff)
downloadcolm-7c0b3deac8a3459b9cf49c01c8427f24cff2cf82.tar.gz
Automake files in the tests directory now used only for adding files to the
dist. The makefiles that run the tests are now called runtests.mk. Now have the test suite in the dist. refs #294.
-rw-r--r--Makefile.am2
-rw-r--r--configure.in4
-rw-r--r--test/Makefile.am634
-rw-r--r--test/cxx/Makefile.am148
-rw-r--r--test/cxx/runtests.mk115
-rw-r--r--test/html/Makefile.am33
-rw-r--r--test/html/runtests.mk31
-rw-r--r--test/http/Makefile.am51
-rw-r--r--test/http/runtests.mk45
-rw-r--r--test/python/Makefile.am60
-rw-r--r--test/python/runtests.mk52
-rw-r--r--test/ruby/Makefile.am33
-rw-r--r--test/ruby/runtests.mk31
-rwxr-xr-xtest/runtests.mk583
-rw-r--r--test/xml/Makefile.am33
-rw-r--r--test/xml/runtests.mk31
16 files changed, 1074 insertions, 812 deletions
diff --git a/Makefile.am b/Makefile.am
index f907d2e1..98a61b96 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -75,7 +75,7 @@
# ADT
SUBDIRS = colm
-DIST_SUBDIRS = $(SUBDIRS) aapl
+DIST_SUBDIRS = $(SUBDIRS) aapl test
dist_doc_DATA = colm.vim
EXTRA_DIST = colm.vim
diff --git a/configure.in b/configure.in
index 9e877adf..983599c1 100644
--- a/configure.in
+++ b/configure.in
@@ -91,8 +91,8 @@ fi
fi # build_parsers
dnl write output files
-AC_OUTPUT( Makefile colm/Makefile aapl/Makefile test/Makefile
+AC_OUTPUT(Makefile colm/Makefile aapl/Makefile test/Makefile
test/python/Makefile test/html/Makefile test/xml/Makefile test/http/Makefile
- test/cxx/Makefile test/ruby/Makefile )
+ test/cxx/Makefile test/ruby/Makefile)
echo "configuration of colm complete"
diff --git a/test/Makefile.am b/test/Makefile.am
index 71de6655..2d8278ac 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,6 +1,8 @@
-SUBDIRS = python html xml http cxx ruby
+DIST_SUBDIRS = python html xml http cxx ruby
-TESTS = \
+TESTS = runtests.mk
+
+TEST_CASES = \
backtrack1.lm \
backtrack2.lm \
backtrack3.lm \
@@ -48,534 +50,118 @@ TESTS = \
counting3.lm \
counting4.lm \
til.lm \
+ tags.lm \
matchex.lm \
maxlen.lm \
superid.lm \
- tags.lm \
heredoc.lm \
commitbt.lm \
sprintf.lm \
div.lm \
scope1.lm
-DIFFS = \
- backtrack1.diff \
- backtrack2.diff \
- backtrack3.diff \
- dns.diff \
- accum1.diff \
- accum2.diff \
- accum3.diff \
- accumbt.diff \
- mutualrec.diff \
- argv1.diff \
- argv2.diff \
- exit.diff \
- rubyhere.diff \
- translate1.diff \
- translate2.diff \
- construct1.diff \
- construct2.diff \
- construct3.diff \
- treecmp1.diff \
- context1.diff \
- context2.diff \
- context3.diff \
- undofrag1.diff \
- undofrag2.diff \
- undofrag3.diff \
- nestedcomm.diff \
- reparse.diff \
- btscan1.diff \
- btscan2.diff \
- island.diff \
- func.diff \
- travs1.diff \
- constructex.diff \
- rediv.diff \
- liftattrs.diff \
- mailbox.diff \
- string.diff \
- repeat.diff \
- ragelambig1.diff \
- ragelambig2.diff \
- ragelambig3.diff \
- ragelambig4.diff \
- counting1.diff \
- counting2.diff \
- counting3.diff \
- counting4.diff \
- til.diff \
- matchex.diff \
- maxlen.diff \
- superid.diff \
- tags.diff \
- heredoc.diff \
- commitbt.diff \
- sprintf.diff \
- div.diff \
- scope1.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ./genmf TESTS
- ./genmf > Makefile
-
-backtrack1.diff: backtrack1.out backtrack1.exp
- @diff -u backtrack1.exp backtrack1.out > backtrack1.diff || ( cat backtrack1.diff; rm backtrack1.diff )
-
-backtrack1.out: backtrack1.bin
- ./backtrack1.bin < backtrack1.in > backtrack1.out
-
-backtrack1.bin: backtrack1.lm ./../colm/colm
- ./../colm/colm backtrack1.lm
-backtrack2.diff: backtrack2.out backtrack2.exp
- @diff -u backtrack2.exp backtrack2.out > backtrack2.diff || ( cat backtrack2.diff; rm backtrack2.diff )
-
-backtrack2.out: backtrack2.bin
- ./backtrack2.bin < backtrack2.in > backtrack2.out
-
-backtrack2.bin: backtrack2.lm ./../colm/colm
- ./../colm/colm backtrack2.lm
-backtrack3.diff: backtrack3.out backtrack3.exp
- @diff -u backtrack3.exp backtrack3.out > backtrack3.diff || ( cat backtrack3.diff; rm backtrack3.diff )
-
-backtrack3.out: backtrack3.bin
- ./backtrack3.bin < backtrack3.in > backtrack3.out
-
-backtrack3.bin: backtrack3.lm ./../colm/colm
- ./../colm/colm backtrack3.lm
-dns.diff: dns.out dns.exp
- @diff -u dns.exp dns.out > dns.diff || ( cat dns.diff; rm dns.diff )
-
-dns.out: dns.bin
- ./dns.bin < dns.in > dns.out
-
-dns.bin: dns.lm ./../colm/colm
- ./../colm/colm dns.lm
-accum1.diff: accum1.out accum1.exp
- @diff -u accum1.exp accum1.out > accum1.diff || ( cat accum1.diff; rm accum1.diff )
-
-accum1.out: accum1.bin
- ./accum1.bin < accum1.in > accum1.out
-
-accum1.bin: accum1.lm ./../colm/colm
- ./../colm/colm accum1.lm
-accum2.diff: accum2.out accum2.exp
- @diff -u accum2.exp accum2.out > accum2.diff || ( cat accum2.diff; rm accum2.diff )
-
-accum2.out: accum2.bin
- ./accum2.bin < accum2.in > accum2.out
-
-accum2.bin: accum2.lm ./../colm/colm
- ./../colm/colm accum2.lm
-accum3.diff: accum3.out accum3.exp
- @diff -u accum3.exp accum3.out > accum3.diff || ( cat accum3.diff; rm accum3.diff )
-
-accum3.out: accum3.bin
- ./accum3.bin -qv -h -o output sdf -i eth0 file > accum3.out
-
-accum3.bin: accum3.lm ./../colm/colm
- ./../colm/colm accum3.lm
-accumbt.diff: accumbt.out accumbt.exp
- @diff -u accumbt.exp accumbt.out > accumbt.diff || ( cat accumbt.diff; rm accumbt.diff )
-
-accumbt.out: accumbt.bin
- ./accumbt.bin > accumbt.out
-
-accumbt.bin: accumbt.lm ./../colm/colm
- ./../colm/colm accumbt.lm
-mutualrec.diff: mutualrec.out mutualrec.exp
- @diff -u mutualrec.exp mutualrec.out > mutualrec.diff || ( cat mutualrec.diff; rm mutualrec.diff )
-
-mutualrec.out: mutualrec.bin
- ./mutualrec.bin > mutualrec.out
-
-mutualrec.bin: mutualrec.lm ./../colm/colm
- ./../colm/colm mutualrec.lm
-argv1.diff: argv1.out argv1.exp
- @diff -u argv1.exp argv1.out > argv1.diff || ( cat argv1.diff; rm argv1.diff )
-
-argv1.out: argv1.bin
- ./argv1.bin a b c 1 2 3 > argv1.out
-
-argv1.bin: argv1.lm ./../colm/colm
- ./../colm/colm argv1.lm
-argv2.diff: argv2.out argv2.exp
- @diff -u argv2.exp argv2.out > argv2.diff || ( cat argv2.diff; rm argv2.diff )
-
-argv2.out: argv2.bin
- ./argv2.bin -qv -h -o output -iinput file --input=foo --input bar --help --verbose > argv2.out
-
-argv2.bin: argv2.lm ./../colm/colm
- ./../colm/colm argv2.lm
-exit.diff: exit.out exit.exp
- @diff -u exit.exp exit.out > exit.diff || ( cat exit.diff; rm exit.diff )
-
-exit.out: exit.bin
- ./exit.bin > exit.out
-
-exit.bin: exit.lm ./../colm/colm
- ./../colm/colm exit.lm
-rubyhere.diff: rubyhere.out rubyhere.exp
- @diff -u rubyhere.exp rubyhere.out > rubyhere.diff || ( cat rubyhere.diff; rm rubyhere.diff )
-
-rubyhere.out: rubyhere.bin
- ./rubyhere.bin < rubyhere.in > rubyhere.out
-
-rubyhere.bin: rubyhere.lm ./../colm/colm
- ./../colm/colm rubyhere.lm
-translate1.diff: translate1.out translate1.exp
- @diff -u translate1.exp translate1.out > translate1.diff || ( cat translate1.diff; rm translate1.diff )
-
-translate1.out: translate1.bin
- ./translate1.bin < translate1.in > translate1.out
-
-translate1.bin: translate1.lm ./../colm/colm
- ./../colm/colm translate1.lm
-translate2.diff: translate2.out translate2.exp
- @diff -u translate2.exp translate2.out > translate2.diff || ( cat translate2.diff; rm translate2.diff )
-
-translate2.out: translate2.bin
- ./translate2.bin < translate2.in > translate2.out
-
-translate2.bin: translate2.lm ./../colm/colm
- ./../colm/colm translate2.lm
-construct1.diff: construct1.out construct1.exp
- @diff -u construct1.exp construct1.out > construct1.diff || ( cat construct1.diff; rm construct1.diff )
-
-construct1.out: construct1.bin
- ./construct1.bin > construct1.out
-
-construct1.bin: construct1.lm ./../colm/colm
- ./../colm/colm construct1.lm
-construct2.diff: construct2.out construct2.exp
- @diff -u construct2.exp construct2.out > construct2.diff || ( cat construct2.diff; rm construct2.diff )
-
-construct2.out: construct2.bin
- ./construct2.bin > construct2.out
-
-construct2.bin: construct2.lm ./../colm/colm
- ./../colm/colm construct2.lm
-construct3.diff: construct3.out construct3.exp
- @diff -u construct3.exp construct3.out > construct3.diff || ( cat construct3.diff; rm construct3.diff )
-
-construct3.out: construct3.bin
- ./construct3.bin > construct3.out
-
-construct3.bin: construct3.lm ./../colm/colm
- ./../colm/colm construct3.lm
-treecmp1.diff: treecmp1.out treecmp1.exp
- @diff -u treecmp1.exp treecmp1.out > treecmp1.diff || ( cat treecmp1.diff; rm treecmp1.diff )
-
-treecmp1.out: treecmp1.bin
- ./treecmp1.bin < treecmp1.in > treecmp1.out
-
-treecmp1.bin: treecmp1.lm ./../colm/colm
- ./../colm/colm treecmp1.lm
-context1.diff: context1.out context1.exp
- @diff -u context1.exp context1.out > context1.diff || ( cat context1.diff; rm context1.diff )
-
-context1.out: context1.bin
- ./context1.bin < context1.in > context1.out
-
-context1.bin: context1.lm ./../colm/colm
- ./../colm/colm context1.lm
-context2.diff: context2.out context2.exp
- @diff -u context2.exp context2.out > context2.diff || ( cat context2.diff; rm context2.diff )
-
-context2.out: context2.bin
- ./context2.bin < context2.in > context2.out
-
-context2.bin: context2.lm ./../colm/colm
- ./../colm/colm context2.lm
-context3.diff: context3.out context3.exp
- @diff -u context3.exp context3.out > context3.diff || ( cat context3.diff; rm context3.diff )
-
-context3.out: context3.bin
- ./context3.bin < context3.in > context3.out
-
-context3.bin: context3.lm ./../colm/colm
- ./../colm/colm context3.lm
-undofrag1.diff: undofrag1.out undofrag1.exp
- @diff -u undofrag1.exp undofrag1.out > undofrag1.diff || ( cat undofrag1.diff; rm undofrag1.diff )
-
-undofrag1.out: undofrag1.bin
- ./undofrag1.bin < undofrag1.in > undofrag1.out
-
-undofrag1.bin: undofrag1.lm ./../colm/colm
- ./../colm/colm undofrag1.lm
-undofrag2.diff: undofrag2.out undofrag2.exp
- @diff -u undofrag2.exp undofrag2.out > undofrag2.diff || ( cat undofrag2.diff; rm undofrag2.diff )
-
-undofrag2.out: undofrag2.bin
- ./undofrag2.bin < undofrag2.in > undofrag2.out
-
-undofrag2.bin: undofrag2.lm ./../colm/colm
- ./../colm/colm undofrag2.lm
-undofrag3.diff: undofrag3.out undofrag3.exp
- @diff -u undofrag3.exp undofrag3.out > undofrag3.diff || ( cat undofrag3.diff; rm undofrag3.diff )
-
-undofrag3.out: undofrag3.bin
- ./undofrag3.bin < undofrag3.in > undofrag3.out
-
-undofrag3.bin: undofrag3.lm ./../colm/colm
- ./../colm/colm undofrag3.lm
-nestedcomm.diff: nestedcomm.out nestedcomm.exp
- @diff -u nestedcomm.exp nestedcomm.out > nestedcomm.diff || ( cat nestedcomm.diff; rm nestedcomm.diff )
-
-nestedcomm.out: nestedcomm.bin
- ./nestedcomm.bin < nestedcomm.in > nestedcomm.out
-
-nestedcomm.bin: nestedcomm.lm ./../colm/colm
- ./../colm/colm nestedcomm.lm
-reparse.diff: reparse.out reparse.exp
- @diff -u reparse.exp reparse.out > reparse.diff || ( cat reparse.diff; rm reparse.diff )
-
-reparse.out: reparse.bin
- ./reparse.bin < reparse.in > reparse.out
-
-reparse.bin: reparse.lm ./../colm/colm
- ./../colm/colm reparse.lm
-btscan1.diff: btscan1.out btscan1.exp
- @diff -u btscan1.exp btscan1.out > btscan1.diff || ( cat btscan1.diff; rm btscan1.diff )
-
-btscan1.out: btscan1.bin
- ./btscan1.bin < btscan1.in > btscan1.out
-
-btscan1.bin: btscan1.lm ./../colm/colm
- ./../colm/colm btscan1.lm
-btscan2.diff: btscan2.out btscan2.exp
- @diff -u btscan2.exp btscan2.out > btscan2.diff || ( cat btscan2.diff; rm btscan2.diff )
-
-btscan2.out: btscan2.bin
- ./btscan2.bin > btscan2.out
-
-btscan2.bin: btscan2.lm ./../colm/colm
- ./../colm/colm btscan2.lm
-island.diff: island.out island.exp
- @diff -u island.exp island.out > island.diff || ( cat island.diff; rm island.diff )
-
-island.out: island.bin
- ./island.bin < island.in > island.out
-
-island.bin: island.lm ./../colm/colm
- ./../colm/colm island.lm
-func.diff: func.out func.exp
- @diff -u func.exp func.out > func.diff || ( cat func.diff; rm func.diff )
-
-func.out: func.bin
- ./func.bin < func.in > func.out
-
-func.bin: func.lm ./../colm/colm
- ./../colm/colm func.lm
-travs1.diff: travs1.out travs1.exp
- @diff -u travs1.exp travs1.out > travs1.diff || ( cat travs1.diff; rm travs1.diff )
-
-travs1.out: travs1.bin
- ./travs1.bin < travs1.in > travs1.out
-
-travs1.bin: travs1.lm ./../colm/colm
- ./../colm/colm travs1.lm
-constructex.diff: constructex.out constructex.exp
- @diff -u constructex.exp constructex.out > constructex.diff || ( cat constructex.diff; rm constructex.diff )
-
-constructex.out: constructex.bin
- ./constructex.bin < constructex.in > constructex.out
-
-constructex.bin: constructex.lm ./../colm/colm
- ./../colm/colm constructex.lm
-rediv.diff: rediv.out rediv.exp
- @diff -u rediv.exp rediv.out > rediv.diff || ( cat rediv.diff; rm rediv.diff )
-
-rediv.out: rediv.bin
- ./rediv.bin < rediv.in > rediv.out
-
-rediv.bin: rediv.lm ./../colm/colm
- ./../colm/colm rediv.lm
-liftattrs.diff: liftattrs.out liftattrs.exp
- @diff -u liftattrs.exp liftattrs.out > liftattrs.diff || ( cat liftattrs.diff; rm liftattrs.diff )
-
-liftattrs.out: liftattrs.bin
- ./liftattrs.bin < liftattrs.in > liftattrs.out
-
-liftattrs.bin: liftattrs.lm ./../colm/colm
- ./../colm/colm liftattrs.lm
-mailbox.diff: mailbox.out mailbox.exp
- @diff -u mailbox.exp mailbox.out > mailbox.diff || ( cat mailbox.diff; rm mailbox.diff )
-
-mailbox.out: mailbox.bin
- ./mailbox.bin < mailbox.in > mailbox.out
-
-mailbox.bin: mailbox.lm ./../colm/colm
- ./../colm/colm mailbox.lm
-string.diff: string.out string.exp
- @diff -u string.exp string.out > string.diff || ( cat string.diff; rm string.diff )
-
-string.out: string.bin
- ./string.bin < string.in > string.out
-
-string.bin: string.lm ./../colm/colm
- ./../colm/colm string.lm
-repeat.diff: repeat.out repeat.exp
- @diff -u repeat.exp repeat.out > repeat.diff || ( cat repeat.diff; rm repeat.diff )
-
-repeat.out: repeat.bin
- ./repeat.bin < repeat.in > repeat.out
-
-repeat.bin: repeat.lm ./../colm/colm
- ./../colm/colm repeat.lm
-ragelambig1.diff: ragelambig1.out ragelambig1.exp
- @diff -u ragelambig1.exp ragelambig1.out > ragelambig1.diff || ( cat ragelambig1.diff; rm ragelambig1.diff )
-
-ragelambig1.out: ragelambig1.bin
- ./ragelambig1.bin < ragelambig1.in > ragelambig1.out
-
-ragelambig1.bin: ragelambig1.lm ./../colm/colm
- ./../colm/colm ragelambig1.lm
-ragelambig2.diff: ragelambig2.out ragelambig2.exp
- @diff -u ragelambig2.exp ragelambig2.out > ragelambig2.diff || ( cat ragelambig2.diff; rm ragelambig2.diff )
-
-ragelambig2.out: ragelambig2.bin
- ./ragelambig2.bin < ragelambig2.in > ragelambig2.out
-
-ragelambig2.bin: ragelambig2.lm ./../colm/colm
- ./../colm/colm ragelambig2.lm
-ragelambig3.diff: ragelambig3.out ragelambig3.exp
- @diff -u ragelambig3.exp ragelambig3.out > ragelambig3.diff || ( cat ragelambig3.diff; rm ragelambig3.diff )
-
-ragelambig3.out: ragelambig3.bin
- ./ragelambig3.bin < ragelambig3.in > ragelambig3.out
-
-ragelambig3.bin: ragelambig3.lm ./../colm/colm
- ./../colm/colm ragelambig3.lm
-ragelambig4.diff: ragelambig4.out ragelambig4.exp
- @diff -u ragelambig4.exp ragelambig4.out > ragelambig4.diff || ( cat ragelambig4.diff; rm ragelambig4.diff )
-
-ragelambig4.out: ragelambig4.bin
- ./ragelambig4.bin < ragelambig4.in > ragelambig4.out
-
-ragelambig4.bin: ragelambig4.lm ./../colm/colm
- ./../colm/colm ragelambig4.lm
-counting1.diff: counting1.out counting1.exp
- @diff -u counting1.exp counting1.out > counting1.diff || ( cat counting1.diff; rm counting1.diff )
-
-counting1.out: counting1.bin
- ./counting1.bin < counting1.in > counting1.out
-
-counting1.bin: counting1.lm ./../colm/colm
- ./../colm/colm counting1.lm
-counting2.diff: counting2.out counting2.exp
- @diff -u counting2.exp counting2.out > counting2.diff || ( cat counting2.diff; rm counting2.diff )
-
-counting2.out: counting2.bin
- ./counting2.bin < counting2.in > counting2.out
-
-counting2.bin: counting2.lm ./../colm/colm
- ./../colm/colm counting2.lm
-counting3.diff: counting3.out counting3.exp
- @diff -u counting3.exp counting3.out > counting3.diff || ( cat counting3.diff; rm counting3.diff )
-
-counting3.out: counting3.bin
- ./counting3.bin < counting3.in > counting3.out
-
-counting3.bin: counting3.lm ./../colm/colm
- ./../colm/colm counting3.lm
-counting4.diff: counting4.out counting4.exp
- @diff -u counting4.exp counting4.out > counting4.diff || ( cat counting4.diff; rm counting4.diff )
-
-counting4.out: counting4.bin
- ./counting4.bin < counting4.in > counting4.out
-
-counting4.bin: counting4.lm ./../colm/colm
- ./../colm/colm counting4.lm
-til.diff: til.out til.exp
- @diff -u til.exp til.out > til.diff || ( cat til.diff; rm til.diff )
-
-til.out: til.bin
- ./til.bin < til.in > til.out
-
-til.bin: til.lm ./../colm/colm
- ./../colm/colm til.lm
-matchex.diff: matchex.out matchex.exp
- @diff -u matchex.exp matchex.out > matchex.diff || ( cat matchex.diff; rm matchex.diff )
-
-matchex.out: matchex.bin
- ./matchex.bin < matchex.in > matchex.out
-
-matchex.bin: matchex.lm ./../colm/colm
- ./../colm/colm matchex.lm
-maxlen.diff: maxlen.out maxlen.exp
- @diff -u maxlen.exp maxlen.out > maxlen.diff || ( cat maxlen.diff; rm maxlen.diff )
-
-maxlen.out: maxlen.bin
- ./maxlen.bin < maxlen.in > maxlen.out
-
-maxlen.bin: maxlen.lm ./../colm/colm
- ./../colm/colm maxlen.lm
-superid.diff: superid.out superid.exp
- @diff -u superid.exp superid.out > superid.diff || ( cat superid.diff; rm superid.diff )
-
-superid.out: superid.bin
- ./superid.bin < superid.in > superid.out
-
-superid.bin: superid.lm ./../colm/colm
- ./../colm/colm superid.lm
-tags.diff: tags.out tags.exp
- @diff -u tags.exp tags.out > tags.diff || ( cat tags.diff; rm tags.diff )
-
-tags.out: tags.bin
- ./tags.bin < tags.in > tags.out
-
-tags.bin: tags.lm ./../colm/colm
- ./../colm/colm tags.lm
-heredoc.diff: heredoc.out heredoc.exp
- @diff -u heredoc.exp heredoc.out > heredoc.diff || ( cat heredoc.diff; rm heredoc.diff )
-
-heredoc.out: heredoc.bin
- ./heredoc.bin < heredoc.in > heredoc.out
-
-heredoc.bin: heredoc.lm ./../colm/colm
- ./../colm/colm heredoc.lm
-commitbt.diff: commitbt.out commitbt.exp
- @diff -u commitbt.exp commitbt.out > commitbt.diff || ( cat commitbt.diff; rm commitbt.diff )
-
-commitbt.out: commitbt.bin
- ./commitbt.bin < commitbt.in > commitbt.out
-
-commitbt.bin: commitbt.lm ./../colm/colm
- ./../colm/colm commitbt.lm
-sprintf.diff: sprintf.out sprintf.exp
- @diff -u sprintf.exp sprintf.out > sprintf.diff || ( cat sprintf.diff; rm sprintf.diff )
-
-sprintf.out: sprintf.bin
- ./sprintf.bin > sprintf.out
-
-sprintf.bin: sprintf.lm ./../colm/colm
- ./../colm/colm sprintf.lm
-div.diff: div.out div.exp
- @diff -u div.exp div.out > div.diff || ( cat div.diff; rm div.diff )
-
-div.out: div.bin
- ./div.bin > div.out
-
-div.bin: div.lm ./../colm/colm
- ./../colm/colm div.lm
-scope1.diff: scope1.out scope1.exp
- @diff -u scope1.exp scope1.out > scope1.diff || ( cat scope1.diff; rm scope1.diff )
-
-scope1.out: scope1.bin
- ./scope1.bin > scope1.out
-
-scope1.bin: scope1.lm ./../colm/colm
- ./../colm/colm scope1.lm
+INPUT = \
+ accum1.in \
+ accum2.in \
+ backtrack1.in \
+ backtrack2.in \
+ backtrack3.in \
+ btscan1.in \
+ commitbt.in \
+ constructex.in \
+ context1.in \
+ context2.in \
+ context3.in \
+ counting1.in \
+ counting2.in \
+ counting3.in \
+ counting4.in \
+ dns.in \
+ func.in \
+ heredoc.in \
+ island.in \
+ liftattrs.in \
+ mailbox.in \
+ matchex.in \
+ maxlen.in \
+ nestedcomm.in \
+ ragelambig1.in \
+ ragelambig2.in \
+ ragelambig3.in \
+ ragelambig4.in \
+ rediv.in \
+ reparse.in \
+ repeat.in \
+ rubyhere.in \
+ string.in \
+ superid.in \
+ tags.in \
+ til.in \
+ translate1.in \
+ translate2.in \
+ travs1.in \
+ travs2.in \
+ treecmp1.in \
+ undofrag1.in \
+ undofrag2.in \
+ undofrag3.in
+
+EXPECTED_OUTPUT = \
+ accum1.exp \
+ accum2.exp \
+ accum3.exp \
+ accumbt.exp \
+ argv1.exp \
+ argv2.exp \
+ backtrack1.exp \
+ backtrack2.exp \
+ backtrack3.exp \
+ btscan1.exp \
+ btscan2.exp \
+ commitbt.exp \
+ construct1.exp \
+ construct2.exp \
+ construct3.exp \
+ constructex.exp \
+ context1.exp \
+ context2.exp \
+ context3.exp \
+ counting1.exp \
+ counting2.exp \
+ counting3.exp \
+ counting4.exp \
+ div.exp \
+ dns.exp \
+ exit.exp \
+ func.exp \
+ heredoc.exp \
+ island.exp \
+ liftattrs.exp \
+ mailbox.exp \
+ matchex.exp \
+ maxlen.exp \
+ mutualrec.exp \
+ nestedcomm.exp \
+ ragelambig1.exp \
+ ragelambig2.exp \
+ ragelambig3.exp \
+ ragelambig4.exp \
+ rediv.exp \
+ reparse.exp \
+ repeat.exp \
+ rubyhere.exp \
+ scope1.exp \
+ sprintf.exp \
+ string.exp \
+ superid.exp \
+ tags.exp \
+ til.exp \
+ translate1.exp \
+ translate2.exp \
+ travs1.exp \
+ treecmp1.exp \
+ undofrag1.exp \
+ undofrag2.exp \
+ undofrag3.exp
+
+EXTRA_DIST = genmf TESTS runtests.mk $(TEST_CASES) $(INPUT) $(EXPECTED_OUTPUT)
diff --git a/test/cxx/Makefile.am b/test/cxx/Makefile.am
index 2b377cf7..1ea42064 100644
--- a/test/cxx/Makefile.am
+++ b/test/cxx/Makefile.am
@@ -1,115 +1,33 @@
-SUBDIRS =
-
-TESTS = \
- cxx.lm
-
-DIFFS = \
- cxx01.cpp.diff \
- cxx02.cpp.diff \
- cxx03.cpp.diff \
- cxx04.cpp.diff \
- cxx05.cpp.diff \
- cxx06.cpp.diff \
- cxx07.cpp.diff \
- cxx08.cpp.diff \
- cxx09.cpp.diff \
- cxx10.cpp.diff \
- cxx11.cpp.diff \
- cxx12.cpp.diff \
- cxx13.cpp.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ../genmf TESTS
- ../genmf > Makefile
-
-cxx01.cpp.diff: cxx01.cpp.out cxx01.cpp.exp
- @diff -u cxx01.cpp.exp cxx01.cpp.out > cxx01.cpp.diff || ( cat cxx01.cpp.diff; rm cxx01.cpp.diff )
-
-cxx01.cpp.out: cxx.bin
- ./cxx.bin < cxx01.cpp.in > cxx01.cpp.out
-
-cxx02.cpp.diff: cxx02.cpp.out cxx02.cpp.exp
- @diff -u cxx02.cpp.exp cxx02.cpp.out > cxx02.cpp.diff || ( cat cxx02.cpp.diff; rm cxx02.cpp.diff )
-
-cxx02.cpp.out: cxx.bin
- ./cxx.bin < cxx02.cpp.in > cxx02.cpp.out
-
-cxx03.cpp.diff: cxx03.cpp.out cxx03.cpp.exp
- @diff -u cxx03.cpp.exp cxx03.cpp.out > cxx03.cpp.diff || ( cat cxx03.cpp.diff; rm cxx03.cpp.diff )
-
-cxx03.cpp.out: cxx.bin
- ./cxx.bin < cxx03.cpp.in > cxx03.cpp.out
-
-cxx04.cpp.diff: cxx04.cpp.out cxx04.cpp.exp
- @diff -u cxx04.cpp.exp cxx04.cpp.out > cxx04.cpp.diff || ( cat cxx04.cpp.diff; rm cxx04.cpp.diff )
-
-cxx04.cpp.out: cxx.bin
- ./cxx.bin < cxx04.cpp.in > cxx04.cpp.out
-
-cxx05.cpp.diff: cxx05.cpp.out cxx05.cpp.exp
- @diff -u cxx05.cpp.exp cxx05.cpp.out > cxx05.cpp.diff || ( cat cxx05.cpp.diff; rm cxx05.cpp.diff )
-
-cxx05.cpp.out: cxx.bin
- ./cxx.bin < cxx05.cpp.in > cxx05.cpp.out
-
-cxx06.cpp.diff: cxx06.cpp.out cxx06.cpp.exp
- @diff -u cxx06.cpp.exp cxx06.cpp.out > cxx06.cpp.diff || ( cat cxx06.cpp.diff; rm cxx06.cpp.diff )
-
-cxx06.cpp.out: cxx.bin
- ./cxx.bin < cxx06.cpp.in > cxx06.cpp.out
-
-cxx07.cpp.diff: cxx07.cpp.out cxx07.cpp.exp
- @diff -u cxx07.cpp.exp cxx07.cpp.out > cxx07.cpp.diff || ( cat cxx07.cpp.diff; rm cxx07.cpp.diff )
-
-cxx07.cpp.out: cxx.bin
- ./cxx.bin < cxx07.cpp.in > cxx07.cpp.out
-
-cxx08.cpp.diff: cxx08.cpp.out cxx08.cpp.exp
- @diff -u cxx08.cpp.exp cxx08.cpp.out > cxx08.cpp.diff || ( cat cxx08.cpp.diff; rm cxx08.cpp.diff )
-
-cxx08.cpp.out: cxx.bin
- ./cxx.bin < cxx08.cpp.in > cxx08.cpp.out
-
-cxx09.cpp.diff: cxx09.cpp.out cxx09.cpp.exp
- @diff -u cxx09.cpp.exp cxx09.cpp.out > cxx09.cpp.diff || ( cat cxx09.cpp.diff; rm cxx09.cpp.diff )
-
-cxx09.cpp.out: cxx.bin
- ./cxx.bin < cxx09.cpp.in > cxx09.cpp.out
-
-cxx10.cpp.diff: cxx10.cpp.out cxx10.cpp.exp
- @diff -u cxx10.cpp.exp cxx10.cpp.out > cxx10.cpp.diff || ( cat cxx10.cpp.diff; rm cxx10.cpp.diff )
-
-cxx10.cpp.out: cxx.bin
- ./cxx.bin < cxx10.cpp.in > cxx10.cpp.out
-
-cxx11.cpp.diff: cxx11.cpp.out cxx11.cpp.exp
- @diff -u cxx11.cpp.exp cxx11.cpp.out > cxx11.cpp.diff || ( cat cxx11.cpp.diff; rm cxx11.cpp.diff )
-
-cxx11.cpp.out: cxx.bin
- ./cxx.bin < cxx11.cpp.in > cxx11.cpp.out
-
-cxx12.cpp.diff: cxx12.cpp.out cxx12.cpp.exp
- @diff -u cxx12.cpp.exp cxx12.cpp.out > cxx12.cpp.diff || ( cat cxx12.cpp.diff; rm cxx12.cpp.diff )
-
-cxx12.cpp.out: cxx.bin
- ./cxx.bin < cxx12.cpp.in > cxx12.cpp.out
-
-cxx13.cpp.diff: cxx13.cpp.out cxx13.cpp.exp
- @diff -u cxx13.cpp.exp cxx13.cpp.out > cxx13.cpp.diff || ( cat cxx13.cpp.diff; rm cxx13.cpp.diff )
-
-cxx13.cpp.out: cxx.bin
- ./cxx.bin < cxx13.cpp.in > cxx13.cpp.out
-
-cxx.bin: cxx.lm ../../colm/colm
- ../../colm/colm cxx.lm
+TEST_CASES = cxx.lm
+
+INPUT = \
+ cxx01.cpp.in \
+ cxx02.cpp.in \
+ cxx03.cpp.in \
+ cxx04.cpp.in \
+ cxx05.cpp.in \
+ cxx06.cpp.in \
+ cxx07.cpp.in \
+ cxx08.cpp.in \
+ cxx09.cpp.in \
+ cxx10.cpp.in \
+ cxx11.cpp.in \
+ cxx12.cpp.in \
+ cxx13.cpp.in
+
+OUTPUT = \
+ cxx01.cpp.exp \
+ cxx02.cpp.exp \
+ cxx03.cpp.exp \
+ cxx04.cpp.exp \
+ cxx05.cpp.exp \
+ cxx06.cpp.exp \
+ cxx07.cpp.exp \
+ cxx08.cpp.exp \
+ cxx09.cpp.exp \
+ cxx10.cpp.exp \
+ cxx11.cpp.exp \
+ cxx12.cpp.exp \
+ cxx13.cpp.exp
+
+EXTRA_DIST = TESTS runtests.mk $(TEST_CASES) $(INPUT) $(OUTPUT)
diff --git a/test/cxx/runtests.mk b/test/cxx/runtests.mk
new file mode 100644
index 00000000..2b377cf7
--- /dev/null
+++ b/test/cxx/runtests.mk
@@ -0,0 +1,115 @@
+SUBDIRS =
+
+TESTS = \
+ cxx.lm
+
+DIFFS = \
+ cxx01.cpp.diff \
+ cxx02.cpp.diff \
+ cxx03.cpp.diff \
+ cxx04.cpp.diff \
+ cxx05.cpp.diff \
+ cxx06.cpp.diff \
+ cxx07.cpp.diff \
+ cxx08.cpp.diff \
+ cxx09.cpp.diff \
+ cxx10.cpp.diff \
+ cxx11.cpp.diff \
+ cxx12.cpp.diff \
+ cxx13.cpp.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE)
+
+Makefile: ../genmf TESTS
+ ../genmf > Makefile
+
+cxx01.cpp.diff: cxx01.cpp.out cxx01.cpp.exp
+ @diff -u cxx01.cpp.exp cxx01.cpp.out > cxx01.cpp.diff || ( cat cxx01.cpp.diff; rm cxx01.cpp.diff )
+
+cxx01.cpp.out: cxx.bin
+ ./cxx.bin < cxx01.cpp.in > cxx01.cpp.out
+
+cxx02.cpp.diff: cxx02.cpp.out cxx02.cpp.exp
+ @diff -u cxx02.cpp.exp cxx02.cpp.out > cxx02.cpp.diff || ( cat cxx02.cpp.diff; rm cxx02.cpp.diff )
+
+cxx02.cpp.out: cxx.bin
+ ./cxx.bin < cxx02.cpp.in > cxx02.cpp.out
+
+cxx03.cpp.diff: cxx03.cpp.out cxx03.cpp.exp
+ @diff -u cxx03.cpp.exp cxx03.cpp.out > cxx03.cpp.diff || ( cat cxx03.cpp.diff; rm cxx03.cpp.diff )
+
+cxx03.cpp.out: cxx.bin
+ ./cxx.bin < cxx03.cpp.in > cxx03.cpp.out
+
+cxx04.cpp.diff: cxx04.cpp.out cxx04.cpp.exp
+ @diff -u cxx04.cpp.exp cxx04.cpp.out > cxx04.cpp.diff || ( cat cxx04.cpp.diff; rm cxx04.cpp.diff )
+
+cxx04.cpp.out: cxx.bin
+ ./cxx.bin < cxx04.cpp.in > cxx04.cpp.out
+
+cxx05.cpp.diff: cxx05.cpp.out cxx05.cpp.exp
+ @diff -u cxx05.cpp.exp cxx05.cpp.out > cxx05.cpp.diff || ( cat cxx05.cpp.diff; rm cxx05.cpp.diff )
+
+cxx05.cpp.out: cxx.bin
+ ./cxx.bin < cxx05.cpp.in > cxx05.cpp.out
+
+cxx06.cpp.diff: cxx06.cpp.out cxx06.cpp.exp
+ @diff -u cxx06.cpp.exp cxx06.cpp.out > cxx06.cpp.diff || ( cat cxx06.cpp.diff; rm cxx06.cpp.diff )
+
+cxx06.cpp.out: cxx.bin
+ ./cxx.bin < cxx06.cpp.in > cxx06.cpp.out
+
+cxx07.cpp.diff: cxx07.cpp.out cxx07.cpp.exp
+ @diff -u cxx07.cpp.exp cxx07.cpp.out > cxx07.cpp.diff || ( cat cxx07.cpp.diff; rm cxx07.cpp.diff )
+
+cxx07.cpp.out: cxx.bin
+ ./cxx.bin < cxx07.cpp.in > cxx07.cpp.out
+
+cxx08.cpp.diff: cxx08.cpp.out cxx08.cpp.exp
+ @diff -u cxx08.cpp.exp cxx08.cpp.out > cxx08.cpp.diff || ( cat cxx08.cpp.diff; rm cxx08.cpp.diff )
+
+cxx08.cpp.out: cxx.bin
+ ./cxx.bin < cxx08.cpp.in > cxx08.cpp.out
+
+cxx09.cpp.diff: cxx09.cpp.out cxx09.cpp.exp
+ @diff -u cxx09.cpp.exp cxx09.cpp.out > cxx09.cpp.diff || ( cat cxx09.cpp.diff; rm cxx09.cpp.diff )
+
+cxx09.cpp.out: cxx.bin
+ ./cxx.bin < cxx09.cpp.in > cxx09.cpp.out
+
+cxx10.cpp.diff: cxx10.cpp.out cxx10.cpp.exp
+ @diff -u cxx10.cpp.exp cxx10.cpp.out > cxx10.cpp.diff || ( cat cxx10.cpp.diff; rm cxx10.cpp.diff )
+
+cxx10.cpp.out: cxx.bin
+ ./cxx.bin < cxx10.cpp.in > cxx10.cpp.out
+
+cxx11.cpp.diff: cxx11.cpp.out cxx11.cpp.exp
+ @diff -u cxx11.cpp.exp cxx11.cpp.out > cxx11.cpp.diff || ( cat cxx11.cpp.diff; rm cxx11.cpp.diff )
+
+cxx11.cpp.out: cxx.bin
+ ./cxx.bin < cxx11.cpp.in > cxx11.cpp.out
+
+cxx12.cpp.diff: cxx12.cpp.out cxx12.cpp.exp
+ @diff -u cxx12.cpp.exp cxx12.cpp.out > cxx12.cpp.diff || ( cat cxx12.cpp.diff; rm cxx12.cpp.diff )
+
+cxx12.cpp.out: cxx.bin
+ ./cxx.bin < cxx12.cpp.in > cxx12.cpp.out
+
+cxx13.cpp.diff: cxx13.cpp.out cxx13.cpp.exp
+ @diff -u cxx13.cpp.exp cxx13.cpp.out > cxx13.cpp.diff || ( cat cxx13.cpp.diff; rm cxx13.cpp.diff )
+
+cxx13.cpp.out: cxx.bin
+ ./cxx.bin < cxx13.cpp.in > cxx13.cpp.out
+
+cxx.bin: cxx.lm ../../colm/colm
+ ../../colm/colm cxx.lm
diff --git a/test/html/Makefile.am b/test/html/Makefile.am
index c71cc138..7b5e8aa7 100644
--- a/test/html/Makefile.am
+++ b/test/html/Makefile.am
@@ -1,31 +1,10 @@
-SUBDIRS =
-
-TESTS = \
+TEST_CASES = \
html.lm
-DIFFS = \
- html01.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ../genmf TESTS
- ../genmf > Makefile
-
-html01.diff: html01.out html01.exp
- @diff -u html01.exp html01.out > html01.diff || ( cat html01.diff; rm html01.diff )
+INPUT = \
+ html01.in
-html01.out: html.bin
- ./html.bin < html01.in > html01.out
+EXPECTED_OUTPUT = \
+ html01.exp
-html.bin: html.lm ../../colm/colm
- ../../colm/colm html.lm
+EXTRA_DIST = TESTS runtests.mk $(TEST_CASES) $(INPUT) $(EXPECTED_OUTPUT)
diff --git a/test/html/runtests.mk b/test/html/runtests.mk
new file mode 100644
index 00000000..c71cc138
--- /dev/null
+++ b/test/html/runtests.mk
@@ -0,0 +1,31 @@
+SUBDIRS =
+
+TESTS = \
+ html.lm
+
+DIFFS = \
+ html01.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE)
+
+Makefile: ../genmf TESTS
+ ../genmf > Makefile
+
+html01.diff: html01.out html01.exp
+ @diff -u html01.exp html01.out > html01.diff || ( cat html01.diff; rm html01.diff )
+
+html01.out: html.bin
+ ./html.bin < html01.in > html01.out
+
+html.bin: html.lm ../../colm/colm
+ ../../colm/colm html.lm
diff --git a/test/http/Makefile.am b/test/http/Makefile.am
index 3d6fca9b..25192ee7 100644
--- a/test/http/Makefile.am
+++ b/test/http/Makefile.am
@@ -1,45 +1,14 @@
-SUBDIRS =
-
-TESTS = \
+TEST_CASES = \
http.lm
-DIFFS = \
- http1.diff \
- http2.diff \
- http3.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ../genmf TESTS
- ../genmf > Makefile
-
-http1.diff: http1.out http1.exp
- @diff -u http1.exp http1.out > http1.diff || ( cat http1.diff; rm http1.diff )
-
-http1.out: http.bin
- ./http.bin < http1.in > http1.out
-
-http2.diff: http2.out http2.exp
- @diff -u http2.exp http2.out > http2.diff || ( cat http2.diff; rm http2.diff )
-
-http2.out: http.bin
- ./http.bin < http2.in > http2.out
-
-http3.diff: http3.out http3.exp
- @diff -u http3.exp http3.out > http3.diff || ( cat http3.diff; rm http3.diff )
+INPUT = \
+ http1.in \
+ http2.in \
+ http3.in
-http3.out: http.bin
- ./http.bin < http3.in > http3.out
+EXPECTED_OUTPUT = \
+ http1.exp \
+ http2.exp \
+ http3.exp
-http.bin: http.lm ../../colm/colm
- ../../colm/colm http.lm
+EXTRA_DIST = TESTS runtests.mk $(TEST_CASES) $(INPUT) $(EXPECTED_OUTPUT)
diff --git a/test/http/runtests.mk b/test/http/runtests.mk
new file mode 100644
index 00000000..3d6fca9b
--- /dev/null
+++ b/test/http/runtests.mk
@@ -0,0 +1,45 @@
+SUBDIRS =
+
+TESTS = \
+ http.lm
+
+DIFFS = \
+ http1.diff \
+ http2.diff \
+ http3.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE)
+
+Makefile: ../genmf TESTS
+ ../genmf > Makefile
+
+http1.diff: http1.out http1.exp
+ @diff -u http1.exp http1.out > http1.diff || ( cat http1.diff; rm http1.diff )
+
+http1.out: http.bin
+ ./http.bin < http1.in > http1.out
+
+http2.diff: http2.out http2.exp
+ @diff -u http2.exp http2.out > http2.diff || ( cat http2.diff; rm http2.diff )
+
+http2.out: http.bin
+ ./http.bin < http2.in > http2.out
+
+http3.diff: http3.out http3.exp
+ @diff -u http3.exp http3.out > http3.diff || ( cat http3.diff; rm http3.diff )
+
+http3.out: http.bin
+ ./http.bin < http3.in > http3.out
+
+http.bin: http.lm ../../colm/colm
+ ../../colm/colm http.lm
diff --git a/test/python/Makefile.am b/test/python/Makefile.am
index 158d14fb..039b0f4b 100644
--- a/test/python/Makefile.am
+++ b/test/python/Makefile.am
@@ -1,52 +1,16 @@
-SUBDIRS =
-
-TESTS = \
+TEST_CASES = \
python.lm
-DIFFS = \
- python1.py.diff \
- python2.py.diff \
- python3.py.diff \
- python4.py.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ../genmf TESTS
- ../genmf > Makefile
-
-python1.py.diff: python1.py.out python1.py.exp
- @diff -u python1.py.exp python1.py.out > python1.py.diff || ( cat python1.py.diff; rm python1.py.diff )
-
-python1.py.out: python.bin
- ./python.bin < python1.py.in > python1.py.out
-
-python2.py.diff: python2.py.out python2.py.exp
- @diff -u python2.py.exp python2.py.out > python2.py.diff || ( cat python2.py.diff; rm python2.py.diff )
-
-python2.py.out: python.bin
- ./python.bin < python2.py.in > python2.py.out
-
-python3.py.diff: python3.py.out python3.py.exp
- @diff -u python3.py.exp python3.py.out > python3.py.diff || ( cat python3.py.diff; rm python3.py.diff )
-
-python3.py.out: python.bin
- ./python.bin < python3.py.in > python3.py.out
-
-python4.py.diff: python4.py.out python4.py.exp
- @diff -u python4.py.exp python4.py.out > python4.py.diff || ( cat python4.py.diff; rm python4.py.diff )
+INPUT = \
+ python1.py.in \
+ python2.py.in \
+ python3.py.in \
+ python4.py.in
-python4.py.out: python.bin
- ./python.bin < python4.py.in > python4.py.out
+EXPECTED_OUTPUT = \
+ python1.py.exp \
+ python2.py.exp \
+ python3.py.exp \
+ python4.py.exp
-python.bin: python.lm ../../colm/colm
- ../../colm/colm python.lm
+EXTRA_DIST = TESTS runtests.mk $(TEST_CASES) $(INPUT) $(EXPECTED_OUTPUT)
diff --git a/test/python/runtests.mk b/test/python/runtests.mk
new file mode 100644
index 00000000..158d14fb
--- /dev/null
+++ b/test/python/runtests.mk
@@ -0,0 +1,52 @@
+SUBDIRS =
+
+TESTS = \
+ python.lm
+
+DIFFS = \
+ python1.py.diff \
+ python2.py.diff \
+ python3.py.diff \
+ python4.py.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE)
+
+Makefile: ../genmf TESTS
+ ../genmf > Makefile
+
+python1.py.diff: python1.py.out python1.py.exp
+ @diff -u python1.py.exp python1.py.out > python1.py.diff || ( cat python1.py.diff; rm python1.py.diff )
+
+python1.py.out: python.bin
+ ./python.bin < python1.py.in > python1.py.out
+
+python2.py.diff: python2.py.out python2.py.exp
+ @diff -u python2.py.exp python2.py.out > python2.py.diff || ( cat python2.py.diff; rm python2.py.diff )
+
+python2.py.out: python.bin
+ ./python.bin < python2.py.in > python2.py.out
+
+python3.py.diff: python3.py.out python3.py.exp
+ @diff -u python3.py.exp python3.py.out > python3.py.diff || ( cat python3.py.diff; rm python3.py.diff )
+
+python3.py.out: python.bin
+ ./python.bin < python3.py.in > python3.py.out
+
+python4.py.diff: python4.py.out python4.py.exp
+ @diff -u python4.py.exp python4.py.out > python4.py.diff || ( cat python4.py.diff; rm python4.py.diff )
+
+python4.py.out: python.bin
+ ./python.bin < python4.py.in > python4.py.out
+
+python.bin: python.lm ../../colm/colm
+ ../../colm/colm python.lm
diff --git a/test/ruby/Makefile.am b/test/ruby/Makefile.am
index 95e67466..9dc604a0 100644
--- a/test/ruby/Makefile.am
+++ b/test/ruby/Makefile.am
@@ -1,31 +1,10 @@
-SUBDIRS =
-
-TESTS = \
+TEST_CASES = \
ruby.lm
-DIFFS = \
- ruby01.rb.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ../genmf TESTS
- ../genmf > Makefile
-
-ruby01.rb.diff: ruby01.rb.out ruby01.rb.exp
- @diff -u ruby01.rb.exp ruby01.rb.out > ruby01.rb.diff || ( cat ruby01.rb.diff; rm ruby01.rb.diff )
+INPUT = \
+ ruby01.rb.in
-ruby01.rb.out: ruby.bin
- ./ruby.bin < ruby01.rb.in > ruby01.rb.out
+EXPECTED_OUTPUT = \
+ ruby01.rb.exp
-ruby.bin: ruby.lm ../../colm/colm
- ../../colm/colm ruby.lm
+EXTRA_DIST = TESTS runtests.mk $(TEST_CASES) $(INPUT) $(EXPECTED_OUTPUT)
diff --git a/test/ruby/runtests.mk b/test/ruby/runtests.mk
new file mode 100644
index 00000000..95e67466
--- /dev/null
+++ b/test/ruby/runtests.mk
@@ -0,0 +1,31 @@
+SUBDIRS =
+
+TESTS = \
+ ruby.lm
+
+DIFFS = \
+ ruby01.rb.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE)
+
+Makefile: ../genmf TESTS
+ ../genmf > Makefile
+
+ruby01.rb.diff: ruby01.rb.out ruby01.rb.exp
+ @diff -u ruby01.rb.exp ruby01.rb.out > ruby01.rb.diff || ( cat ruby01.rb.diff; rm ruby01.rb.diff )
+
+ruby01.rb.out: ruby.bin
+ ./ruby.bin < ruby01.rb.in > ruby01.rb.out
+
+ruby.bin: ruby.lm ../../colm/colm
+ ../../colm/colm ruby.lm
diff --git a/test/runtests.mk b/test/runtests.mk
new file mode 100755
index 00000000..60617e0c
--- /dev/null
+++ b/test/runtests.mk
@@ -0,0 +1,583 @@
+#!/usr/bin/make -f
+
+SUBDIRS = python html xml http cxx ruby
+
+TESTS = \
+ backtrack1.lm \
+ backtrack2.lm \
+ backtrack3.lm \
+ dns.lm \
+ accum1.lm \
+ accum2.lm \
+ accum3.lm \
+ accumbt.lm \
+ mutualrec.lm \
+ argv1.lm \
+ argv2.lm \
+ exit.lm \
+ rubyhere.lm \
+ translate1.lm \
+ translate2.lm \
+ construct1.lm \
+ construct2.lm \
+ construct3.lm \
+ treecmp1.lm \
+ context1.lm \
+ context2.lm \
+ context3.lm \
+ undofrag1.lm \
+ undofrag2.lm \
+ undofrag3.lm \
+ nestedcomm.lm \
+ reparse.lm \
+ btscan1.lm \
+ btscan2.lm \
+ island.lm \
+ func.lm \
+ travs1.lm \
+ constructex.lm \
+ rediv.lm \
+ liftattrs.lm \
+ mailbox.lm \
+ string.lm \
+ repeat.lm \
+ ragelambig1.lm \
+ ragelambig2.lm \
+ ragelambig3.lm \
+ ragelambig4.lm \
+ counting1.lm \
+ counting2.lm \
+ counting3.lm \
+ counting4.lm \
+ til.lm \
+ matchex.lm \
+ maxlen.lm \
+ superid.lm \
+ tags.lm \
+ heredoc.lm \
+ commitbt.lm \
+ sprintf.lm \
+ div.lm \
+ scope1.lm
+
+DIFFS = \
+ backtrack1.diff \
+ backtrack2.diff \
+ backtrack3.diff \
+ dns.diff \
+ accum1.diff \
+ accum2.diff \
+ accum3.diff \
+ accumbt.diff \
+ mutualrec.diff \
+ argv1.diff \
+ argv2.diff \
+ exit.diff \
+ rubyhere.diff \
+ translate1.diff \
+ translate2.diff \
+ construct1.diff \
+ construct2.diff \
+ construct3.diff \
+ treecmp1.diff \
+ context1.diff \
+ context2.diff \
+ context3.diff \
+ undofrag1.diff \
+ undofrag2.diff \
+ undofrag3.diff \
+ nestedcomm.diff \
+ reparse.diff \
+ btscan1.diff \
+ btscan2.diff \
+ island.diff \
+ func.diff \
+ travs1.diff \
+ constructex.diff \
+ rediv.diff \
+ liftattrs.diff \
+ mailbox.diff \
+ string.diff \
+ repeat.diff \
+ ragelambig1.diff \
+ ragelambig2.diff \
+ ragelambig3.diff \
+ ragelambig4.diff \
+ counting1.diff \
+ counting2.diff \
+ counting3.diff \
+ counting4.diff \
+ til.diff \
+ matchex.diff \
+ maxlen.diff \
+ superid.diff \
+ tags.diff \
+ heredoc.diff \
+ commitbt.diff \
+ sprintf.diff \
+ div.diff \
+ scope1.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) -f runtests.mk clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE) -f runtests.mk
+
+Makefile: ./genmf TESTS
+ ./genmf > Makefile
+
+backtrack1.diff: backtrack1.out backtrack1.exp
+ @diff -u backtrack1.exp backtrack1.out > backtrack1.diff || ( cat backtrack1.diff; rm backtrack1.diff )
+
+backtrack1.out: backtrack1.bin
+ ./backtrack1.bin < backtrack1.in > backtrack1.out
+
+backtrack1.bin: backtrack1.lm ./../colm/colm
+ ./../colm/colm backtrack1.lm
+backtrack2.diff: backtrack2.out backtrack2.exp
+ @diff -u backtrack2.exp backtrack2.out > backtrack2.diff || ( cat backtrack2.diff; rm backtrack2.diff )
+
+backtrack2.out: backtrack2.bin
+ ./backtrack2.bin < backtrack2.in > backtrack2.out
+
+backtrack2.bin: backtrack2.lm ./../colm/colm
+ ./../colm/colm backtrack2.lm
+backtrack3.diff: backtrack3.out backtrack3.exp
+ @diff -u backtrack3.exp backtrack3.out > backtrack3.diff || ( cat backtrack3.diff; rm backtrack3.diff )
+
+backtrack3.out: backtrack3.bin
+ ./backtrack3.bin < backtrack3.in > backtrack3.out
+
+backtrack3.bin: backtrack3.lm ./../colm/colm
+ ./../colm/colm backtrack3.lm
+dns.diff: dns.out dns.exp
+ @diff -u dns.exp dns.out > dns.diff || ( cat dns.diff; rm dns.diff )
+
+dns.out: dns.bin
+ ./dns.bin < dns.in > dns.out
+
+dns.bin: dns.lm ./../colm/colm
+ ./../colm/colm dns.lm
+accum1.diff: accum1.out accum1.exp
+ @diff -u accum1.exp accum1.out > accum1.diff || ( cat accum1.diff; rm accum1.diff )
+
+accum1.out: accum1.bin
+ ./accum1.bin < accum1.in > accum1.out
+
+accum1.bin: accum1.lm ./../colm/colm
+ ./../colm/colm accum1.lm
+accum2.diff: accum2.out accum2.exp
+ @diff -u accum2.exp accum2.out > accum2.diff || ( cat accum2.diff; rm accum2.diff )
+
+accum2.out: accum2.bin
+ ./accum2.bin < accum2.in > accum2.out
+
+accum2.bin: accum2.lm ./../colm/colm
+ ./../colm/colm accum2.lm
+accum3.diff: accum3.out accum3.exp
+ @diff -u accum3.exp accum3.out > accum3.diff || ( cat accum3.diff; rm accum3.diff )
+
+accum3.out: accum3.bin
+ ./accum3.bin -qv -h -o output sdf -i eth0 file > accum3.out
+
+accum3.bin: accum3.lm ./../colm/colm
+ ./../colm/colm accum3.lm
+accumbt.diff: accumbt.out accumbt.exp
+ @diff -u accumbt.exp accumbt.out > accumbt.diff || ( cat accumbt.diff; rm accumbt.diff )
+
+accumbt.out: accumbt.bin
+ ./accumbt.bin > accumbt.out
+
+accumbt.bin: accumbt.lm ./../colm/colm
+ ./../colm/colm accumbt.lm
+mutualrec.diff: mutualrec.out mutualrec.exp
+ @diff -u mutualrec.exp mutualrec.out > mutualrec.diff || ( cat mutualrec.diff; rm mutualrec.diff )
+
+mutualrec.out: mutualrec.bin
+ ./mutualrec.bin > mutualrec.out
+
+mutualrec.bin: mutualrec.lm ./../colm/colm
+ ./../colm/colm mutualrec.lm
+argv1.diff: argv1.out argv1.exp
+ @diff -u argv1.exp argv1.out > argv1.diff || ( cat argv1.diff; rm argv1.diff )
+
+argv1.out: argv1.bin
+ ./argv1.bin a b c 1 2 3 > argv1.out
+
+argv1.bin: argv1.lm ./../colm/colm
+ ./../colm/colm argv1.lm
+argv2.diff: argv2.out argv2.exp
+ @diff -u argv2.exp argv2.out > argv2.diff || ( cat argv2.diff; rm argv2.diff )
+
+argv2.out: argv2.bin
+ ./argv2.bin -qv -h -o output -iinput file --input=foo --input bar --help --verbose > argv2.out
+
+argv2.bin: argv2.lm ./../colm/colm
+ ./../colm/colm argv2.lm
+exit.diff: exit.out exit.exp
+ @diff -u exit.exp exit.out > exit.diff || ( cat exit.diff; rm exit.diff )
+
+exit.out: exit.bin
+ ./exit.bin > exit.out
+
+exit.bin: exit.lm ./../colm/colm
+ ./../colm/colm exit.lm
+rubyhere.diff: rubyhere.out rubyhere.exp
+ @diff -u rubyhere.exp rubyhere.out > rubyhere.diff || ( cat rubyhere.diff; rm rubyhere.diff )
+
+rubyhere.out: rubyhere.bin
+ ./rubyhere.bin < rubyhere.in > rubyhere.out
+
+rubyhere.bin: rubyhere.lm ./../colm/colm
+ ./../colm/colm rubyhere.lm
+translate1.diff: translate1.out translate1.exp
+ @diff -u translate1.exp translate1.out > translate1.diff || ( cat translate1.diff; rm translate1.diff )
+
+translate1.out: translate1.bin
+ ./translate1.bin < translate1.in > translate1.out
+
+translate1.bin: translate1.lm ./../colm/colm
+ ./../colm/colm translate1.lm
+translate2.diff: translate2.out translate2.exp
+ @diff -u translate2.exp translate2.out > translate2.diff || ( cat translate2.diff; rm translate2.diff )
+
+translate2.out: translate2.bin
+ ./translate2.bin < translate2.in > translate2.out
+
+translate2.bin: translate2.lm ./../colm/colm
+ ./../colm/colm translate2.lm
+construct1.diff: construct1.out construct1.exp
+ @diff -u construct1.exp construct1.out > construct1.diff || ( cat construct1.diff; rm construct1.diff )
+
+construct1.out: construct1.bin
+ ./construct1.bin > construct1.out
+
+construct1.bin: construct1.lm ./../colm/colm
+ ./../colm/colm construct1.lm
+construct2.diff: construct2.out construct2.exp
+ @diff -u construct2.exp construct2.out > construct2.diff || ( cat construct2.diff; rm construct2.diff )
+
+construct2.out: construct2.bin
+ ./construct2.bin > construct2.out
+
+construct2.bin: construct2.lm ./../colm/colm
+ ./../colm/colm construct2.lm
+construct3.diff: construct3.out construct3.exp
+ @diff -u construct3.exp construct3.out > construct3.diff || ( cat construct3.diff; rm construct3.diff )
+
+construct3.out: construct3.bin
+ ./construct3.bin > construct3.out
+
+construct3.bin: construct3.lm ./../colm/colm
+ ./../colm/colm construct3.lm
+treecmp1.diff: treecmp1.out treecmp1.exp
+ @diff -u treecmp1.exp treecmp1.out > treecmp1.diff || ( cat treecmp1.diff; rm treecmp1.diff )
+
+treecmp1.out: treecmp1.bin
+ ./treecmp1.bin < treecmp1.in > treecmp1.out
+
+treecmp1.bin: treecmp1.lm ./../colm/colm
+ ./../colm/colm treecmp1.lm
+context1.diff: context1.out context1.exp
+ @diff -u context1.exp context1.out > context1.diff || ( cat context1.diff; rm context1.diff )
+
+context1.out: context1.bin
+ ./context1.bin < context1.in > context1.out
+
+context1.bin: context1.lm ./../colm/colm
+ ./../colm/colm context1.lm
+context2.diff: context2.out context2.exp
+ @diff -u context2.exp context2.out > context2.diff || ( cat context2.diff; rm context2.diff )
+
+context2.out: context2.bin
+ ./context2.bin < context2.in > context2.out
+
+context2.bin: context2.lm ./../colm/colm
+ ./../colm/colm context2.lm
+context3.diff: context3.out context3.exp
+ @diff -u context3.exp context3.out > context3.diff || ( cat context3.diff; rm context3.diff )
+
+context3.out: context3.bin
+ ./context3.bin < context3.in > context3.out
+
+context3.bin: context3.lm ./../colm/colm
+ ./../colm/colm context3.lm
+undofrag1.diff: undofrag1.out undofrag1.exp
+ @diff -u undofrag1.exp undofrag1.out > undofrag1.diff || ( cat undofrag1.diff; rm undofrag1.diff )
+
+undofrag1.out: undofrag1.bin
+ ./undofrag1.bin < undofrag1.in > undofrag1.out
+
+undofrag1.bin: undofrag1.lm ./../colm/colm
+ ./../colm/colm undofrag1.lm
+undofrag2.diff: undofrag2.out undofrag2.exp
+ @diff -u undofrag2.exp undofrag2.out > undofrag2.diff || ( cat undofrag2.diff; rm undofrag2.diff )
+
+undofrag2.out: undofrag2.bin
+ ./undofrag2.bin < undofrag2.in > undofrag2.out
+
+undofrag2.bin: undofrag2.lm ./../colm/colm
+ ./../colm/colm undofrag2.lm
+undofrag3.diff: undofrag3.out undofrag3.exp
+ @diff -u undofrag3.exp undofrag3.out > undofrag3.diff || ( cat undofrag3.diff; rm undofrag3.diff )
+
+undofrag3.out: undofrag3.bin
+ ./undofrag3.bin < undofrag3.in > undofrag3.out
+
+undofrag3.bin: undofrag3.lm ./../colm/colm
+ ./../colm/colm undofrag3.lm
+nestedcomm.diff: nestedcomm.out nestedcomm.exp
+ @diff -u nestedcomm.exp nestedcomm.out > nestedcomm.diff || ( cat nestedcomm.diff; rm nestedcomm.diff )
+
+nestedcomm.out: nestedcomm.bin
+ ./nestedcomm.bin < nestedcomm.in > nestedcomm.out
+
+nestedcomm.bin: nestedcomm.lm ./../colm/colm
+ ./../colm/colm nestedcomm.lm
+reparse.diff: reparse.out reparse.exp
+ @diff -u reparse.exp reparse.out > reparse.diff || ( cat reparse.diff; rm reparse.diff )
+
+reparse.out: reparse.bin
+ ./reparse.bin < reparse.in > reparse.out
+
+reparse.bin: reparse.lm ./../colm/colm
+ ./../colm/colm reparse.lm
+btscan1.diff: btscan1.out btscan1.exp
+ @diff -u btscan1.exp btscan1.out > btscan1.diff || ( cat btscan1.diff; rm btscan1.diff )
+
+btscan1.out: btscan1.bin
+ ./btscan1.bin < btscan1.in > btscan1.out
+
+btscan1.bin: btscan1.lm ./../colm/colm
+ ./../colm/colm btscan1.lm
+btscan2.diff: btscan2.out btscan2.exp
+ @diff -u btscan2.exp btscan2.out > btscan2.diff || ( cat btscan2.diff; rm btscan2.diff )
+
+btscan2.out: btscan2.bin
+ ./btscan2.bin > btscan2.out
+
+btscan2.bin: btscan2.lm ./../colm/colm
+ ./../colm/colm btscan2.lm
+island.diff: island.out island.exp
+ @diff -u island.exp island.out > island.diff || ( cat island.diff; rm island.diff )
+
+island.out: island.bin
+ ./island.bin < island.in > island.out
+
+island.bin: island.lm ./../colm/colm
+ ./../colm/colm island.lm
+func.diff: func.out func.exp
+ @diff -u func.exp func.out > func.diff || ( cat func.diff; rm func.diff )
+
+func.out: func.bin
+ ./func.bin < func.in > func.out
+
+func.bin: func.lm ./../colm/colm
+ ./../colm/colm func.lm
+travs1.diff: travs1.out travs1.exp
+ @diff -u travs1.exp travs1.out > travs1.diff || ( cat travs1.diff; rm travs1.diff )
+
+travs1.out: travs1.bin
+ ./travs1.bin < travs1.in > travs1.out
+
+travs1.bin: travs1.lm ./../colm/colm
+ ./../colm/colm travs1.lm
+constructex.diff: constructex.out constructex.exp
+ @diff -u constructex.exp constructex.out > constructex.diff || ( cat constructex.diff; rm constructex.diff )
+
+constructex.out: constructex.bin
+ ./constructex.bin < constructex.in > constructex.out
+
+constructex.bin: constructex.lm ./../colm/colm
+ ./../colm/colm constructex.lm
+rediv.diff: rediv.out rediv.exp
+ @diff -u rediv.exp rediv.out > rediv.diff || ( cat rediv.diff; rm rediv.diff )
+
+rediv.out: rediv.bin
+ ./rediv.bin < rediv.in > rediv.out
+
+rediv.bin: rediv.lm ./../colm/colm
+ ./../colm/colm rediv.lm
+liftattrs.diff: liftattrs.out liftattrs.exp
+ @diff -u liftattrs.exp liftattrs.out > liftattrs.diff || ( cat liftattrs.diff; rm liftattrs.diff )
+
+liftattrs.out: liftattrs.bin
+ ./liftattrs.bin < liftattrs.in > liftattrs.out
+
+liftattrs.bin: liftattrs.lm ./../colm/colm
+ ./../colm/colm liftattrs.lm
+mailbox.diff: mailbox.out mailbox.exp
+ @diff -u mailbox.exp mailbox.out > mailbox.diff || ( cat mailbox.diff; rm mailbox.diff )
+
+mailbox.out: mailbox.bin
+ ./mailbox.bin < mailbox.in > mailbox.out
+
+mailbox.bin: mailbox.lm ./../colm/colm
+ ./../colm/colm mailbox.lm
+string.diff: string.out string.exp
+ @diff -u string.exp string.out > string.diff || ( cat string.diff; rm string.diff )
+
+string.out: string.bin
+ ./string.bin < string.in > string.out
+
+string.bin: string.lm ./../colm/colm
+ ./../colm/colm string.lm
+repeat.diff: repeat.out repeat.exp
+ @diff -u repeat.exp repeat.out > repeat.diff || ( cat repeat.diff; rm repeat.diff )
+
+repeat.out: repeat.bin
+ ./repeat.bin < repeat.in > repeat.out
+
+repeat.bin: repeat.lm ./../colm/colm
+ ./../colm/colm repeat.lm
+ragelambig1.diff: ragelambig1.out ragelambig1.exp
+ @diff -u ragelambig1.exp ragelambig1.out > ragelambig1.diff || ( cat ragelambig1.diff; rm ragelambig1.diff )
+
+ragelambig1.out: ragelambig1.bin
+ ./ragelambig1.bin < ragelambig1.in > ragelambig1.out
+
+ragelambig1.bin: ragelambig1.lm ./../colm/colm
+ ./../colm/colm ragelambig1.lm
+ragelambig2.diff: ragelambig2.out ragelambig2.exp
+ @diff -u ragelambig2.exp ragelambig2.out > ragelambig2.diff || ( cat ragelambig2.diff; rm ragelambig2.diff )
+
+ragelambig2.out: ragelambig2.bin
+ ./ragelambig2.bin < ragelambig2.in > ragelambig2.out
+
+ragelambig2.bin: ragelambig2.lm ./../colm/colm
+ ./../colm/colm ragelambig2.lm
+ragelambig3.diff: ragelambig3.out ragelambig3.exp
+ @diff -u ragelambig3.exp ragelambig3.out > ragelambig3.diff || ( cat ragelambig3.diff; rm ragelambig3.diff )
+
+ragelambig3.out: ragelambig3.bin
+ ./ragelambig3.bin < ragelambig3.in > ragelambig3.out
+
+ragelambig3.bin: ragelambig3.lm ./../colm/colm
+ ./../colm/colm ragelambig3.lm
+ragelambig4.diff: ragelambig4.out ragelambig4.exp
+ @diff -u ragelambig4.exp ragelambig4.out > ragelambig4.diff || ( cat ragelambig4.diff; rm ragelambig4.diff )
+
+ragelambig4.out: ragelambig4.bin
+ ./ragelambig4.bin < ragelambig4.in > ragelambig4.out
+
+ragelambig4.bin: ragelambig4.lm ./../colm/colm
+ ./../colm/colm ragelambig4.lm
+counting1.diff: counting1.out counting1.exp
+ @diff -u counting1.exp counting1.out > counting1.diff || ( cat counting1.diff; rm counting1.diff )
+
+counting1.out: counting1.bin
+ ./counting1.bin < counting1.in > counting1.out
+
+counting1.bin: counting1.lm ./../colm/colm
+ ./../colm/colm counting1.lm
+counting2.diff: counting2.out counting2.exp
+ @diff -u counting2.exp counting2.out > counting2.diff || ( cat counting2.diff; rm counting2.diff )
+
+counting2.out: counting2.bin
+ ./counting2.bin < counting2.in > counting2.out
+
+counting2.bin: counting2.lm ./../colm/colm
+ ./../colm/colm counting2.lm
+counting3.diff: counting3.out counting3.exp
+ @diff -u counting3.exp counting3.out > counting3.diff || ( cat counting3.diff; rm counting3.diff )
+
+counting3.out: counting3.bin
+ ./counting3.bin < counting3.in > counting3.out
+
+counting3.bin: counting3.lm ./../colm/colm
+ ./../colm/colm counting3.lm
+counting4.diff: counting4.out counting4.exp
+ @diff -u counting4.exp counting4.out > counting4.diff || ( cat counting4.diff; rm counting4.diff )
+
+counting4.out: counting4.bin
+ ./counting4.bin < counting4.in > counting4.out
+
+counting4.bin: counting4.lm ./../colm/colm
+ ./../colm/colm counting4.lm
+til.diff: til.out til.exp
+ @diff -u til.exp til.out > til.diff || ( cat til.diff; rm til.diff )
+
+til.out: til.bin
+ ./til.bin < til.in > til.out
+
+til.bin: til.lm ./../colm/colm
+ ./../colm/colm til.lm
+matchex.diff: matchex.out matchex.exp
+ @diff -u matchex.exp matchex.out > matchex.diff || ( cat matchex.diff; rm matchex.diff )
+
+matchex.out: matchex.bin
+ ./matchex.bin < matchex.in > matchex.out
+
+matchex.bin: matchex.lm ./../colm/colm
+ ./../colm/colm matchex.lm
+maxlen.diff: maxlen.out maxlen.exp
+ @diff -u maxlen.exp maxlen.out > maxlen.diff || ( cat maxlen.diff; rm maxlen.diff )
+
+maxlen.out: maxlen.bin
+ ./maxlen.bin < maxlen.in > maxlen.out
+
+maxlen.bin: maxlen.lm ./../colm/colm
+ ./../colm/colm maxlen.lm
+superid.diff: superid.out superid.exp
+ @diff -u superid.exp superid.out > superid.diff || ( cat superid.diff; rm superid.diff )
+
+superid.out: superid.bin
+ ./superid.bin < superid.in > superid.out
+
+superid.bin: superid.lm ./../colm/colm
+ ./../colm/colm superid.lm
+tags.diff: tags.out tags.exp
+ @diff -u tags.exp tags.out > tags.diff || ( cat tags.diff; rm tags.diff )
+
+tags.out: tags.bin
+ ./tags.bin < tags.in > tags.out
+
+tags.bin: tags.lm ./../colm/colm
+ ./../colm/colm tags.lm
+heredoc.diff: heredoc.out heredoc.exp
+ @diff -u heredoc.exp heredoc.out > heredoc.diff || ( cat heredoc.diff; rm heredoc.diff )
+
+heredoc.out: heredoc.bin
+ ./heredoc.bin < heredoc.in > heredoc.out
+
+heredoc.bin: heredoc.lm ./../colm/colm
+ ./../colm/colm heredoc.lm
+commitbt.diff: commitbt.out commitbt.exp
+ @diff -u commitbt.exp commitbt.out > commitbt.diff || ( cat commitbt.diff; rm commitbt.diff )
+
+commitbt.out: commitbt.bin
+ ./commitbt.bin < commitbt.in > commitbt.out
+
+commitbt.bin: commitbt.lm ./../colm/colm
+ ./../colm/colm commitbt.lm
+sprintf.diff: sprintf.out sprintf.exp
+ @diff -u sprintf.exp sprintf.out > sprintf.diff || ( cat sprintf.diff; rm sprintf.diff )
+
+sprintf.out: sprintf.bin
+ ./sprintf.bin > sprintf.out
+
+sprintf.bin: sprintf.lm ./../colm/colm
+ ./../colm/colm sprintf.lm
+div.diff: div.out div.exp
+ @diff -u div.exp div.out > div.diff || ( cat div.diff; rm div.diff )
+
+div.out: div.bin
+ ./div.bin > div.out
+
+div.bin: div.lm ./../colm/colm
+ ./../colm/colm div.lm
+scope1.diff: scope1.out scope1.exp
+ @diff -u scope1.exp scope1.out > scope1.diff || ( cat scope1.diff; rm scope1.diff )
+
+scope1.out: scope1.bin
+ ./scope1.bin > scope1.out
+
+scope1.bin: scope1.lm ./../colm/colm
+ ./../colm/colm scope1.lm
diff --git a/test/xml/Makefile.am b/test/xml/Makefile.am
index e5b290fd..89f83dd6 100644
--- a/test/xml/Makefile.am
+++ b/test/xml/Makefile.am
@@ -1,31 +1,10 @@
-SUBDIRS =
-
-TESTS = \
+TEST_CASES = \
xml.lm
-DIFFS = \
- xml.diff
-
-all: Makefile $(DIFFS) $(SUBDIRS)
-
-.PHONY: clean $(SUBDIRS:%=%-clean)
-clean: $(SUBDIRS:%=%-clean)
- rm -f *.bin
-$(SUBDIRS:%=%-clean):
- cd $(@:%-clean=%) && $(MAKE) clean
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- cd $@ && $(MAKE)
-
-Makefile: ../genmf TESTS
- ../genmf > Makefile
-
-xml.diff: xml.out xml.exp
- @diff -u xml.exp xml.out > xml.diff || ( cat xml.diff; rm xml.diff )
+INPUT = \
+ xml.in
-xml.out: xml.bin
- ./xml.bin < xml.in > xml.out
+EXPECTED_OUTPUT = \
+ xml.exp
-xml.bin: xml.lm ../../colm/colm
- ../../colm/colm xml.lm
+EXTRA_DIST = TESTS runtests.mk $(TEST_CASES) $(INPUT) $(EXPECTED_OUTPUT)
diff --git a/test/xml/runtests.mk b/test/xml/runtests.mk
new file mode 100644
index 00000000..e5b290fd
--- /dev/null
+++ b/test/xml/runtests.mk
@@ -0,0 +1,31 @@
+SUBDIRS =
+
+TESTS = \
+ xml.lm
+
+DIFFS = \
+ xml.diff
+
+all: Makefile $(DIFFS) $(SUBDIRS)
+
+.PHONY: clean $(SUBDIRS:%=%-clean)
+clean: $(SUBDIRS:%=%-clean)
+ rm -f *.bin
+$(SUBDIRS:%=%-clean):
+ cd $(@:%-clean=%) && $(MAKE) clean
+
+.PHONY: $(SUBDIRS)
+$(SUBDIRS):
+ cd $@ && $(MAKE)
+
+Makefile: ../genmf TESTS
+ ../genmf > Makefile
+
+xml.diff: xml.out xml.exp
+ @diff -u xml.exp xml.out > xml.diff || ( cat xml.diff; rm xml.diff )
+
+xml.out: xml.bin
+ ./xml.bin < xml.in > xml.out
+
+xml.bin: xml.lm ../../colm/colm
+ ../../colm/colm xml.lm