mirror of
https://github.com/henrydcase/pqc.git
synced 2024-11-26 09:21:28 +00:00
31 lines
820 B
Python
31 lines
820 B
Python
|
"""
|
||
|
Checks that no implementation makes use of symbolic links.
|
||
|
"""
|
||
|
|
||
|
import os
|
||
|
import pqclean
|
||
|
import sys
|
||
|
|
||
|
def test_no_symlinks():
|
||
|
for scheme in pqclean.Scheme.all_schemes():
|
||
|
for implementation in scheme.implementations:
|
||
|
yield check_no_symlinks, scheme.name, implementation.name
|
||
|
|
||
|
|
||
|
def check_no_symlinks(scheme_name, implementation_name):
|
||
|
implementation = pqclean.Implementation.by_name(
|
||
|
scheme_name, implementation_name)
|
||
|
for file in os.listdir(implementation.path()):
|
||
|
fpath = os.path.join(implementation.path(), file)
|
||
|
if os.path.islink(fpath):
|
||
|
raise AssertionError("{} is a symbolic link!".format(fpath))
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
try:
|
||
|
import nose2
|
||
|
nose2.main()
|
||
|
except ImportError:
|
||
|
import nose
|
||
|
nose.runmodule()
|