Eli Bendersky | 3921e8e | 2010-05-21 09:05:39 +0300 | [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):
|
| 14 | def test_without_cpp(self): |
| 15 | ast = parse_file('c_files/example_c_file.c')
|
| 16 | self.failUnless(isinstance(ast, c_ast.FileAST))
|
| 17 |
|
| 18 | def test_with_cpp(self): |
| 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 |
|
| 34 | |
| 35 |
|
| 36 |
|
| 37 |
|