def verify(self, ffi, preamble, **kwargs): tst_file = ffiplatform._get_test_file() with tst_file.open('w') as f: f.write('#include <stdio.h>\n') f.write(preamble + "\n\n") f.write('int main() {\n') for name, tp in ffi._parser._declarations.iteritems(): tp.verifier_declare(self, f) f.write(' return 0;\n') f.write('}\n') f.close() exe_name = platform.compile([str(tst_file)], ExternalCompilationInfo(**kwargs)) out = platform.execute(exe_name) assert out.returncode == 0 outlines = out.out.splitlines()
from platformer import platform, ExternalCompilationInfo, udir eci = ExternalCompilationInfo(includes=["math.h"]) c_file = udir.join('x.c') c_file.write('int main() { printf("%f\\n", pow(2.0, 3.0)); return 0; }') exe_file = platform.compile([c_file], eci) res = platform.execute(exe_file) assert res.returncode == 0 assert res.out.startswith('8.0')