diff options
Diffstat (limited to 'src/test/generate-sym-test.py')
-rwxr-xr-x | src/test/generate-sym-test.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/generate-sym-test.py b/src/test/generate-sym-test.py new file mode 100755 index 0000000..fdb9e3e --- /dev/null +++ b/src/test/generate-sym-test.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +import sys, re + +print('#include <stdio.h>') +for header in sys.argv[2:]: + print('#include "{}"'.format(header.split('/')[-1])) + +print(''' +/* We want to check deprecated symbols too, without complaining */ +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + +const void* symbols[] = {''') + +for line in open(sys.argv[1]): + match = re.search('^ +([a-zA-Z0-9_]+);', line) + if match: + s = match.group(1) + if s == 'sd_bus_object_vtable_format': + print(' &{},'.format(s)) + else: + print(' {},'.format(s)) + +print('''}; + +int main(void) { + unsigned i; + for (i = 0; i < sizeof(symbols)/sizeof(void*); i++) + printf("%p\\n", symbols[i]); + return 0; +}''') |