From ee20f3698aa39eb4eca03e704f88edb1790f1df1 Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Mon, 27 Sep 2021 20:14:12 +0200 Subject: [PATCH] Remove check-names.sh and now-unused helper scripts Signed-off-by: Gilles Peskine --- tests/scripts/check-names.sh | 128 ------------------------------ tests/scripts/list-enum-consts.pl | 53 ------------- tests/scripts/list-macros.sh | 39 --------- tests/scripts/list-symbols.sh | 54 ------------- 4 files changed, 274 deletions(-) delete mode 100755 tests/scripts/check-names.sh delete mode 100755 tests/scripts/list-enum-consts.pl delete mode 100755 tests/scripts/list-macros.sh delete mode 100755 tests/scripts/list-symbols.sh diff --git a/tests/scripts/check-names.sh b/tests/scripts/check-names.sh deleted file mode 100755 index 293afa850..000000000 --- a/tests/scripts/check-names.sh +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/sh -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -eu - -if [ $# -ne 0 ] && [ "$1" = "--help" ]; then - cat <check-names.err - trap 'echo "FAILED UNEXPECTEDLY, status=$?"; - cat check-names.err' EXIT - set -x -fi - -printf "Analysing source code...\n" - -sh $trace tests/scripts/list-macros.sh -tests/scripts/list-enum-consts.pl -sh $trace tests/scripts/list-identifiers.sh -sh $trace tests/scripts/list-symbols.sh - -FAIL=0 - -printf "\nExported 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 %s: ' "$THING" - test -r $THING - BAD=$( grep -E -v '^(MBEDTLS|PSA)_[0-9A-Z_]*[0-9A-Z]$' $THING || true ) - UNDERSCORES=$( grep -E '.*__.*' $THING || true ) - - if [ "x$BAD" = "x" ] && [ "x$UNDERSCORES" = "x" ]; then - echo "PASS" - else - echo "FAIL" - echo "$BAD" - echo "$UNDERSCORES" - FAIL=1 - fi -done - -for THING in identifiers; do - printf 'Names of %s: ' "$THING" - test -r $THING - BAD=$( grep -E -v '^(mbedtls|psa)_[0-9a-z_]*[0-9a-z]$' $THING || true ) - if [ "x$BAD" = "x" ]; then - echo "PASS" - else - echo "FAIL" - echo "$BAD" - FAIL=1 - fi -done - -printf "Likely typos: " -sort -u actual-macros enum-consts > _caps -HEADERS=$( ls include/mbedtls/*.h include/psa/*.h | egrep -v 'compat-1\.3\.h' ) -HEADERS="$HEADERS library/*.h" -HEADERS="$HEADERS 3rdparty/everest/include/everest/everest.h 3rdparty/everest/include/everest/x25519.h" -LIBRARY="$( ls library/*.c )" -LIBRARY="$LIBRARY 3rdparty/everest/library/everest.c 3rdparty/everest/library/x25519.c" -NL=' -' -sed -n 's/MBED..._[A-Z0-9_]*/\'"$NL"'&\'"$NL"/gp \ - $HEADERS $LIBRARY \ - | grep MBEDTLS | sort -u > _MBEDTLS_XXX -TYPOS=$( diff _caps _MBEDTLS_XXX | sed -n 's/^> //p' \ - | egrep -v 'XXX|__|_$|^MBEDTLS_.*CONFIG_FILE$' || true ) -rm _MBEDTLS_XXX _caps -if [ "x$TYPOS" = "x" ]; then - echo "PASS" -else - echo "FAIL" - echo "$TYPOS" - FAIL=1 -fi - -if [ -n "$trace" ]; then - set +x - trap - EXIT - rm check-names.err -fi - -printf "\nOverall: " -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 deleted file mode 100755 index 88a062e71..000000000 --- a/tests/scripts/list-enum-consts.pl +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env perl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -use warnings; -use strict; - -use utf8; -use open qw(:std utf8); - --d 'include/mbedtls' or die "$0: must be run from root\n"; - -@ARGV = grep { ! /compat-1\.3\.h/ } ; -push @ARGV, "3rdparty/everest/include/everest/everest.h"; -push @ARGV, "3rdparty/everest/include/everest/x25519.h"; -push @ARGV, glob("library/*.h"); - -my @consts; -my $state = 'out'; -while (<>) -{ - if( $state eq 'out' and /^(typedef )?enum \{/ ) { - $state = 'in'; - } elsif( $state eq 'out' and /^(typedef )?enum/ ) { - $state = 'start'; - } elsif( $state eq 'start' and /{/ ) { - $state = 'in'; - } elsif( $state eq 'in' and /}/ ) { - $state = 'out'; - } elsif( $state eq 'in' and not /^#/) { - s/=.*//; s!/\*.*!!; s/,.*//; s/\s+//g; chomp; - push @consts, $_ if $_; - } -} - -open my $fh, '>', 'enum-consts' or die; -print $fh "$_\n" for sort @consts; -close $fh or die; - -printf "%8d enum-consts\n", scalar @consts; diff --git a/tests/scripts/list-macros.sh b/tests/scripts/list-macros.sh deleted file mode 100755 index 8ed957147..000000000 --- a/tests/scripts/list-macros.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -eu - -if [ -d include/mbedtls ]; then :; else - echo "$0: must be run from root" >&2 - exit 1 -fi - -HEADERS=$( ls include/mbedtls/*.h include/psa/*.h tests/include/test/drivers/*.h | egrep -v 'compat-1\.3\.h' ) -HEADERS="$HEADERS library/*.h" -HEADERS="$HEADERS 3rdparty/everest/include/everest/everest.h 3rdparty/everest/include/everest/x25519.h" - -sed -n -e 's/.*#define \([a-zA-Z0-9_]*\).*/\1/p' $HEADERS \ - | egrep -v '^(asm|inline|EMIT|_CRT_SECURE_NO_DEPRECATE)$|^MULADDC_' \ - | sort -u > macros - -# For include/mbedtls/config_psa.h need to ignore the MBEDTLS_xxx define -# in that file since they may not be defined in include/psa/crypto_config.h -# This line renames the potentially missing defines to ones that should -# be present. -sed -ne 's/^MBEDTLS_PSA_BUILTIN_/MBEDTLS_PSA_ACCEL_/p' >macros - -wc -l macros diff --git a/tests/scripts/list-symbols.sh b/tests/scripts/list-symbols.sh deleted file mode 100755 index 8bdc55f81..000000000 --- a/tests/scripts/list-symbols.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -eu - -if [ -d include/mbedtls ]; then :; else - echo "$0: must be run from root" >&2 - exit 1 -fi - -if grep -i cmake Makefile >/dev/null; then - echo "$0: not compatible with cmake" >&2 - exit 1 -fi - -cp include/mbedtls/config.h include/mbedtls/config.h.bak -scripts/config.py full -make clean -make_ret= -CFLAGS=-fno-asynchronous-unwind-tables make lib \ - >list-symbols.make.log 2>&1 || - { - make_ret=$? - echo "Build failure: CFLAGS=-fno-asynchronous-unwind-tables make lib" - cat list-symbols.make.log >&2 - } -rm list-symbols.make.log -mv include/mbedtls/config.h.bak include/mbedtls/config.h -if [ -n "$make_ret" ]; then - exit "$make_ret" -fi - -if uname | grep -F Darwin >/dev/null; then - nm -gUj library/libmbed*.a 2>/dev/null | sed -n -e 's/^_//p' | grep -v -e ^FStar -e ^Hacl -elif uname | grep -F Linux >/dev/null; then - nm -og library/libmbed*.a | grep -v '^[^ ]*: *U \|^$\|^[^ ]*:$' | sed 's/^[^ ]* . //' | grep -v -e ^FStar -e ^Hacl -fi | sort > exported-symbols -make clean - -wc -l exported-symbols