Add test script check-names.sh
diff --git a/tests/scripts/check-names.sh b/tests/scripts/check-names.sh
new file mode 100755
index 0000000..bc8b6f6
--- /dev/null
+++ b/tests/scripts/check-names.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+set -eu
+
+tests/scripts/list-macros.sh
+tests/scripts/list-enum-consts.pl
+tests/scripts/list-identifiers.sh
+tests/scripts/list-symbols.sh
+
+FAIL=0
+
+printf "Exported symbols declared in header: "
+UNDECLARED=$( diff exported-symbols identifiers | sed -n -e 's/^< //p' )
+if [ "x$UNDECLARED" == "x" ]; then
+    echo "PASS"
+else
+    echo "FAIL"
+    echo "$UNDECLARED"
+    FAIL=1
+fi
+
+diff macros identifiers | sed -n -e 's/< //p' > actual-macros
+
+for THING in actual-macros enum-consts; do
+    printf "Names of $THING: "
+    test -r $THING
+    BAD=$( grep -v '^MBEDTLS_[0-9A-Z_]*[0-9A-Z]$' $THING || true )
+    if [ "x$BAD" = "x" ]; then
+        echo "PASS"
+    else
+        echo "FAIL"
+        echo "$BAD"
+        FAIL=1
+    fi
+done
+
+for THING in identifiers; do
+    printf "Names of $THING: "
+    test -r $THING
+    BAD=$( grep -v '^mbedtls_[0-9a-z_]*[0-9a-z]$' $THING || true )
+    if [ "x$BAD" = "x" ]; then
+        echo "PASS"
+    else
+        echo "FAIL"
+        echo "$BAD"
+        FAIL=1
+    fi
+done
+
+if [ "$FAIL" -eq 0 ]; then
+    rm macros actual-macros enum-consts identifiers exported-symbols
+    echo "PASSED"
+    exit 0
+else
+    echo "FAILED"
+    exit 1
+fi
diff --git a/tests/scripts/list-enum-consts.pl b/tests/scripts/list-enum-consts.pl
index bbb9490..c8e2636 100755
--- a/tests/scripts/list-enum-consts.pl
+++ b/tests/scripts/list-enum-consts.pl
@@ -8,7 +8,7 @@
 
 -d 'include/mbedtls' or die "$0: must be run from root\n";
 
-@ARGV = <include/mbedtls/*.h>;
+@ARGV = grep { ! /compat-1\.3\.h/ } <include/mbedtls/*.h>;
 
 my @consts;
 my $state = 'out';
diff --git a/tests/scripts/list-identifiers.sh b/tests/scripts/list-identifiers.sh
index e144cd2..130d9d6 100755
--- a/tests/scripts/list-identifiers.sh
+++ b/tests/scripts/list-identifiers.sh
@@ -7,7 +7,7 @@
     exit 1
 fi
 
-HEADERS=$( ls include/mbedtls/*.h | egrep -v 'bn_mul' )
+HEADERS=$( ls include/mbedtls/*.h | egrep -v 'compat-1\.3\.h|bn_mul' )
 
 rm -f identifiers
 
diff --git a/tests/scripts/list-macros.sh b/tests/scripts/list-macros.sh
index 7385946..3c84adb 100755
--- a/tests/scripts/list-macros.sh
+++ b/tests/scripts/list-macros.sh
@@ -7,7 +7,7 @@
     exit 1
 fi
 
-HEADERS=$( ls include/mbedtls/*.h )
+HEADERS=$( ls include/mbedtls/*.h | egrep -v 'compat-1\.3\.h' )
 
 sed -n -e 's/.*#define \([a-zA-Z0-9_]*\).*/\1/p' $HEADERS \
     | egrep -v '^(asm|inline|EMIT|_CRT_SECURE_NO_DEPRECATE)$|^MULADDC_' \
diff --git a/tmp/analyze-names.sh b/tmp/analyze-names.sh
deleted file mode 100755
index 36422ab..0000000
--- a/tmp/analyze-names.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-
-set -eu
-
-tmp/list-macros.sh
-tmp/list-enum-consts.pl
-tmp/list-identifiers.sh
-tmp/list-symbols.sh
-
-UNDECLARED=$( diff exported-symbols identifiers | sed -n -e 's/^< //p' )
-if [ "x$UNDECLARED" == "x" ]; then
-    echo "All exported symbols are declared in headers: good"
-else
-    echo "The following symbols are probably missing a 'static': $UNDECLARED"
-fi
-
-for THING in macros identifiers enum-consts; do
-    echo ''
-    echo "=== $THING ==="
-
-    NO_=$( grep -v _ $THING | tr '\n' ' ' )
-    echo "Without underscore: $NO_"
-
-    cut -f1 -d_ $THING | uniq -c | sort -nr > prefix-$THING
-    echo "By prefix: (10 most frequent, see prefix-$THING for full list)"
-    head -n 10 < prefix-$THING
-done
-
-echo ''; echo "=== all public names ==="
-sort -u macros identifiers enum-consts > public-names
-wc -l public-names
-
-
-NL='
-'
-sed -n 's/POLARSSL_[A-Z0-9_]*/\'"$NL"'&\'"$NL"/gp \
-    include/mbedtls/*.h tests/scripts/* scripts/* library/*.c configs/*.h \
-    | grep POLARSSL | sort -u > _POLARSSL_XXX
-diff public-names _POLARSSL_XXX | sed -n 's/^> //p' > extra-names
-rm _POLARSSL_XXX
-
-echo 'polarssl_zeroize' >> extra-names
-
-wc -l extra-names
-
-for THING in public-names extra-names; do
-    if grep '[^A-Za-z0-9_]' $THING; then
-        echo "invalid character in $THING" >&2
-        exit 1;
-    fi
-done