From c2b4305349ca855c497904282db354de56c74842 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 7 Aug 2018 14:59:07 +0200 Subject: Add support for default extension specification, trailing dot escaping For example: cxx{*}: extension = cxx cxx{foo} # foo.cxx cxx{foo.test} # foo.test (probably what we want...) cxx{foo.test...} # foo.test.cxx (... is this) cxx{foo..} # foo. cxx{foo....} # foo.. cxx{foo.....} # error (must come in escape pair) --- tests/name/extension.test | 71 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tests/name/extension.test (limited to 'tests') diff --git a/tests/name/extension.test b/tests/name/extension.test new file mode 100644 index 0000000..c7d7066 --- /dev/null +++ b/tests/name/extension.test @@ -0,0 +1,71 @@ +# file : tests/name/extension.test +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include ../common.test + ++cat <=build/root.build +define txt: file +txt{*}: extension = txt +EOI + +: name +: +{ + test.arguments = --match-only update + + : unspecified + : + touch foo.txt; + $* <'./: txt{foo}' + + : specified + : + touch foo.text; + $* <'./: txt{foo.text}' + + : specified-none + : + touch foo; + $* <'./: txt{foo.}' + + : specified-default + : + touch foo.test.txt; + $* <'./: txt{foo.test...}' + + : specified-escape-one + : + touch foo.; + $* <'./: txt{foo..}' + + : specified-escape-two + : + touch foo..; + $* <'./: txt{foo....}' + + : specified-invalid + : + $* <'./: txt{foo.....}' 2>>EOE != 0 + :1:5: error: invalid trailing dot sequence in target name 'foo.....' + EOE +} + +: pattern +: +{ + : specified-none + : + touch foo; + $* <'print txt{fo?.}' >'txt{foo.}' + + : specified-default + : + touch foo.test.txt; + $* <'print txt{fo?.test...}' >'txt{foo.test...}' + + : specified-escape + : + touch foo.; + $* <'print txt{fo?..}' >'txt{foo..}' +} -- cgit v1.1