1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-26 09:21:28 +00:00

Skip preprocessing when cpp unavailable

This commit is contained in:
Joost Rijneveld 2019-04-04 13:52:40 +02:00
parent 17fc0da52e
commit 97e428a0b7
No known key found for this signature in database
GPG Key ID: A4FE39CF49CBC553

View File

@ -7,6 +7,8 @@ This is ambiguous; compilers can freely choose `signed` or `unsigned` char.
import pqclean import pqclean
import pycparser import pycparser
import os import os
import unittest
import shutil
def test_char(): def test_char():
@ -25,6 +27,8 @@ def walk_tree(ast):
def check_char(implementation): def check_char(implementation):
if not shutil.which('cpp'):
raise unittest.SkipTest("C pre-processor (cpp) was not found.")
errors = [] errors = []
for fname in os.listdir(implementation.path()): for fname in os.listdir(implementation.path()):
if not fname.endswith(".c"): if not fname.endswith(".c"):
@ -34,6 +38,7 @@ def check_char(implementation):
os.path.join(implementation.path(), fname), os.path.join(implementation.path(), fname),
use_cpp=True, use_cpp=True,
cpp_args=[ cpp_args=[
'-std=c99',
'-nostdinc', # pycparser cannot deal with e.g. __attribute__ '-nostdinc', # pycparser cannot deal with e.g. __attribute__
'-I{}'.format(os.path.join(tdir, "../common")), '-I{}'.format(os.path.join(tdir, "../common")),
# necessary to mock e.g. <stdint.h> # necessary to mock e.g. <stdint.h>