Improve skipping for duplicate_consistency test

This commit is contained in:
Douglas Stebila 2019-04-04 12:38:47 -04:00
parent 7a4e0d445b
commit ad4984fdad

View File

@ -5,7 +5,7 @@ Checks that files duplicated across schemes/implementations are consistent.
import os import os
import pqclean import pqclean
import helpers import helpers
import unittest
def test_duplicate_consistency(): def test_duplicate_consistency():
for scheme in pqclean.Scheme.all_schemes(): for scheme in pqclean.Scheme.all_schemes():
@ -18,17 +18,18 @@ def file_get_contents(filename):
return f.read() return f.read()
def check_duplicate_consistency(implementation): def check_duplicate_consistency(implementation):
helpers.ensure_available('sed') helpers.skip_windows()
if 'duplicate-consistency' in implementation.metadata(): if not('duplicate-consistency' in implementation.metadata()):
dc = implementation.metadata()['duplicate-consistency'] raise unittest.SkipTest('No duplicate consistency requirements defined')
for pairs in dc['files']: dc = implementation.metadata()['duplicate-consistency']
transformed_src = helpers.run_subprocess( for pairs in dc['files']:
['sed', '-e', 's/{}/{}/g'.format(dc['source_namespace'], dc['target_namespace']), pairs['source_file']], transformed_src = helpers.run_subprocess(
'..', ['sed', '-e', 's/{}/{}/g'.format(dc['source_namespace'], dc['target_namespace']), pairs['source_file']],
) '..',
this_src = file_get_contents(os.path.join(implementation.path(), pairs['target_file'])) )
print(this_src) this_src = file_get_contents(os.path.join(implementation.path(), pairs['target_file']))
assert(transformed_src == this_src) print(this_src)
assert(transformed_src == this_src)
if __name__ == '__main__': if __name__ == '__main__':