diff --git a/oslo_rootwrap/tests/test_rootwrap.py b/oslo_rootwrap/tests/test_rootwrap.py index fb8f804..13c7282 100644 --- a/oslo_rootwrap/tests/test_rootwrap.py +++ b/oslo_rootwrap/tests/test_rootwrap.py @@ -46,6 +46,7 @@ class RootwrapLoaderTestCase(testtools.TestCase): def test_strict_switched_off_in_configparser(self): temp_dir = self.useFixture(fixtures.TempDir()).path + os.mkdir(os.path.join(temp_dir, 'nested')) temp_file = os.path.join(temp_dir, 'test.conf') f = open(temp_file, 'w') f.write("""[Filters] diff --git a/oslo_rootwrap/wrapper.py b/oslo_rootwrap/wrapper.py index 49fdac3..6a96e1a 100644 --- a/oslo_rootwrap/wrapper.py +++ b/oslo_rootwrap/wrapper.py @@ -120,9 +120,12 @@ def load_filters(filters_path): continue for filterfile in filter(lambda f: not f.startswith('.'), os.listdir(filterdir)): + filterfilepath = os.path.join(filterdir, filterfile) + if not os.path.isfile(filterfilepath): + continue kwargs = {"strict": False} if six.PY3 else {} filterconfig = moves.configparser.RawConfigParser(**kwargs) - filterconfig.read(os.path.join(filterdir, filterfile)) + filterconfig.read(filterfilepath) for (name, value) in filterconfig.items("Filters"): filterdefinition = [s.strip() for s in value.split(',')] newfilter = build_filter(*filterdefinition)