diff options
Diffstat (limited to 'testenv/conf/expected_files.py')
-rw-r--r-- | testenv/conf/expected_files.py | 39 |
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.") |