]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-lib*-sym: print symbols names in addition to addresses
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 12 Jun 2022 19:42:51 +0000 (21:42 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 30 Jun 2022 08:35:26 +0000 (10:35 +0200)
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.

src/test/generate-sym-test.py

index 955d5e96997d8d16571abb937c5e11838c43b6d2..8ed4d26fd3b20d550191fa086b3f584b9bf7f646 100755 (executable)
@@ -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;
-}''')
+}}''')