summaryrefslogtreecommitdiffstats
path: root/src/test/generate-sym-test.py
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-06-12 21:42:51 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-06-30 10:35:26 +0200
commit42d824dee3f4a818513113802f086324730e2efa (patch)
tree99937987d212c21220bcd165983d2ce5ed6d3d13 /src/test/generate-sym-test.py
parentsd-daemon: remove sd_ prefix from static function (diff)
downloadsystemd-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-xsrc/test/generate-sym-test.py21
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;
-}''')
+}}''')