Eli Bendersky | 5b09f55 | 2011-10-16 06:01:54 +0200 | [diff] [blame^] | 1 | import sys |
| 2 | import unittest |
| 3 | |
| 4 | sys.path.insert(0, '..') |
| 5 | from pycparser import parse_file, c_ast |
| 6 | |
| 7 | # Portable cpp path for Windows and Linux/Unix |
| 8 | CPPPATH = '../utils/cpp.exe' if sys.platform == 'win32' else 'cpp' |
| 9 | |
| 10 | |
| 11 | # Test successful parsing |
| 12 | # |
| 13 | class TestParsing(unittest.TestCase): |
Eli Bendersky | 3921e8e | 2010-05-21 09:05:39 +0300 | [diff] [blame] | 14 | def test_without_cpp(self): |
Eli Bendersky | 5b09f55 | 2011-10-16 06:01:54 +0200 | [diff] [blame^] | 15 | ast = parse_file('c_files/example_c_file.c') |
| 16 | self.failUnless(isinstance(ast, c_ast.FileAST)) |
| 17 | |
Eli Bendersky | 3921e8e | 2010-05-21 09:05:39 +0300 | [diff] [blame] | 18 | def test_with_cpp(self): |
Eli Bendersky | 5b09f55 | 2011-10-16 06:01:54 +0200 | [diff] [blame^] | 19 | 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 | |
| 31 | if __name__ == '__main__': |
| 32 | unittest.main() |
| 33 | |
Eli Bendersky | 3921e8e | 2010-05-21 09:05:39 +0300 | [diff] [blame] | 34 | |
Eli Bendersky | 5b09f55 | 2011-10-16 06:01:54 +0200 | [diff] [blame^] | 35 | |
| 36 | |
| 37 | |