diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-12-30 23:34:08 +0200 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2025-01-01 21:13:37 +0200 |
commit | 4dc301a8cbd17b053ff86d141c8ee8daaaa866a3 (patch) | |
tree | f1be8ebbbbfc105b1124df2cd1d4c9bcc80441f2 /tests | |
parent | 4a4f6583b00a632977481c0f88b427912d5305a8 (diff) |
Fix parser::parse_names() which fails 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.testscript | 12 |
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; |