diff --git a/.coveragerc b/.coveragerc
index e4993bd..980b3d8 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -1,7 +1,7 @@
 [run]
 omit=
-    backrefs/pep562.py
+    wcmatch/pep562.py
 
 [report]
 omit=
-    backrefs/pep562.py
+    wcmatch/pep562.py
diff --git a/docs/src/markdown/changelog.md b/docs/src/markdown/changelog.md
index 4f447c3..7d9f205 100644
--- a/docs/src/markdown/changelog.md
+++ b/docs/src/markdown/changelog.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## 2.2.1
+
+- **FIX**: `EXTMATCH`/`EXTGLOB` should allow literal dots and should not treat dots like sequences do.
+- **FIX**: Fix `!(...)` extended match patterns in `glob` and `globmatch` so that they properly match `.` and `..` if their pattern starts with `.`.
+- **FIX**: Fix `!(...)` extended match patterns so that they handle path separators correctly.
+- **FIX**: Patterns such as `?` or `[.]` should not trigger matching directories `.` and `..` in `glob` and `globmatch`.
+
 ## 2.2.0
 
 - **NEW**: Officially support Python 3.8.
diff --git a/docs/src/markdown/fnmatch.md b/docs/src/markdown/fnmatch.md
index 82e6c79..efdccc6 100644
--- a/docs/src/markdown/fnmatch.md
+++ b/docs/src/markdown/fnmatch.md
@@ -29,7 +29,7 @@ Pattern           | Meaning
 
 - Slashes are generally treated as normal characters, but on windows they will be normalized: `/` will become `\\`. There is no need to explicitly use `\\` in patterns on Windows, but if you do, it will be handled.  This applies to matching patterns and the file names the patterns are applied to.
 - If case sensitivity is applied on a Windows system, slashes will not be normalized and pattern and file names will be treated as a Linux/Unix path.
-- By default, `.` is *not* matched by `*`, `?`, `[]`, and extended patterns such as `*(...)`. See the [`DOTMATCH`](#fnmatchdotmatch) flag to match `.` at the start of a filename without a literal `.`.
+- By default, `.` is *not* matched by `*`, `?`, and `[]`. See the [`DOTMATCH`](#fnmatchdotmatch) flag to match `.` at the start of a filename without a literal `.`.
 
 --8<-- "posix.txt"
 
@@ -145,7 +145,7 @@ When `MINUSNEGATE` is used with [`NEGATE`](#fnmatchnegate), negate patterns are
 
 #### `fnmatch.DOTMATCH, fnmatch.D` {: #fnmatchdotmatch}
 
-By default, [`glob`](#fnmatchfnmatch) and related functions will not match file or directory names that start with dot `.` unless matched with a literal dot. `DOTMATCH` allows the meta characters (such as `*`) to match dots like any other character. Dots will not be matched in `[]`, `*`, `?`, or extended patterns like `+(...)`.
+By default, [`glob`](#fnmatchfnmatch) and related functions will not match file or directory names that start with dot `.` unless matched with a literal dot. `DOTMATCH` allows the meta characters (such as `*`) to match dots like any other character. Dots will not be matched in `[]`, `*`, or `?`.
 
 #### `fnmatch.EXTMATCH, fnmatch.E` {: #fnmatchextmatch}
 
diff --git a/docs/src/markdown/glob.md b/docs/src/markdown/glob.md
index d5870ac..14a1cd6 100644
--- a/docs/src/markdown/glob.md
+++ b/docs/src/markdown/glob.md
@@ -34,7 +34,7 @@ Pattern           | Meaning
 - Windows drives are recognized as either `C:\\` or `\\\\Server\\mount\\` (or `C:/` and `//Server/mount/`).
 - Meta characters have no effect when inside a UNC path: `\\\\Server?\\mount*\\`.
 - If case sensitivity is applied on a Windows system, slashes will not be normalized and pattern and paths will be treated as if on Linux/Unix. Also Windows drives are no longer handled special. One exception is when using the functions [`glob`](#globglob) or [`iglob`](#globiglob).  Since `glob` and `iglob` work on the actual file system of the host, it *must* normalize slashes and handle drives to work properly on the system.
-- By default, file and directory names starting with `.` are only matched with literal `.`.  The patterns `*`, `?`, `[]`, and extended patterns like `*(...)` will not match a leading `.`.  To alter this behavior, you can use the [`DOTGLOB`](#globdotglob) flab, but even with `DOTGLOB`, `*` and `**` will not match a directory `.` or `..`.  But a pattern like `.*` will match `.` and `..`.
+- By default, file and directory names starting with `.` are only matched with literal `.`.  The patterns `*`, `**`, `?`, and `[]` will not match a leading `.`.  To alter this behavior, you can use the [`DOTGLOB`](#globdotglob) flag, but even with `DOTGLOB` these special tokens will not match a special directory (`.` or `..`).  But when a literal `.` is used, for instance in the pattern `.*`, the pattern will match `.` and `..`.
 - Relative paths and patterns are supported.
 
     ```pycon3
@@ -268,7 +268,7 @@ When `MINUSNEGATE` is used with [`NEGATE`](#globnegate), negate patterns are rec
 
 #### `glob.DOTGLOB, glob.D` {: #globdotglob}
 
-By default, [`glob`](#globglob) and [`globmatch`](#globglobmatch) will not match file or directory names that start with dot `.` unless matched with a literal dot. `DOTGLOB` allows the meta characters (such as `*`) to glob dots like any other character. Dots will not be matched in `[]`, `*`, `?`, or extended patterns like `+(...)`.
+By default, [`glob`](#globglob) and [`globmatch`](#globglobmatch) will not match file or directory names that start with dot `.` unless matched with a literal dot. `DOTGLOB` allows the meta characters (such as `*`) to glob dots like any other character. Dots will not be matched in `[]`, `*`, or `?`.
 
 Alternatively `DOTMATCH` will also be accepted for consistency with the other provided libraries. Both flags are exactly the same and are provided as a convenience in case the user finds one more intuitive than the other since `DOTGLOB` is often the name used in Bash.
 
diff --git a/tox.ini b/tox.ini
index 417f44d..1d845a4 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,6 +12,7 @@ deps=
 commands=
     {envbindir}/py.test --cov wcmatch --cov-append tests
     {envbindir}/coverage html -d {envtmpdir}/coverage
+    {envbindir}/coverage report --show-missing
 
 [testenv:lint]
 deps=
diff --git a/wcmatch/__meta__.py b/wcmatch/__meta__.py
index 66b16d3..711d8ee 100644
--- a/wcmatch/__meta__.py
+++ b/wcmatch/__meta__.py
@@ -186,5 +186,5 @@ def parse_version(ver, pre=False):
     return Version(major, minor, micro, release, pre, post, dev)
 
 
-__version_info__ = Version(2, 2, 0, "final")
+__version_info__ = Version(2, 2, 1, "final")
 __version__ = __version_info__._get_canonical()
diff --git a/wcmatch/_wcparse.py b/wcmatch/_wcparse.py
index 827c216..b09ba40 100644
--- a/wcmatch/_wcparse.py
+++ b/wcmatch/_wcparse.py
@@ -102,6 +102,7 @@ _PATH_NO_SLASH = r'(?![%(sep)s])'
 _ONE_OR_MORE = r'+'
 # End of pattern
 _EOP = r'$'
+_PATH_EOP = r'(?:$|%(sep)s)'
 # Divider between `globstar`. Can match start or end of pattern
 # in addition to slashes.
 _GLOBSTAR_DIV = r'(?:^|$|%s)+'
@@ -603,6 +604,8 @@ class WcParse(object):
             self.bslash_abort = False
             self.sep = '/'
         sep = {"sep": re.escape(self.sep)}
+        self.path_eop = _PATH_EOP % sep
+        self.no_dir = _NO_DIR % sep
         self.seq_path = _PATH_NO_SLASH % sep
         self.seq_path_dot = _PATH_NO_SLASH_DOT % sep
         self.path_star = _PATH_STAR % sep
@@ -643,11 +646,18 @@ class WcParse(object):
         elif not self.dir_start and self.after_start:
             self.reset_dir_track()
 
+    def _restrict_extended_slash(self):
+        """Restrict extended slash."""
+
+        return self.seq_path if self.pathname else ''
+
     def _restrict_sequence(self):
         """Restrict sequence."""
 
         if self.pathname:
             value = self.seq_path_dot if self.after_start and not self.dot else self.seq_path
+            if self.after_start:
+                value = self.no_dir + value
         else:
             value = _NO_DOT if self.after_start and not self.dot else ""
         self.reset_dir_track()
@@ -794,7 +804,7 @@ class WcParse(object):
             else:
                 result = [value]
 
-        if self.pathname or (self.after_start and not self.dot):
+        if self.pathname or self.after_start:
             return self._restrict_sequence() + ''.join(result)
 
         return ''.join(result)
@@ -814,7 +824,7 @@ class WcParse(object):
                     value = self.get_path_sep() + _ONE_OR_MORE
                     self.set_start_dir()
                 else:
-                    value = self._restrict_sequence() + value
+                    value = self._restrict_extended_slash() + value
         elif c == '/':
             # \/
             if sequence and self.pathname:
@@ -822,15 +832,17 @@ class WcParse(object):
             if self.pathname:
                 value = r'\\'
                 if self.in_list:
-                    value = self._restrict_sequence() + value
+                    value = self._restrict_extended_slash() + value
                 i.rewind(1)
             else:
                 value = re.escape(c)
-        elif self.in_list and not sequence and self.after_start and c == '.':
-            value = _NO_DOT + re.escape(c)
         else:
             # \a, \b, \c, etc.
             value = re.escape(c)
+            if c == '.' and self.after_start and self.in_list:
+                self.allow_special_dir = True
+                self.reset_dir_track()
+
         return value
 
     def _handle_star(self, i, current):
@@ -923,7 +935,7 @@ class WcParse(object):
         else:
             current.append(value)
 
-    def clean_up_inverse(self, current, default=None):
+    def clean_up_inverse(self, current):
         """
         Clean up current.
 
@@ -941,18 +953,16 @@ class WcParse(object):
         if not self.inv_ext:
             return
 
-        if default is None:
-            default = ''
-
         index = len(current) - 1
         while index >= 0:
             if isinstance(current[index], InvPlaceholder):
                 content = current[index + 1:]
-                current[index] = (''.join(content) if content else default) + (_EXCLA_GROUP_CLOSE % str(current[index]))
+                content.append(_EOP if not self.pathname else self.path_eop)
+                current[index] = (''.join(content)) + (_EXCLA_GROUP_CLOSE % str(current[index]))
             index -= 1
         self.inv_ext = 0
 
-    def parse_extend(self, c, i, current):
+    def parse_extend(self, c, i, current, reset_dot=False):
         """Parse extended pattern lists."""
 
         # Save state
@@ -961,6 +971,8 @@ class WcParse(object):
         temp_in_list = self.in_list
         temp_inv_ext = self.inv_ext
         self.in_list = True
+        if reset_dot:
+            self.allow_special_dir = False
 
         # Start list parsing
         success = True
@@ -979,14 +991,15 @@ class WcParse(object):
                     pass
                 elif c == '*':
                     self._handle_star(i, extended)
-                elif c == '.' and not self.dot and self.after_start:
-                    extended.append(_NO_DOT + re.escape(c))
+                elif c == '.' and self.after_start:
+                    extended.append(re.escape(c))
+                    self.allow_special_dir = True
                     self.reset_dir_track()
                 elif c == '?':
                     extended.append(self._restrict_sequence() + _QMARK)
                 elif c == '/':
                     if self.pathname:
-                        extended.append(self._restrict_sequence())
+                        extended.append(self._restrict_extended_slash())
                     extended.append(re.escape(c))
                 elif c == "|":
                     self.clean_up_inverse(extended)
@@ -1026,17 +1039,18 @@ class WcParse(object):
                 # If pattern is at the end, anchor the match to the end.
                 current.append(_EXCLA_GROUP % ''.join(extended))
                 if self.pathname:
-                    if temp_after_start and not self.dot:
+                    if not temp_after_start or self.allow_special_dir:
+                        star = self.path_star
+                    elif temp_after_start and not self.dot:
                         star = self.path_star_dot2
-                    elif temp_after_start:
-                        star = self.path_star_dot1
                     else:
-                        star = self.path_star
+                        star = self.path_star_dot1
                 else:
-                    if temp_after_start and not self.dot:
-                        star = _NO_DOT + _STAR
-                    else:
+                    if not temp_after_start or self.dot:
                         star = _STAR
+                    else:
+                        star = _NO_DOT + _STAR
+
                 if temp_after_start:
                     star = _NEED_CHAR + star
                 # Place holder for closing, but store the proper star
@@ -1108,7 +1122,7 @@ class WcParse(object):
         for c in i:
 
             index = i.index
-            if self.extend and c in EXT_TYPES and self.parse_extend(c, i, current):
+            if self.extend and c in EXT_TYPES and self.parse_extend(c, i, current, True):
                 # Nothing to do
                 pass
             elif c == '*':
@@ -1146,7 +1160,7 @@ class WcParse(object):
 
             self.update_dir_state()
 
-        self.clean_up_inverse(current, default=_EOP)
+        self.clean_up_inverse(current)
         if self.pathname:
             current.append(_PATH_TRAIL % self.get_path_sep())
 

Properly handle dots in EXTGLOB
EXTGLOB should not be treated as `*` which do not match dots except when DOTGLOB is allowed. Also, it should not restrict `.` and `..` from being matched. `!(...)` should be a simple wildcard match that is allowed to match dots.
diff --git a/tests/test_fnmatch.py b/tests/test_fnmatch.py
index 5fa09a5..eb89edb 100644
--- a/tests/test_fnmatch.py
+++ b/tests/test_fnmatch.py
@@ -112,10 +112,10 @@ class TestFnMatch:
         ['?abc', '.abc', False, fnmatch.D],
         ['*abc', '.abc', False, fnmatch.D],
         ['[.]abc', '.abc', False, fnmatch.D],
-        ['*(.)abc', '.abc', False, fnmatch.E | fnmatch.D],
-        [r'*(\.)abc', '.abc', False, fnmatch.E | fnmatch.D],
+        ['*(.)abc', '.abc', True, fnmatch.E | fnmatch.D],
+        [r'*(\.)abc', '.abc', True, fnmatch.E | fnmatch.D],
         ['*(?)abc', '.abc', False, fnmatch.E | fnmatch.D],
-        ['*(?|.)abc', '.abc', False, fnmatch.E | fnmatch.D],
+        ['*(?|.)abc', '.abc', True, fnmatch.E | fnmatch.D],
         ['*(?|*)abc', '.abc', False, fnmatch.E | fnmatch.D],
         ['a.bc', 'a.bc', True, fnmatch.D],
         ['a?bc', 'a.bc', True, fnmatch.D],
diff --git a/tests/test_glob.py b/tests/test_glob.py
index e353738..19daa53 100644
--- a/tests/test_glob.py
+++ b/tests/test_glob.py
@@ -363,12 +363,16 @@ class Testglob(_TestGlob):
         [('aa?',), [('aaa',), ('aab',)]],
         [('aa[ab]',), [('aaa',), ('aab',)]],
         [('*q',), []],
+        [('.',), [('.',)]],
+        [('?',), [('a',)]],
+        [('[.a]',), [('a',)]],
+        [('*.',), []],
 
         # Glob inverse
         [
             ('a*', '**'),
             [
-                ('EF',), ('ZZZ',), ('',)
+                ('EF',), ('ZZZ',), ('',), ('a',), ('aaa', ), ('aab', )
             ] if not can_symlink() else [
                 ('EF',), ('ZZZ',), ('',), ('sym1',), ('sym3',), ('sym2',),
                 ('a',), ('aaa', ), ('aab', ), ('sym3', 'efg'), ('sym3', 'efg', 'ha'), ('sym3', 'EF')
@@ -716,7 +720,7 @@ class Testglob(_TestGlob):
         [
             ('a*', '**'),
             [
-                ('EF',), ('ZZZ',)
+                ('EF',), ('ZZZ',), ('a',), ('aaa', ), ('aab', )
             ] if not can_symlink() else [
                 ('EF',), ('ZZZ',),
                 ('a',), ('aaa', ), ('aab', ), ('sym1',), ('sym3',), ('sym2',), ('sym3', 'efg'), ('sym3', 'efg', 'ha'),
diff --git a/tests/test_globmatch.py b/tests/test_globmatch.py
index 87c9a0b..a67b2ef 100644
--- a/tests/test_globmatch.py
+++ b/tests/test_globmatch.py
@@ -382,6 +382,46 @@ class TestGlobFilter:
         ['!(test)', ['.abc', 'abc'], glob.D | glob.M],
         ['.!(test)', ['.', '..', '.abc'], glob.M],
         ['.!(test)', ['.', '..', '.abc'], glob.D | glob.M],
+        ['!(.)', ['..', '.abc', 'abc'], glob.M],
+        [r'!(\.)', ['..', '.abc', 'abc'], glob.M],
+        [r'!(\x2e)', ['..', '.abc', 'abc'], glob.M | glob.R],
+        ['@(!(.))', ['..', '.abc', 'abc'], glob.M],
+        ['!(@(.))', ['..', '.abc', 'abc'], glob.M],
+        ['+(!(.))', ['..', '.abc', 'abc'], glob.M],
+        ['!(+(.))', ['.abc', 'abc'], glob.M],
+        ['!(?)', ['abc'], glob.M],
+        ['!(*)', [], glob.M],
+        ['!([.])', ['abc'], glob.M],
+        ['!(.)', ['..', '.abc', 'abc'], glob.M | glob.D],
+        [r'!(\.)', ['..', '.abc', 'abc'], glob.M | glob.D],
+        [r'!(\x2e)', ['..', '.abc', 'abc'], glob.M | glob.R | glob.D],
+        ['@(!(.))', ['..', '.abc', 'abc'], glob.M | glob.D],
+        ['!(@(.))', ['..', '.abc', 'abc'], glob.M | glob.D],
+        ['+(!(.))', ['..', '.abc', 'abc'], glob.M | glob.D],
+        ['!(+(.))', ['.abc', 'abc'], glob.M | glob.D],
+        ['!(?)', ['.abc', 'abc'], glob.M | glob.D],
+        ['!(*)', [], glob.M | glob.D],
+        ['!([.])', ['.abc', 'abc'], glob.M | glob.D],
+
+        # More extended pattern dot related tests
+        ['*(.)', ['.', '..']],
+        [r'*(\.)', ['.', '..']],
+        ['*([.])', []],
+        ['*(?)', ['abc']],
+        ['@(.?)', ['..']],
+        ['@(?.)', []],
+        ['*(.)', ['.', '..'], glob.D],
+        [r'*(\.)', ['.', '..'], glob.D],
+        ['*([.])', [], glob.D],
+        ['*(?)', ['.abc', 'abc'], glob.D],
+        ['@(.?)', ['..'], glob.D],
+        ['@(?.)', [], glob.D],
+
+        GlobFiles(['folder/abc', 'directory/abc', 'dir/abc']),
+        # Test that inverse works properly mid path.
+        ['!(folder)/*', ['directory/abc', 'dir/abc'], glob.M],
+        ['!(folder)dir/abc', ['dir/abc'], glob.M],
+        ['!(dir)/abc', ['directory/abc', 'folder/abc'], glob.M],
 
         # Slash exclusion
         GlobFiles(
@@ -725,7 +765,8 @@ class TestGlobMatchSpecial(unittest.TestCase):
         if util.PY37:
             value = (
                 [
-                    '^(?s:(?:(?!(?:/|^)\\.).)*?(?:^|$|/)+(?![/.])[\x00-\x7f]/+stuff/+(?=.)'
+                    '^(?s:(?:(?!(?:/|^)\\.).)*?(?:^|$|/)+'
+                    '(?!(?:\\.{1,2})(?:$|/))(?![/.])[\x00-\x7f]/+stuff/+(?=.)'
                     '(?!(?:\\.{1,2})(?:$|/))(?:(?!\\.)[^/]*?)?[/]*?)$'
                 ],
                 []
@@ -733,7 +774,8 @@ class TestGlobMatchSpecial(unittest.TestCase):
         elif util.PY36:
             value = (
                 [
-                    '^(?s:(?:(?!(?:\\/|^)\\.).)*?(?:^|$|\\/)+(?![\\/.])[\x00-\x7f]\\/+stuff\\/+(?=.)'
+                    '^(?s:(?:(?!(?:\\/|^)\\.).)*?(?:^|$|\\/)+'
+                    '(?!(?:\\.{1,2})(?:$|\\/))(?![\\/.])[\x00-\x7f]\\/+stuff\\/+(?=.)'
                     '(?!(?:\\.{1,2})(?:$|\\/))(?:(?!\\.)[^\\/]*?)?[\\/]*?)$'
                 ],
                 []
@@ -741,7 +783,8 @@ class TestGlobMatchSpecial(unittest.TestCase):
         else:
             value = (
                 [
-                    '(?s)^(?:(?:(?!(?:\\/|^)\\.).)*?(?:^|$|\\/)+(?![\\/.])[\x00-\x7f]\\/+stuff\\/+(?=.)'
+                    '(?s)^(?:(?:(?!(?:\\/|^)\\.).)*?(?:^|$|\\/)+'
+                    '(?!(?:\\.{1,2})(?:$|\\/))(?![\\/.])[\x00-\x7f]\\/+stuff\\/+(?=.)'
                     '(?!(?:\\.{1,2})(?:$|\\/))(?:(?!\\.)[^\\/]*?)?[\\/]*?)$'
                 ],
                 []

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest
3.8
requirements/setup.txt requirements/test.txt requirements/lint.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
backrefs==5.7.post1
bracex==2.5.post1
coverage==7.6.1
exceptiongroup==1.2.2
flake8==7.1.2
flake8-builtins==2.5.0
flake8-docstrings==1.7.0
flake8-mutable==1.2.0
iniconfig==2.1.0
mccabe==0.7.0
mock==5.2.0
packaging==24.2
pep8-naming==0.14.1
pluggy==1.5.0
pycodestyle==2.12.1
pydocstyle==6.3.0
pyflakes==3.2.0
pytest==8.3.5
pytest-cov==5.0.0
snowballstemmer==2.2.0
tomli==2.2.1
-e git+https://github.com/facelessuser/wcmatch.git@4f7e9c815a755d4af2540d60902ed177d27ade81#egg=wcmatch

name: wcmatch
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=24.2=py38h06a4308_0
  - python=3.8.20=he870216_0
  - readline=8.2=h5eee18b_0
  - setuptools=75.1.0=py38h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.44.0=py38h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - backrefs==5.7.post1
      - bracex==2.5.post1
      - coverage==7.6.1
      - exceptiongroup==1.2.2
      - flake8==7.1.2
      - flake8-builtins==2.5.0
      - flake8-docstrings==1.7.0
      - flake8-mutable==1.2.0
      - iniconfig==2.1.0
      - mccabe==0.7.0
      - mock==5.2.0
      - packaging==24.2
      - pep8-naming==0.14.1
      - pluggy==1.5.0
      - pycodestyle==2.12.1
      - pydocstyle==6.3.0
      - pyflakes==3.2.0
      - pytest==8.3.5
      - pytest-cov==5.0.0
      - snowballstemmer==2.2.0
      - tomli==2.2.1
prefix: /opt/conda/envs/wcmatch

tests/test_fnmatch.py::TestFnMatch::test_cases[case61] tests/test_fnmatch.py::TestFnMatch::test_cases[case62] tests/test_fnmatch.py::TestFnMatch::test_cases[case64] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case122] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case123] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case124] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case125] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case126] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case127] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case128] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case132] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case133] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case134] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case135] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case136] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case137] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case142] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case143] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case146] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case149] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case150] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case151] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case153] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case157] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case122] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case123] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case124] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case125] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case126] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case127] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case128] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case132] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case133] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case134] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case135] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case136] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case137] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case142] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case143] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case146] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case149] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case150] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case151] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case153] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case157]
tests/test_fnmatch.py::TestFnMatch::test_cases[case77] tests/test_fnmatch.py::TestFnMatch::test_cases[case78] tests/test_fnmatch.py::TestFnMatch::test_cases[case79] tests/test_fnmatch.py::TestFnMatch::test_cases[case80] tests/test_fnmatch.py::TestFnMatch::test_cases[case81] tests/test_fnmatch.py::TestFnMatch::test_cases[case82] tests/test_fnmatch.py::TestFnMatch::test_cases[case83] tests/test_fnmatch.py::TestFnMatch::test_cases[case84] tests/test_fnmatch.py::TestFnMatch::test_cases[case85] tests/test_fnmatch.py::TestFnMatchTranslate::test_posix_range tests/test_globmatch.py::TestGlobMatchSpecial::test_glob_translate
tests/test_fnmatch.py::TestFnMatch::test_cases[case0] tests/test_fnmatch.py::TestFnMatch::test_cases[case1] tests/test_fnmatch.py::TestFnMatch::test_cases[case2] tests/test_fnmatch.py::TestFnMatch::test_cases[case3] tests/test_fnmatch.py::TestFnMatch::test_cases[case4] tests/test_fnmatch.py::TestFnMatch::test_cases[case5] tests/test_fnmatch.py::TestFnMatch::test_cases[case6] tests/test_fnmatch.py::TestFnMatch::test_cases[case7] tests/test_fnmatch.py::TestFnMatch::test_cases[case8] tests/test_fnmatch.py::TestFnMatch::test_cases[case9] tests/test_fnmatch.py::TestFnMatch::test_cases[case10] tests/test_fnmatch.py::TestFnMatch::test_cases[case11] tests/test_fnmatch.py::TestFnMatch::test_cases[case12] tests/test_fnmatch.py::TestFnMatch::test_cases[case13] tests/test_fnmatch.py::TestFnMatch::test_cases[case14] tests/test_fnmatch.py::TestFnMatch::test_cases[case15] tests/test_fnmatch.py::TestFnMatch::test_cases[case16] tests/test_fnmatch.py::TestFnMatch::test_cases[case17] tests/test_fnmatch.py::TestFnMatch::test_cases[case18] tests/test_fnmatch.py::TestFnMatch::test_cases[case19] tests/test_fnmatch.py::TestFnMatch::test_cases[case20] tests/test_fnmatch.py::TestFnMatch::test_cases[case21] tests/test_fnmatch.py::TestFnMatch::test_cases[case22] tests/test_fnmatch.py::TestFnMatch::test_cases[case23] tests/test_fnmatch.py::TestFnMatch::test_cases[case24] tests/test_fnmatch.py::TestFnMatch::test_cases[case25] tests/test_fnmatch.py::TestFnMatch::test_cases[case26] tests/test_fnmatch.py::TestFnMatch::test_cases[case27] tests/test_fnmatch.py::TestFnMatch::test_cases[case28] tests/test_fnmatch.py::TestFnMatch::test_cases[case29] tests/test_fnmatch.py::TestFnMatch::test_cases[case30] tests/test_fnmatch.py::TestFnMatch::test_cases[case31] tests/test_fnmatch.py::TestFnMatch::test_cases[case32] tests/test_fnmatch.py::TestFnMatch::test_cases[case33] tests/test_fnmatch.py::TestFnMatch::test_cases[case34] tests/test_fnmatch.py::TestFnMatch::test_cases[case35] tests/test_fnmatch.py::TestFnMatch::test_cases[case36] tests/test_fnmatch.py::TestFnMatch::test_cases[case37] tests/test_fnmatch.py::TestFnMatch::test_cases[case38] tests/test_fnmatch.py::TestFnMatch::test_cases[case39] tests/test_fnmatch.py::TestFnMatch::test_cases[case40] tests/test_fnmatch.py::TestFnMatch::test_cases[case41] tests/test_fnmatch.py::TestFnMatch::test_cases[case42] tests/test_fnmatch.py::TestFnMatch::test_cases[case43] tests/test_fnmatch.py::TestFnMatch::test_cases[case44] tests/test_fnmatch.py::TestFnMatch::test_cases[case45] tests/test_fnmatch.py::TestFnMatch::test_cases[case46] tests/test_fnmatch.py::TestFnMatch::test_cases[case47] tests/test_fnmatch.py::TestFnMatch::test_cases[case48] tests/test_fnmatch.py::TestFnMatch::test_cases[case49] tests/test_fnmatch.py::TestFnMatch::test_cases[case50] tests/test_fnmatch.py::TestFnMatch::test_cases[case51] tests/test_fnmatch.py::TestFnMatch::test_cases[case52] tests/test_fnmatch.py::TestFnMatch::test_cases[case53] tests/test_fnmatch.py::TestFnMatch::test_cases[case54] tests/test_fnmatch.py::TestFnMatch::test_cases[case55] tests/test_fnmatch.py::TestFnMatch::test_cases[case56] tests/test_fnmatch.py::TestFnMatch::test_cases[case57] tests/test_fnmatch.py::TestFnMatch::test_cases[case58] tests/test_fnmatch.py::TestFnMatch::test_cases[case59] tests/test_fnmatch.py::TestFnMatch::test_cases[case60] tests/test_fnmatch.py::TestFnMatch::test_cases[case63] tests/test_fnmatch.py::TestFnMatch::test_cases[case65] tests/test_fnmatch.py::TestFnMatch::test_cases[case66] tests/test_fnmatch.py::TestFnMatch::test_cases[case67] tests/test_fnmatch.py::TestFnMatch::test_cases[case68] tests/test_fnmatch.py::TestFnMatch::test_cases[case69] tests/test_fnmatch.py::TestFnMatch::test_cases[case70] tests/test_fnmatch.py::TestFnMatch::test_cases[case71] tests/test_fnmatch.py::TestFnMatch::test_cases[case72] tests/test_fnmatch.py::TestFnMatch::test_cases[case73] tests/test_fnmatch.py::TestFnMatch::test_cases[case74] tests/test_fnmatch.py::TestFnMatch::test_cases[case75] tests/test_fnmatch.py::TestFnMatch::test_cases[case76] tests/test_fnmatch.py::TestFnMatch::test_cases[case86] tests/test_fnmatch.py::TestFnMatch::test_cases[case87] tests/test_fnmatch.py::TestFnMatch::test_cases[case88] tests/test_fnmatch.py::TestFnMatch::test_cases[case89] tests/test_fnmatch.py::TestFnMatch::test_cases[case90] tests/test_fnmatch.py::TestFnMatch::test_cases[case91] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case0] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case1] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case2] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case3] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case4] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case5] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case6] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case7] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case8] tests/test_fnmatch.py::TestFnMatchFilter::test_cases[case9] tests/test_fnmatch.py::TestFnMatchTranslate::test_special_escapes tests/test_fnmatch.py::TestFnMatchTranslate::test_split_parsing tests/test_glob.py::Testglob::test_glob_cases[case0] tests/test_glob.py::Testglob::test_glob_cases[case1] tests/test_glob.py::Testglob::test_glob_cases[case2] tests/test_glob.py::Testglob::test_glob_cases[case3] tests/test_glob.py::Testglob::test_glob_cases[case5] tests/test_glob.py::Testglob::test_glob_cases[case6] tests/test_glob.py::Testglob::test_glob_cases[case8] tests/test_glob.py::Testglob::test_glob_cases[case9] tests/test_glob.py::Testglob::test_glob_cases[case10] tests/test_glob.py::Testglob::test_glob_cases[case11] tests/test_glob.py::Testglob::test_glob_cases[case12] tests/test_glob.py::Testglob::test_glob_cases[case13] tests/test_glob.py::Testglob::test_glob_cases[case14] tests/test_glob.py::Testglob::test_glob_cases[case15] tests/test_glob.py::Testglob::test_glob_cases[case16] tests/test_glob.py::Testglob::test_glob_cases[case17] tests/test_glob.py::Testglob::test_glob_cases[case18] tests/test_glob.py::Testglob::test_glob_cases[case19] tests/test_glob.py::Testglob::test_glob_cases[case20] tests/test_glob.py::Testglob::test_glob_cases[case21] tests/test_glob.py::Testglob::test_glob_cases[case22] tests/test_glob.py::Testglob::test_glob_cases[case23] tests/test_glob.py::Testglob::test_glob_cases[case24] tests/test_glob.py::Testglob::test_glob_cases[case25] tests/test_glob.py::Testglob::test_glob_cases[case33] tests/test_glob.py::Testglob::test_glob_cases[case34] tests/test_glob.py::Testglob::test_glob_cases[case35] tests/test_glob.py::Testglob::test_glob_cases[case36] tests/test_glob.py::Testglob::test_glob_cases[case37] tests/test_glob.py::Testglob::test_glob_cases[case38] tests/test_glob.py::Testglob::test_glob_cases[case39] tests/test_glob.py::Testglob::test_glob_cases[case41] tests/test_glob.py::Testglob::test_glob_cases[case45] tests/test_glob.py::Testglob::test_glob_cases[case46] tests/test_glob.py::Testglob::test_glob_cases[case47] tests/test_glob.py::Testglob::test_glob_cases[case48] tests/test_glob.py::Testglob::test_glob_cases[case49] tests/test_glob.py::Testglob::test_glob_cases[case51] tests/test_glob.py::Testglob::test_glob_cases[case53] tests/test_glob.py::Testglob::test_glob_cases[case54] tests/test_glob.py::Testglob::test_glob_cases[case55] tests/test_glob.py::Testglob::test_glob_cases[case56] tests/test_glob.py::Testglob::test_glob_cases[case57] tests/test_glob.py::Testglob::test_glob_cases[case58] tests/test_glob.py::Testglob::test_glob_cases[case59] tests/test_glob.py::Testglob::test_glob_cases[case60] tests/test_glob.py::Testglob::test_glob_cases[case61] tests/test_glob.py::Testglob::test_glob_cases[case62] tests/test_glob.py::Testglob::test_glob_cases[case63] tests/test_glob.py::Testglob::test_glob_cases[case64] tests/test_glob.py::Testglob::test_glob_cases[case65] tests/test_glob.py::Testglob::test_glob_cases[case66] tests/test_glob.py::Testglob::test_glob_cases[case68] tests/test_glob.py::Testglob::test_glob_cases[case69] tests/test_glob.py::Testglob::test_glob_cases[case70] tests/test_glob.py::Testglob::test_glob_cases[case71] tests/test_glob.py::Testglob::test_glob_cases[case72] tests/test_glob.py::Testglob::test_glob_cases[case73] tests/test_glob.py::Testglob::test_glob_cases[case74] tests/test_glob.py::Testglob::test_glob_cases[case75] tests/test_glob.py::Testglob::test_glob_cases[case76] tests/test_glob.py::Testglob::test_glob_cases[case78] tests/test_glob.py::Testglob::test_glob_cases[case80] tests/test_glob.py::TestCWD::test_cwd tests/test_glob.py::TestGlobCornerCase::test_glob_cases[case0] tests/test_glob.py::TestGlobCornerCase::test_glob_cases[case1] tests/test_glob.py::TestGlobCornerCase::test_glob_cases[case2] tests/test_glob.py::TestGlobCornerCase::test_glob_cases[case3] tests/test_glob.py::TestGlobCornerCase::test_glob_cases[case4] tests/test_glob.py::TestGlobCornerCase::test_glob_cases[case5] tests/test_glob.py::TestGlobEscapes::test_escape tests/test_glob.py::TestGlobEscapes::test_raw_escape tests/test_glob.py::SymlinkLoopGlobTests::test_selflink tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case2] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case3] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case4] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case5] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case6] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case7] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case8] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case9] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case10] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case11] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case12] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case13] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case14] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case15] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case16] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case18] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case20] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case22] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case23] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case24] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case25] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case26] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case27] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case28] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case29] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case30] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case31] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case33] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case34] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case35] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case36] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case37] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case38] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case39] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case40] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case41] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case42] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case43] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case44] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case45] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case46] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case47] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case48] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case49] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case50] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case51] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case52] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case53] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case54] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case55] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case56] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case57] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case58] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case59] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case60] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case61] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case62] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case63] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case64] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case65] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case66] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case67] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case68] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case69] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case70] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case71] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case72] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case73] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case74] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case76] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case77] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case78] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case79] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case80] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case81] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case82] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case83] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case84] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case86] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case88] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case89] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case90] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case91] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case92] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case94] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case95] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case97] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case98] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case99] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case101] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case103] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case104] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case105] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case106] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case108] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case109] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case111] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case113] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case114] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case115] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case116] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case118] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case119] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case120] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case121] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case129] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case130] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case131] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case138] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case139] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case140] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case141] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case144] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case145] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case147] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case148] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case152] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case155] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case156] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case159] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case160] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case161] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case162] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case163] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case164] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case166] tests/test_globmatch.py::TestGlobFilter::test_glob_filter[case167] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case2] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case3] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case4] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case5] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case6] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case7] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case8] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case9] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case10] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case11] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case12] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case13] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case14] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case15] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case16] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case18] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case20] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case22] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case23] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case24] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case25] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case26] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case27] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case28] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case29] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case30] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case31] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case33] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case34] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case35] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case36] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case37] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case38] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case39] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case40] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case41] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case42] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case43] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case44] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case45] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case46] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case47] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case48] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case49] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case50] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case51] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case52] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case53] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case54] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case55] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case56] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case57] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case58] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case59] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case60] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case61] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case62] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case63] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case64] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case65] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case66] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case67] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case68] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case69] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case70] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case71] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case72] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case73] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case74] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case76] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case77] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case78] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case79] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case80] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case81] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case82] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case83] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case84] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case86] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case88] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case89] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case90] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case91] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case92] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case94] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case95] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case97] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case98] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case99] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case101] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case103] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case104] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case105] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case106] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case108] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case109] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case111] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case113] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case114] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case115] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case116] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case118] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case119] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case120] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case121] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case129] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case130] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case131] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case138] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case139] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case140] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case141] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case144] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case145] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case147] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case148] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case152] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case155] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case156] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case159] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case160] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case161] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case162] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case163] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case164] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case166] tests/test_globmatch.py::TestGlobFilter::test_glob_split_filter[case167] tests/test_globmatch.py::TestGlobMatch::test_cases[case0] tests/test_globmatch.py::TestGlobMatch::test_cases[case1] tests/test_globmatch.py::TestGlobMatch::test_cases[case2] tests/test_globmatch.py::TestGlobMatch::test_cases[case3] tests/test_globmatch.py::TestGlobMatch::test_cases[case4] tests/test_globmatch.py::TestGlobMatch::test_cases[case5] tests/test_globmatch.py::TestGlobMatch::test_cases[case6] tests/test_globmatch.py::TestGlobMatch::test_cases[case7] tests/test_globmatch.py::TestGlobMatch::test_cases[case8] tests/test_globmatch.py::TestGlobMatch::test_cases[case9] tests/test_globmatch.py::TestGlobMatch::test_cases[case10] tests/test_globmatch.py::TestGlobMatch::test_cases[case11] tests/test_globmatch.py::TestGlobMatch::test_cases[case12] tests/test_globmatch.py::TestGlobMatch::test_cases[case13] tests/test_globmatch.py::TestGlobMatch::test_cases[case14] tests/test_globmatch.py::TestGlobMatch::test_cases[case15] tests/test_globmatch.py::TestGlobMatch::test_cases[case16] tests/test_globmatch.py::TestGlobMatch::test_cases[case17] tests/test_globmatch.py::TestGlobMatch::test_cases[case18] tests/test_globmatch.py::TestGlobMatch::test_cases[case19] tests/test_globmatch.py::TestGlobMatch::test_cases[case20] tests/test_globmatch.py::TestGlobMatch::test_cases[case21] tests/test_globmatch.py::TestGlobMatch::test_cases[case22] tests/test_globmatch.py::TestGlobMatch::test_cases[case23] tests/test_globmatch.py::TestGlobMatch::test_cases[case24] tests/test_globmatch.py::TestGlobMatch::test_cases[case25] tests/test_globmatch.py::TestGlobMatch::test_cases[case26] tests/test_globmatch.py::TestGlobMatch::test_cases[case27] tests/test_globmatch.py::TestGlobMatch::test_cases[case28] tests/test_globmatch.py::TestGlobMatch::test_cases[case29] tests/test_globmatch.py::TestGlobMatch::test_cases[case30] tests/test_globmatch.py::TestGlobMatch::test_cases[case31] tests/test_globmatch.py::TestGlobMatch::test_cases[case32] tests/test_globmatch.py::TestGlobMatch::test_cases[case33] tests/test_globmatch.py::TestGlobMatch::test_cases[case34] tests/test_globmatch.py::TestGlobMatch::test_cases[case35] tests/test_globmatch.py::TestGlobMatch::test_cases[case36] tests/test_globmatch.py::TestGlobMatch::test_cases[case37] tests/test_globmatch.py::TestGlobMatch::test_cases[case38] tests/test_globmatch.py::TestGlobMatch::test_cases[case39] tests/test_globmatch.py::TestGlobMatch::test_cases[case40] tests/test_globmatch.py::TestGlobMatch::test_cases[case41] tests/test_globmatch.py::TestGlobMatch::test_cases[case42] tests/test_globmatch.py::TestGlobMatch::test_cases[case43] tests/test_globmatch.py::TestGlobMatch::test_cases[case44] tests/test_globmatch.py::TestGlobMatch::test_cases[case45] tests/test_globmatch.py::TestGlobMatchSpecial::test_glob_integrity tests/test_globmatch.py::TestGlobMatchSpecial::test_glob_parsing_nix tests/test_globmatch.py::TestGlobMatchSpecial::test_glob_parsing_win tests/test_globmatch.py::TestGlobMatchSpecial::test_unfinished_ext tests/test_globmatch.py::TestGlobMatchSpecial::test_windows_drives
docs/src/markdown/glob.md wcmatch/_wcparse.py docs/src/markdown/fnmatch.md tox.ini docs/src/markdown/changelog.md .coveragerc wcmatch/__meta__.py
docs/src/markdown/glob.md wcmatch/_wcparse.py docs/src/markdown/fnmatch.md tox.ini docs/src/markdown/changelog.md .coveragerc wcmatch/__meta__.py