def test_codegen(f): # reset Errors singleton errors = Errors() errors.reset() pyccel = Parser(f) ast = pyccel.parse() # Assert syntactic success assert (not errors.has_errors()) settings = {} ast = pyccel.annotate(**settings) # Assert semantic success assert (not errors.has_errors()) name = os.path.basename(f) name = os.path.splitext(name)[0] codegen = Codegen(ast, name) codegen.doprint(language='c') # Assert codegen success assert (not errors.has_errors())
def test_symbolic(f): pyccel = Parser(f) pyccel.parse() settings = {} ast = pyccel.annotate(**settings) name = os.path.basename(f) name = os.path.splitext(name)[0] codegen = Codegen(ast, name) codegen.doprint() # reset Errors singleton errors = Errors() errors.reset()
def test_codegen_errors(f): # reset Errors singleton errors = Errors() errors.reset() pyccel = Parser(f) ast = pyccel.parse() settings = {} ast = pyccel.annotate(**settings) name = os.path.basename(f) name = os.path.splitext(name)[0] codegen = Codegen(ast, name) with pytest.raises(PyccelCodegenError): codegen.doprint() assert (errors.has_errors())