diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -999,6 +999,10 @@ self._refout = self.readrefout() + @property + def relpath(self): + return os.path.relpath(self.path) + def readrefout(self): """read reference output""" # If we're not in --debug mode and reference output file exists, @@ -2397,11 +2401,18 @@ result.addSkip(test, "Doesn't exist") continue - if not (self._whitelist and test.bname in self._whitelist): - if self._blacklist and test.bname in self._blacklist: + is_whitelisted = self._whitelist and ( + test.relpath in self._whitelist + or test.bname in self._whitelist + ) + if not is_whitelisted: + is_blacklisted = self._blacklist and ( + test.relpath in self._blacklist + or test.bname in self._blacklist + ) + if is_blacklisted: result.addSkip(test, 'blacklisted') continue - if self._keywords: with open(test.path, 'rb') as f: t = f.read().lower() + test.bname.lower()