Add format tests to python tests
This commit is contained in:
父節點
ed8e845f77
當前提交
facc293a21
9
Makefile
9
Makefile
@ -72,14 +72,6 @@ bin/shared_$(subst /,_,$(SCHEME))_clean.so: $(wildcard $(SCHEME)/clean/*.c) | re
|
||||
clean:
|
||||
rm -rf bin
|
||||
|
||||
.PHONY: format
|
||||
format:
|
||||
astyle --project crypto_*/*/*/*.[ch] common/*.[ch]
|
||||
|
||||
.PHONY: check-format
|
||||
check-format:
|
||||
astyle --dry-run --project crypto_*/*/*/*.[ch] common/*.[ch] | grep Formatted && exit 1 || exit 0
|
||||
|
||||
.PHONY: tidy
|
||||
tidy:
|
||||
$(MAKE) do-tidy
|
||||
@ -107,7 +99,6 @@ help:
|
||||
@echo "make run-valgrind SCHEME=scheme Run valgrind checks for SCHEME"
|
||||
@echo "make run-valgrind-all Run valgrind checks all schemes"
|
||||
@echo "make clean Clean up the bin/ folder"
|
||||
@echo "make format Automatically formats all the source code"
|
||||
@echo "make tidy SCHEME=scheme Runs the clang-tidy linter against SCHEME"
|
||||
@echo "make apply-tidy SCHEME=scheme Tries to automatically fix the issues found by clang-tidy in SCHEME"
|
||||
@echo "make tidy-all Runs the clang-tidy linter against all schemes"
|
||||
|
@ -92,6 +92,12 @@ class Implementation:
|
||||
return '{}{}_'.format(self.scheme.namespace_prefix(),
|
||||
self.name.upper()).replace('-', '')
|
||||
|
||||
def __str__(self):
|
||||
return "{} implementation of {}".format(self.name, self.scheme.name)
|
||||
|
||||
def __repr__(self):
|
||||
return "<Implementation({}, {})>".format(self.name, self.scheme.name)
|
||||
|
||||
|
||||
class KEM(Scheme):
|
||||
|
||||
|
30
test/test_format.py
Normal file
30
test/test_format.py
Normal file
@ -0,0 +1,30 @@
|
||||
import os
|
||||
from glob import glob
|
||||
|
||||
import pqclean
|
||||
from helpers import run_subprocess
|
||||
|
||||
|
||||
def test_formatting():
|
||||
for scheme in pqclean.Scheme.all_schemes():
|
||||
for implementation in scheme.implementations:
|
||||
yield check_format, implementation
|
||||
|
||||
|
||||
def check_format(implementation: pqclean.Implementation):
|
||||
cfiles = glob(os.path.join(implementation.path(), '*.c'))
|
||||
hfiles = glob(os.path.join(implementation.path(), '*.h'))
|
||||
run_subprocess(['astyle',
|
||||
'--dry-run',
|
||||
'--options=../.astylerc',
|
||||
*cfiles,
|
||||
*hfiles])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
import nose2
|
||||
nose2.main()
|
||||
except ImportError:
|
||||
import nose
|
||||
nose.runmodule()
|
載入中…
新增問題並參考
Block a user