aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-08-07 14:59:07 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-08-07 14:59:07 +0200
commite4f41c7319261b9585bd501256664679457e1d9d (patch)
tree21ef10a30d932a3172080de2690c6e38d851d0e2 /tests
parent7149c8eaeec3efcfc9da0f89c9ae979ff2c07fd5 (diff)
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)
Diffstat (limited to 'tests')
-rw-r--r--tests/name/extension.test48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/name/extension.test b/tests/name/extension.test
new file mode 100644
index 0000000..e97d0ab
--- /dev/null
+++ b/tests/name/extension.test
@@ -0,0 +1,48 @@
+# file : tests/name/extension.test
+# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+test.arguments = --match-only update
+
+.include ../common.test
+
++cat <<EOI >=build/root.build
+define txt: file
+txt{*}: extension = txt
+EOI
+
+: 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
+<stdin>:1:5: error: invalid trailing dot sequence in target name 'foo.....'
+EOE