blob: 770d97edf8741ed7e3e10f51c9ffe53d3d6acdea [file] [log] [blame]
Eli Bendersky5b09f552011-10-16 06:01:54 +02001import sys
2import unittest
3
4sys.path.insert(0, '..')
5from pycparser import parse_file, c_ast
6
7# Portable cpp path for Windows and Linux/Unix
8CPPPATH = '../utils/cpp.exe' if sys.platform == 'win32' else 'cpp'
9
10
11# Test successful parsing
12#
13class TestParsing(unittest.TestCase):
Eli Bendersky3921e8e2010-05-21 09:05:39 +030014 def test_without_cpp(self):
Eli Bendersky5b09f552011-10-16 06:01:54 +020015 ast = parse_file('c_files/example_c_file.c')
16 self.failUnless(isinstance(ast, c_ast.FileAST))
17
Eli Bendersky3921e8e2010-05-21 09:05:39 +030018 def test_with_cpp(self):
Eli Bendersky5b09f552011-10-16 06:01:54 +020019 ast = parse_file('c_files/memmgr.c', use_cpp=True,
20 cpp_path=CPPPATH,
21 cpp_args=r'-I../utils/fake_libc_include')
22 self.failUnless(isinstance(ast, c_ast.FileAST))
23
24 ast2 = parse_file('c_files/year.c', use_cpp=True,
25 cpp_path=CPPPATH,
26 cpp_args=r'-I../utils/fake_libc_include')
27
28 self.failUnless(isinstance(ast2, c_ast.FileAST))
29
30
31if __name__ == '__main__':
32 unittest.main()
33
Eli Bendersky3921e8e2010-05-21 09:05:39 +030034
Eli Bendersky5b09f552011-10-16 06:01:54 +020035
36
37