summaryrefslogtreecommitdiffstats
path: root/testenv/conf/expected_files.py
diff options
context:
space:
mode:
Diffstat (limited to 'testenv/conf/expected_files.py')
-rw-r--r--testenv/conf/expected_files.py39
1 files changed, 25 insertions, 14 deletions
diff --git a/testenv/conf/expected_files.py b/testenv/conf/expected_files.py
index 65adb70..e45a891 100644
--- a/testenv/conf/expected_files.py
+++ b/testenv/conf/expected_files.py
@@ -4,6 +4,7 @@ import sys
from conf import hook
from exc.test_failed import TestFailed
+
""" Post-Test Hook: ExpectedFiles
This is a Post-Test hook that checks the test directory for the files it
contains. A dictionary object is passed to it, which contains a mapping of
@@ -22,18 +23,24 @@ class ExpectedFiles:
@staticmethod
def gen_local_fs_snapshot():
snapshot = {}
- for parent, dirs, files in os.walk('.'):
+ for parent, dirs, files in os.walk("."):
for name in files:
- # pubring.gpg, pubring.kbx, dirmngr.conf, gpg.conf will be created by libgpgme
+ # pubring.gpg, pubring.kbx, common.conf, dirmngr.conf, gpg.conf will be created by libgpgme
# if $HOME doesn't contain the .gnupg directory.
# setting $HOME to CWD (in base_test.py) breaks two Metalink tests, so we skip this file here.
- if name in [ 'pubring.gpg', 'pubring.kbx', 'dirmngr.conf', 'gpg.conf' ]:
+ if name in [
+ "pubring.gpg",
+ "pubring.kbx",
+ "common.conf",
+ "dirmngr.conf",
+ "gpg.conf",
+ ]:
continue
- f = {'content': ''}
+ f = {"content": ""}
file_path = os.path.join(parent, name)
with open(file_path) as fp:
- f['content'] = fp.read()
+ f["content"] = fp.read()
snapshot[file_path[2:]] = f
return snapshot
@@ -44,15 +51,19 @@ class ExpectedFiles:
if file.name in local_fs:
local_file = local_fs.pop(file.name)
formatted_content = test_obj._replace_substring(file.content)
- if formatted_content != local_file['content']:
- for line in unified_diff(local_file['content'],
- formatted_content,
- fromfile='Actual',
- tofile='Expected'):
- print(line, file=sys.stderr)
- raise TestFailed('Contents of %s do not match' % file.name)
+ if formatted_content != local_file["content"]:
+ diff = "".join(
+ unified_diff(
+ local_file["content"].splitlines(1),
+ formatted_content.splitlines(1),
+ fromfile="Actual",
+ tofile="Expected",
+ )
+ )
+ print(diff, file=sys.stderr)
+ raise TestFailed("Contents of %s do not match" % file.name)
else:
- raise TestFailed('Expected file %s not found.' % file.name)
+ raise TestFailed("Expected file %s not found." % file.name)
if local_fs:
print(local_fs)
- raise TestFailed('Extra files downloaded.')
+ raise TestFailed("Extra files downloaded.")