diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2022-06-12 21:42:51 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2022-06-30 10:35:26 +0200 |
commit | 42d824dee3f4a818513113802f086324730e2efa (patch) | |
tree | 99937987d212c21220bcd165983d2ce5ed6d3d13 /src/test/generate-sym-test.py | |
parent | sd-daemon: remove sd_ prefix from static function (diff) | |
download | systemd-42d824dee3f4a818513113802f086324730e2efa.tar.xz systemd-42d824dee3f4a818513113802f086324730e2efa.zip |
test-lib*-sym: print symbols names in addition to addresses
This makes it easier to see what the test is doing.
I converted the code to use f-strings. They are already used in other scripts
necessary for build, so IIUC this is OK.
Diffstat (limited to '')
-rwxr-xr-x | src/test/generate-sym-test.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/test/generate-sym-test.py b/src/test/generate-sym-test.py index 955d5e9699..8ed4d26fd3 100755 --- a/src/test/generate-sym-test.py +++ b/src/test/generate-sym-test.py @@ -11,21 +11,26 @@ print(''' /* We want to check deprecated symbols too, without complaining */ #pragma GCC diagnostic ignored "-Wdeprecated-declarations" -const void* symbols[] = {''') +const struct { + const char *name; + const void *symbol; +} symbols[] = {''') +count = 0 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)) + print(f' {{"{s}", &{s}}},') else: - print(' {},'.format(s)) + print(f' {{"{s}", {s}}},') + count += 1 -print('''}; +print(f'''}}; -int main(void) { - for (size_t i = 0; i < sizeof(symbols)/sizeof(void*); i++) - printf("%p\\n", symbols[i]); +int main(void) {{ + for (size_t i = 0; i < {count}; i++) + printf("%p: %s\\n", symbols[i].symbol, symbols[i].name); return 0; -}''') +}}''') |