test: change the static symbol leak test to a shell script
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 18 Feb 2020 09:21:47 +0000 (19:21 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 18 Feb 2020 22:34:55 +0000 (08:34 +1000)
Easier to call from meson this way

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test/Makefile.am
test/test-static-symbols-leak.sh [new file with mode: 0755]

index 4e923751060b70656e9bd8471b3a44dc16003b52..5f0c008d9b899ae7a2806437838e8bf163095078 100644 (file)
@@ -130,28 +130,14 @@ endif # GCOV_ENABLED
 endif # ENABLE_RUNTIME_TESTS
 
 if ENABLE_STATIC_SYMBOL_LEAKS_TEST
-# Hack to check for leaking symbols in the static library.
-# See https://bugs.freedesktop.org/show_bug.cgi?id=82785
-# Note the spaces in the expressions! After the first grep, each line
-# is " T symbol_name"
-static-symbol-leaks: test-static-link
-       $(AM_V_GEN)(\
-               $(NM) --extern-only $(builddir)/test-static-link | \
-                       grep -o -e " T .*" | \
-                       grep -v -e " main$$" \
-                               -e " atexit" \
-                               -e " mangle_path" \
-                               -e " *gcov.*" \
-                               -e " _.*" \
-                               -e " libevdev_*" && \
-                               echo "Leaking symbols found" && \
-                               exit 1 || exit 0 \
-       )
+static-symbol-leaks: test-static-link test-static-symbols-leak.sh
+       $(AM_V_GEN) $(srcdir)/test-static-symbols-leak.sh $(builddir)
 
 check_local_deps += static-symbol-leaks
+
 endif # HAVE_NM
 
-EXTRA_DIST = valgrind.suppressions  generate-gcov-report.sh
+EXTRA_DIST = valgrind.suppressions  generate-gcov-report.sh test-static-symbols-leak.sh
 
 check-local: $(check_local_deps)
 
diff --git a/test/test-static-symbols-leak.sh b/test/test-static-symbols-leak.sh
new file mode 100755 (executable)
index 0000000..74ff3b9
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# Hack to check for leaking symbols in the static library.
+# See https://bugs.freedesktop.org/show_bug.cgi?id=82785
+# Note the spaces in the expressions! After the first grep, each line
+# is " T symbol_name"
+
+builddir="$1"
+
+test -f "$builddir/test-static-link" || (echo "Unable to find test file" && exit 1)
+nm --extern-only "$builddir/test-static-link" |
+       grep -o -e " T .*" | \
+       grep -v -e " main\$" \
+               -e " atexit" \
+               -e " mangle_path" \
+               -e " *gcov.*" \
+               -e " _.*" \
+               -e " libevdev_*" && \
+               echo "Leaking symbols found" && exit 1 || exit 0