diff options
Diffstat (limited to 'tests/file')
31 files changed, 255 insertions, 234 deletions
diff --git a/tests/file/base.ops b/tests/file/base.ops deleted file mode 100644 index 45d7696..0000000 --- a/tests/file/base.ops +++ /dev/null @@ -1,2 +0,0 @@ --a 21 --b 21 diff --git a/tests/file/buildfile b/tests/file/buildfile new file mode 100644 index 0000000..08e1017 --- /dev/null +++ b/tests/file/buildfile @@ -0,0 +1,13 @@ +# file : tests/file/buildfile +# copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC +# license : MIT; see accompanying LICENSE file + +exe{driver}: cxx{driver} {hxx ixx cxx}{test} test{testscript} + +cxx.poptions =+ -I$out_base + +# Generated options parser. +# +{hxx ixx cxx}{test}: cli{test} + +cli.options = --generate-file-scanner diff --git a/tests/file/driver.cxx b/tests/file/driver.cxx index d0b5774..16609ec 100644 --- a/tests/file/driver.cxx +++ b/tests/file/driver.cxx @@ -24,6 +24,6 @@ main (int argc, char* argv[]) } catch (const cli::exception& e) { - cout << e << endl; + cerr << e << endl; } } diff --git a/tests/file/empty.ops b/tests/file/empty.ops deleted file mode 100644 index ed080fb..0000000 --- a/tests/file/empty.ops +++ /dev/null @@ -1,3 +0,0 @@ -# Empty options file. -# - diff --git a/tests/file/makefile b/tests/file/makefile deleted file mode 100644 index 7e4df6a..0000000 --- a/tests/file/makefile +++ /dev/null @@ -1,99 +0,0 @@ -# file : tests/file/makefile -# author : Boris Kolpackov <boris@codesynthesis.com> -# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC -# license : MIT; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -cxx_tun := driver.cxx -cli_tun := test.cli - -tests := 000 001 002 003 004 005 006 007 008 009 010 011 012 - -# -# -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o) $(cli_tun:.cli=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Build. -# -$(driver): $(cxx_obj) -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) - -genf := $(cli_tun:.cli=.hxx) $(cli_tun:.cli=.ixx) $(cli_tun:.cli=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): $(out_root)/cli/cli -$(gen): cli := $(out_root)/cli/cli -$(gen): cli_options += --generate-file-scanner - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(driver) - -# Test. -# -test_targets := $(addprefix $(out_base)/.test-,$(tests)) - -$(test): $(test_targets) -$(test_targets): driver := $(driver) - -.PHONY: $(out_base)/.test-% - -$(out_base)/.test-000: $(driver) $(src_base)/test-000.ops - $(call message,test $(out_base)/000,$(driver) -a 1 \ ---file $(src_base)/empty.ops -b 1 --file $(src_base)/base.ops \ ---file $(src_base)/test-000.ops b | diff -u $(src_base)/test-000.std -) - -$(out_base)/.test-001: $(driver) $(src_base)/test-001.ops - $(call message,test $(out_base)/001,$(driver) -a 1 -- --file \ -test-001.ops b | diff -u $(src_base)/test-001.std -) - -$(out_base)/.test-002: $(driver) $(src_base)/test-002.ops - $(call message,test $(out_base)/002,$(driver) -a 1 --file \ -$(src_base)/test-002.ops --file empty.ops b | diff -u $(src_base)/test-002.std -) - -$(out_base)/.test-003: $(driver) - $(call message,test $(out_base)/003,$(driver) -a 1 --file \ -$(src_base)/base.ops --file test-003.ops b | diff -u $(src_base)/test-003.std -) - -$(out_base)/.test-%: $(driver) $(src_base)/test-%.ops $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) --file \ -$(src_base)/test-$*.ops | diff -u $(src_base)/test-$*.std -) - -# Clean. -# -$(clean): \ - $(driver).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) \ - $(addprefix $(out_base)/,$(cli_tun:.cli=.cxx.cli.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(bld_root)/cxx/o-e.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(scf_root)/cli/cli-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/cli/makefile) - diff --git a/tests/file/test-000.ops b/tests/file/test-000.ops deleted file mode 100644 index c0462e2..0000000 --- a/tests/file/test-000.ops +++ /dev/null @@ -1,6 +0,0 @@ --a 11 --b 11 - -a 12 - - -b 12 -a diff --git a/tests/file/test-000.std b/tests/file/test-000.std deleted file mode 100644 index 392b83d..0000000 --- a/tests/file/test-000.std +++ /dev/null @@ -1,18 +0,0 @@ --a -1 --b -1 --a -21 --b -21 --a -11 --b -11 --a -12 --b -12 -a -b diff --git a/tests/file/test-001.ops b/tests/file/test-001.ops deleted file mode 100644 index ed080fb..0000000 --- a/tests/file/test-001.ops +++ /dev/null @@ -1,3 +0,0 @@ -# Empty options file. -# - diff --git a/tests/file/test-001.std b/tests/file/test-001.std deleted file mode 100644 index 8dec5e4..0000000 --- a/tests/file/test-001.std +++ /dev/null @@ -1,6 +0,0 @@ --a -1 --- ---file -test-001.ops -b diff --git a/tests/file/test-002.ops b/tests/file/test-002.ops deleted file mode 100644 index 5c728a0..0000000 --- a/tests/file/test-002.ops +++ /dev/null @@ -1,7 +0,0 @@ --a 11 --b 11 --- ---file base.ops --a 12 --b 12 -a diff --git a/tests/file/test-002.std b/tests/file/test-002.std deleted file mode 100644 index cd99b20..0000000 --- a/tests/file/test-002.std +++ /dev/null @@ -1,17 +0,0 @@ --a -1 --a -11 --b -11 --- ---file -base.ops --a -12 --b -12 -a ---file -empty.ops -b diff --git a/tests/file/test-003.std b/tests/file/test-003.std deleted file mode 100644 index 6e9a6ae..0000000 --- a/tests/file/test-003.std +++ /dev/null @@ -1,7 +0,0 @@ --a -1 --a -21 --b -21 -unable to open file 'test-003.ops' or read failure diff --git a/tests/file/test-004.ops b/tests/file/test-004.ops deleted file mode 100644 index dee1b30..0000000 --- a/tests/file/test-004.ops +++ /dev/null @@ -1,17 +0,0 @@ --a a"b"c --a "abc" --a "a"b" --a "" --a " abc " --a " " --a """ --a "'" - --a a'b'c --a 'abc' --a 'a'b' --a '' --a ' abc ' --a ' ' --a ''' --a '"' diff --git a/tests/file/test-004.std b/tests/file/test-004.std deleted file mode 100644 index b06e8b9..0000000 --- a/tests/file/test-004.std +++ /dev/null @@ -1,32 +0,0 @@ --a -a"b"c --a -abc --a -a"b --a - --a - abc --a - --a -" --a -' --a -a'b'c --a -abc --a -a'b --a - --a - abc --a - --a -' --a -" diff --git a/tests/file/test-005.ops b/tests/file/test-005.ops deleted file mode 100644 index c9acf33..0000000 --- a/tests/file/test-005.ops +++ /dev/null @@ -1 +0,0 @@ --a " diff --git a/tests/file/test-005.std b/tests/file/test-005.std deleted file mode 100644 index 52b6e89..0000000 --- a/tests/file/test-005.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument '"' diff --git a/tests/file/test-006.ops b/tests/file/test-006.ops deleted file mode 100644 index 454366d..0000000 --- a/tests/file/test-006.ops +++ /dev/null @@ -1 +0,0 @@ --a "abc diff --git a/tests/file/test-006.std b/tests/file/test-006.std deleted file mode 100644 index 903f7a7..0000000 --- a/tests/file/test-006.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument '"abc' diff --git a/tests/file/test-007.ops b/tests/file/test-007.ops deleted file mode 100644 index 8012af9..0000000 --- a/tests/file/test-007.ops +++ /dev/null @@ -1 +0,0 @@ --a abc" diff --git a/tests/file/test-007.std b/tests/file/test-007.std deleted file mode 100644 index fff8f85..0000000 --- a/tests/file/test-007.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument 'abc"' diff --git a/tests/file/test-008.ops b/tests/file/test-008.ops deleted file mode 100644 index 773a366..0000000 --- a/tests/file/test-008.ops +++ /dev/null @@ -1 +0,0 @@ --a ' diff --git a/tests/file/test-008.std b/tests/file/test-008.std deleted file mode 100644 index 5d74dc3..0000000 --- a/tests/file/test-008.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument ''' diff --git a/tests/file/test-009.ops b/tests/file/test-009.ops deleted file mode 100644 index 6c3d5c9..0000000 --- a/tests/file/test-009.ops +++ /dev/null @@ -1 +0,0 @@ --a 'abc diff --git a/tests/file/test-009.std b/tests/file/test-009.std deleted file mode 100644 index b212446..0000000 --- a/tests/file/test-009.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument ''abc' diff --git a/tests/file/test-010.ops b/tests/file/test-010.ops deleted file mode 100644 index eb33825..0000000 --- a/tests/file/test-010.ops +++ /dev/null @@ -1 +0,0 @@ --a abc' diff --git a/tests/file/test-010.std b/tests/file/test-010.std deleted file mode 100644 index 868ee9d..0000000 --- a/tests/file/test-010.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument 'abc'' diff --git a/tests/file/test-011.ops b/tests/file/test-011.ops deleted file mode 100644 index 2330c9c..0000000 --- a/tests/file/test-011.ops +++ /dev/null @@ -1 +0,0 @@ --a "abc' diff --git a/tests/file/test-011.std b/tests/file/test-011.std deleted file mode 100644 index 2133ddf..0000000 --- a/tests/file/test-011.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument '"abc'' diff --git a/tests/file/test-012.ops b/tests/file/test-012.ops deleted file mode 100644 index d5efe67..0000000 --- a/tests/file/test-012.ops +++ /dev/null @@ -1 +0,0 @@ --a 'abc" diff --git a/tests/file/test-012.std b/tests/file/test-012.std deleted file mode 100644 index 2e85d39..0000000 --- a/tests/file/test-012.std +++ /dev/null @@ -1 +0,0 @@ -unmatched quote in argument ''abc"' diff --git a/tests/file/testscript b/tests/file/testscript new file mode 100644 index 0000000..3e7c18c --- /dev/null +++ b/tests/file/testscript @@ -0,0 +1,241 @@ +# file : tests/file/testscript +# copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC +# license : MIT; see accompanying LICENSE file + +# End-of-line marker. Place its expansion in here-documents after the trailing +# spaces to prevent them from being stripped by editors and to improve +# readability. +# +eol = "" + ++cat <<EOI >>>empty.cli +# Empty options file. +# + +EOI ++cat <<EOI >>>base.cli +-a 21 +-b 21 +EOI + +# @@ Give tests some meaningfull descriptions. +# + +: 000 +: +cat <<EOI >>>test.cli; +-a 11 +-b 11 + -a 12 + + -b 12 +a +EOI +$* -a 1 --file ../empty.cli -b 1 --file ../base.cli --file test.cli b >>EOO +-a +1 +-b +1 +-a +21 +-b +21 +-a +11 +-b +11 +-a +12 +-b +12 +a +b +EOO + +: 001 +: +cat <<EOI >>>test.cli; +# Empty options file. +# + +EOI +$* -a 1 -- --file test.cli b >>EOO +-a +1 +-- +--file +test.cli +b +EOO + +: 002 +: +cat <<EOI >>>test.cli; +-a 11 +-b 11 +-- +--file ../base.cli +-a 12 +-b 12 +a +EOI +$* -a 1 --file test.cli --file ../empty.cli b >>EOO +-a +1 +-a +11 +-b +11 +-- +--file +../base.cli +-a +12 +-b +12 +a +--file +../empty.cli +b +EOO + +: 003 +: +$* -a 1 --file ../base.cli --file test.cli b >>EOO 2>>EOE +-a +1 +-a +21 +-b +21 +EOO +unable to open file 'test.cli' or read failure +EOE + +: 004 +: +cat <<EOI >>>test.cli; +-a a"b"c +-a "abc" +-a "a"b" +-a "" +-a " abc " +-a " " +-a """ +-a "'" + +-a a'b'c +-a 'abc' +-a 'a'b' +-a '' +-a ' abc ' +-a ' ' +-a ''' +-a '"' +EOI +$* --file test.cli >>EOO +-a +a"b"c +-a +abc +-a +a"b +-a + +-a + abc $eol +-a + $eol +-a +" +-a +' +-a +a'b'c +-a +abc +-a +a'b +-a + +-a + abc $eol +-a + $eol +-a +' +-a +" +EOO + +: 005 +: +cat <<EOI >>>test.cli; +-a " +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument '"' +EOE + +: 006 +: +cat <<EOI >>>test.cli; +-a "abc +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument '"abc' +EOE + +: 007 +: +cat <<EOI >>>test.cli; +-a abc" +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument 'abc"' +EOE + +: 008 +: +cat <<EOI >>>test.cli; +-a ' +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument ''' +EOE + +: 009 +: +cat <<EOI >>>test.cli; +-a 'abc +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument ''abc' +EOE + +: 010 +: +cat <<EOI >>>test.cli; +-a abc' +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument 'abc'' +EOE + +: 011 +: +cat <<EOI >>>test.cli; +-a "abc' +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument '"abc'' +EOE + +: 012 +: +cat <<EOI >>>test.cli; +-a 'abc" +EOI +$* --file test.cli 2>>EOE +unmatched quote in argument ''abc"' +EOE |