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 pqclean
import helpers
import unittest
def test_duplicate_consistency():
for scheme in pqclean.Scheme.all_schemes():
@ -18,17 +18,18 @@ def file_get_contents(filename):
return f.read()
def check_duplicate_consistency(implementation):
helpers.ensure_available('sed')
if 'duplicate-consistency' in implementation.metadata():
dc = implementation.metadata()['duplicate-consistency']
for pairs in dc['files']:
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)
assert(transformed_src == this_src)
helpers.skip_windows()
if not('duplicate-consistency' in implementation.metadata()):
raise unittest.SkipTest('No duplicate consistency requirements defined')
dc = implementation.metadata()['duplicate-consistency']
for pairs in dc['files']:
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)
assert(transformed_src == this_src)
if __name__ == '__main__':