|
- import pytest
-
- import helpers
- import pqclean
-
-
- @pytest.mark.parametrize(
- 'implementation',
- pqclean.Scheme.all_implementations(),
- ids=str,
- )
- @helpers.filtered_test
- def test_preprocessor(implementation: pqclean.Implementation):
- cfiles = implementation.cfiles()
- hfiles = implementation.hfiles()
- errors = []
- for file in hfiles + cfiles:
- with open(file) as f:
- for i, line in enumerate(f):
- line = line.strip()
- if file in hfiles and i == 0 and line.startswith('#ifndef'):
- continue
- if line.startswith('#if'):
- errors.append("\n at {}:{}".format(file, i+1))
- if errors:
- raise AssertionError(
- "Prohibited use of preprocessor conditional" + "".join(errors)
- )
-
-
- if __name__ == '__main__':
- import sys
- pytest.main(sys.argv)
|