blob: ed65306a001be7cc3272160cbfd68b966e691057 [file] [log] [blame]
Manuel Pégourié-Gonnarde137ea62015-04-09 10:47:44 +02001#!/bin/sh
2
3set -eu
4
5tests/scripts/list-macros.sh
6tests/scripts/list-enum-consts.pl
7tests/scripts/list-identifiers.sh
8tests/scripts/list-symbols.sh
9
10FAIL=0
11
12printf "Exported symbols declared in header: "
13UNDECLARED=$( diff exported-symbols identifiers | sed -n -e 's/^< //p' )
Manuel Pégourié-Gonnard9afdc832015-08-04 17:15:13 +020014if [ "x$UNDECLARED" = "x" ]; then
Manuel Pégourié-Gonnarde137ea62015-04-09 10:47:44 +020015 echo "PASS"
16else
17 echo "FAIL"
18 echo "$UNDECLARED"
19 FAIL=1
20fi
21
22diff macros identifiers | sed -n -e 's/< //p' > actual-macros
23
24for THING in actual-macros enum-consts; do
25 printf "Names of $THING: "
26 test -r $THING
27 BAD=$( grep -v '^MBEDTLS_[0-9A-Z_]*[0-9A-Z]$' $THING || true )
28 if [ "x$BAD" = "x" ]; then
29 echo "PASS"
30 else
31 echo "FAIL"
32 echo "$BAD"
33 FAIL=1
34 fi
35done
36
37for THING in identifiers; do
38 printf "Names of $THING: "
39 test -r $THING
40 BAD=$( grep -v '^mbedtls_[0-9a-z_]*[0-9a-z]$' $THING || true )
41 if [ "x$BAD" = "x" ]; then
42 echo "PASS"
43 else
44 echo "FAIL"
45 echo "$BAD"
46 FAIL=1
47 fi
48done
49
Manuel Pégourié-Gonnardf9aae832015-04-09 12:20:53 +020050printf "Likely typos: "
51sort -u actual-macros enum-consts > _caps
52HEADERS=$( ls include/mbedtls/*.h | egrep -v 'compat-1\.3\.h' )
53NL='
54'
Manuel Pégourié-Gonnard6ad5d352015-05-28 15:08:28 +020055sed -n 's/MBED..._[A-Z0-9_]*/\'"$NL"'&\'"$NL"/gp \
Manuel Pégourié-Gonnardf9aae832015-04-09 12:20:53 +020056 $HEADERS library/*.c \
57 | grep MBEDTLS | sort -u > _MBEDTLS_XXX
58TYPOS=$( diff _caps _MBEDTLS_XXX | sed -n 's/^> //p' \
59 | egrep -v 'XXX|__|_$|^MBEDTLS_CONFIG_FILE$' || true )
60rm _MBEDTLS_XXX _caps
Manuel Pégourié-Gonnard9afdc832015-08-04 17:15:13 +020061if [ "x$TYPOS" = "x" ]; then
Manuel Pégourié-Gonnardf9aae832015-04-09 12:20:53 +020062 echo "PASS"
63else
64 echo "FAIL"
65 echo "$TYPOS"
66 FAIL=1
67fi
68
Manuel Pégourié-Gonnarde137ea62015-04-09 10:47:44 +020069if [ "$FAIL" -eq 0 ]; then
70 rm macros actual-macros enum-consts identifiers exported-symbols
71 echo "PASSED"
72 exit 0
73else
74 echo "FAILED"
75 exit 1
76fi