From b48696539dc58ccf98db461c67aa4559329c8603 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Fri, 11 Dec 2020 20:13:00 +0100 Subject: [PATCH] tests: Verify there are no duplicate symbols exported --- tests/Makefile.am | 3 ++- tests/test-duplicate-symbols.sh | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100755 tests/test-duplicate-symbols.sh diff --git a/tests/Makefile.am b/tests/Makefile.am index e241b615..a469c0e5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -8,7 +8,8 @@ dist_noinst_SCRIPTS = common.sh \ test-pkcs11-tool-allowed-mechanisms.sh TESTS = \ - test-manpage.sh \ + test-manpage.sh \ + test-duplicate-symbols.sh \ test-pkcs11-tool-sign-verify.sh \ test-pkcs11-tool-test.sh \ test-pkcs11-tool-allowed-mechanisms.sh diff --git a/tests/test-duplicate-symbols.sh b/tests/test-duplicate-symbols.sh new file mode 100755 index 00000000..2b53a0af --- /dev/null +++ b/tests/test-duplicate-symbols.sh @@ -0,0 +1,20 @@ +#!/bin/bash +SOURCE_PATH=../ + +EXPORTS=`find "${SOURCE_PATH}" -name "*exports"` + +ERRORS=0 +for E in $EXPORTS; do + NUM_DUPES=`sort $E | uniq -D | wc -l` + if [[ "$NUM_DUPES" != 0 ]]; then + echo "There are duplicate symbols in '$E'" + ERRORS=1 + fi +done + +if [[ "$ERRORS" = 1 ]]; then + echo "There are duplicate symbols" + exit 1 +fi + +exit $ERRORS