|
- import os
- import platform
- import unittest
- from glob import glob
-
- import pytest
-
- import helpers
- import pqclean
-
- additional_flags = [] #['-fix-errors']
-
-
- @pytest.mark.parametrize(
- 'implementation',
- pqclean.Scheme.all_supported_implementations(),
- ids=str,
- )
- @helpers.skip_windows()
- @helpers.filtered_test
- def test_clang_tidy(implementation: pqclean.Implementation):
- helpers.ensure_available('clang-tidy')
- cfiles = implementation.cfiles()
- common_files = glob(os.path.join('..', 'common', '*.c'))
- (returncode, _) = helpers.run_subprocess(
- ['clang-tidy',
- '-quiet',
- '-header-filter=.*',
- *additional_flags,
- *cfiles,
- *common_files,
- '--',
- '-iquote', os.path.join('..', 'common'),
- '-iquote', implementation.path()],
- expected_returncode=None,
- )
-
- # Detect and gracefully avoid segfaults
- if returncode == -11:
- raise unittest.SkipTest("clang-tidy segfaulted")
-
- assert returncode == 0, "Clang-tidy returned %d" % returncode
-
-
- if __name__ == "__main__":
- import sys
- pytest.main(sys.argv)
|