aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-12-30 23:34:08 +0200
committerKaren Arutyunov <karen@codesynthesis.com>2024-12-31 14:09:49 +0200
commit2ccb11e55e1301e476e044abcfda6887971c518e (patch)
treeefbfa9921157216184e323748d45211545970e66 /tests
parent4a4f6583b00a632977481c0f88b427912d5305a8 (diff)
Fix parser::parse_names() not to fail on pattern inclusion groups for some corner cases
Specifically, fix the function for the case when the pattern inclusion group is specified first in the pattern group in a directory. For example, before the fix, compiling the following buildfile: fs = hello exe{hello}: foo/{hxx ixx txx cxx}{+{$fs}} would fail with the following error: invalid 'foo/hello' in name pattern
Diffstat (limited to 'tests')
-rw-r--r--tests/name/pattern.testscript12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/name/pattern.testscript b/tests/name/pattern.testscript
index c1a4ce4..efd15b2 100644
--- a/tests/name/pattern.testscript
+++ b/tests/name/pattern.testscript
@@ -153,6 +153,9 @@ EOI
mkdir bar;
$* <'print {f*/ +{b*/}}' >/'bar/' : include-group
+ mkdir -p foo/bar;
+ $* <'print $path.canonicalize(foo/{+{b*/}})' >/'foo/bar/' : include-group-first
+
touch foo.txt fox.txt;
$* <'print {*.txt -f*.txt +*x.txt}' >'fox.txt' : include-exclude-order
@@ -309,6 +312,15 @@ EOI
print {+{$pats}}
EOI
+ : pattern-via-expansion-list-subdir
+ :
+ mkdir baz;
+ touch baz/foo.txt baz/bar.hxx;
+ $* <<EOI >'baz/bar.hxx baz/foo.txt'
+ pats = '*.hxx' '*.txt'
+ print baz/{+{$pats}}
+ EOI
+
: pattern-via-expansion-type
:
touch foo.txt;