diff options
author | Eli Bendersky <eliben@gmail.com> | 2021-10-29 09:50:16 -0700 |
---|---|---|
committer | Eli Bendersky <eliben@gmail.com> | 2021-10-29 09:50:16 -0700 |
commit | 7beef72dea11cf421f6ab7fce81d8592776cf79f (patch) | |
tree | 88fd6b4dd43585adea3da64d053ddf0a5c415125 /examples | |
parent | 615317a473f09b9b9d444313ac15e52e7763c7c1 (diff) | |
download | pycparser-7beef72dea11cf421f6ab7fce81d8592776cf79f.tar.gz |
Add test that runs all examples and makes sure they don't crash
Diffstat (limited to 'examples')
-rw-r--r-- | examples/c_files/basic.c | 3 | ||||
-rw-r--r-- | examples/dump_ast.py | 5 | ||||
-rw-r--r-- | examples/func_defs_add_param.py | 3 | ||||
-rw-r--r-- | examples/rewrite_ast.py | 2 | ||||
-rw-r--r-- | examples/serialize_ast.py | 27 |
5 files changed, 27 insertions, 13 deletions
diff --git a/examples/c_files/basic.c b/examples/c_files/basic.c new file mode 100644 index 0000000..4cce7f6 --- /dev/null +++ b/examples/c_files/basic.c @@ -0,0 +1,3 @@ +int main() { + return 0; +} diff --git a/examples/dump_ast.py b/examples/dump_ast.py index b7c3273..e82d038 100644 --- a/examples/dump_ast.py +++ b/examples/dump_ast.py @@ -18,7 +18,10 @@ from pycparser import parse_file if __name__ == "__main__": argparser = argparse.ArgumentParser('Dump AST') - argparser.add_argument('filename', help='name of file to parse') + argparser.add_argument('filename', + default='examples/c_files/basic.c', + nargs='?', + help='name of file to parse') argparser.add_argument('--coord', help='show coordinates in the dump', action='store_true') args = argparser.parse_args() diff --git a/examples/func_defs_add_param.py b/examples/func_defs_add_param.py index 9eb35c9..e9a89d1 100644 --- a/examples/func_defs_add_param.py +++ b/examples/func_defs_add_param.py @@ -9,6 +9,9 @@ #----------------------------------------------------------------- from __future__ import print_function +import sys +sys.path.extend(['.', '..']) + from pycparser import c_parser, c_ast, c_generator text = r""" diff --git a/examples/rewrite_ast.py b/examples/rewrite_ast.py index 164abb5..ea9adb3 100644 --- a/examples/rewrite_ast.py +++ b/examples/rewrite_ast.py @@ -7,7 +7,9 @@ # License: BSD #----------------------------------------------------------------- from __future__ import print_function +import sys +sys.path.extend(['.', '..']) from pycparser import c_parser text = r""" diff --git a/examples/serialize_ast.py b/examples/serialize_ast.py index e0f8aa3..8669a0a 100644 --- a/examples/serialize_ast.py +++ b/examples/serialize_ast.py @@ -9,7 +9,9 @@ #----------------------------------------------------------------- from __future__ import print_function import pickle +import sys +sys.path.extend(['.', '..']) from pycparser import c_parser text = r""" @@ -19,18 +21,19 @@ void func(void) } """ -parser = c_parser.CParser() -ast = parser.parse(text) +if __name__ == '__main__': + parser = c_parser.CParser() + ast = parser.parse(text) -# Since AST nodes use __slots__ for faster attribute access and -# space saving, it needs Pickle's protocol version >= 2. -# The default version is 3 for python 3.x and 1 for python 2.7. -# You can always select the highest available protocol with the -1 argument. + # Since AST nodes use __slots__ for faster attribute access and + # space saving, it needs Pickle's protocol version >= 2. + # The default version is 3 for python 3.x and 1 for python 2.7. + # You can always select the highest available protocol with the -1 argument. -with open('ast', 'wb') as f: - pickle.dump(ast, f, protocol=-1) + with open('ast', 'wb') as f: + pickle.dump(ast, f, protocol=-1) -# Deserialize. -with open('ast', 'rb') as f: - ast = pickle.load(f) - ast.show() + # Deserialize. + with open('ast', 'rb') as f: + ast = pickle.load(f) + ast.show() |