diff options
author | Julian Andres Klode <julian.klode@canonical.com> | 2020-05-04 13:08:33 +0200 |
---|---|---|
committer | Julian Andres Klode <julian.klode@canonical.com> | 2020-05-04 13:08:33 +0200 |
commit | c4f85bcb8bee1b5e647c7e629f616cffc7d12bbc (patch) | |
tree | 9cce30181fd90f11bba30579072bf9b689dba664 /test/integration | |
parent | 75f59b16312523ab3deb995c48e8c8ae07586c23 (diff) |
apt list: Fix behavior of regex vs fnmatch vs wildcards
Previously (and still in cacheset), patterns where only allowed to
start with ? or ~, which ignores the fact that a pattern might just
as well start with a negation, such a !~nfoo.
Also, we ignored the --regex flag if it looked like this, which
was somewhat bad.
Let's change this all:
* If --regex is given, arguments are always interpreted as regex
* If it is a valid package wildcard (name or * characters), then
it will be interpreted as a wildcard - this set of characters is
free from meaningful overlap with patterns.
* Otherwise, the argument is interpreted as a pattern.
For a future version, we need to adapt parsing for cacheset and
list to use a common parser, to avoid differences in their
interpretation. Likely, this code will go into the pattern parser,
such that it generates a pattern given a valid fnmatch argument
for example.
Diffstat (limited to 'test/integration')
-rwxr-xr-x | test/integration/test-apt-patterns | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/test/integration/test-apt-patterns b/test/integration/test-apt-patterns index b091c8729..33df21d36 100755 --- a/test/integration/test-apt-patterns +++ b/test/integration/test-apt-patterns @@ -256,10 +256,10 @@ E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or speci # other wildcards should fail -# FIXME: This should fail -testsuccessequal "Listing... -automatic1/now 1.0 i386 [installed,local] -automatic2/now 1.0 i386 [installed,local]" apt list 'automatic?' +testfailureequal "Listing... +E: input:0-10: error: Expected pattern + automatic? + ^^^^^^^^^^" apt list 'automatic?' |