Put back list-identifiers.sh as a thin wrapper around the python script

Signed-off-by: Yuto Takano <yuto.takano@arm.com>
diff --git a/tests/scripts/list-identifiers.sh b/tests/scripts/list-identifiers.sh
new file mode 100755
index 0000000..49ecc93
--- /dev/null
+++ b/tests/scripts/list-identifiers.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#
+# Create a file named identifiers containing identifiers from internal header
+# files, based on the --internal flag.
+# Outputs the line count of the file to stdout.
+# A very thin wrapper around list_internal_identifiers.py for backwards
+# compatibility.
+# Must be run from Mbed TLS root.
+#
+# Usage: list-identifiers.sh [ -i | --internal ]
+#
+# 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 Mbed TLS root" >&2
+    exit 1
+fi
+
+INTERNAL=""
+
+until [ -z "${1-}" ]
+do
+  case "$1" in
+    -i|--internal)
+      INTERNAL="1"
+      ;;
+    *)
+      # print error
+      echo "Unknown argument: '$1'"
+      exit 1
+      ;;
+  esac
+  shift
+done
+
+if [ $INTERNAL ]
+then
+    tests/scripts/list_internal_identifiers.py
+    wc -l identifiers
+else
+    cat <<EOF
+Sorry, this script has to be called with --internal.
+
+This script exists solely for backwards compatibility for the previous ieration
+of list-identifiers.sh, of which only the --internal option remains in use. It
+is a thin wrapper around list_internal_identifiers.py.
+
+check-names.sh, which used to depend on this script, has been replaced with
+check_names.py and is now self-complete.
+EOF
+fi
\ No newline at end of file
diff --git a/tests/scripts/list_internal_identifiers.py b/tests/scripts/list_internal_identifiers.py
index 822486a..f18491b 100755
--- a/tests/scripts/list_internal_identifiers.py
+++ b/tests/scripts/list_internal_identifiers.py
@@ -16,7 +16,7 @@
 # limitations under the License.
 
 """
-This script generates a file called _identifiers that contains all Mbed TLS
+This script generates a file called identifiers that contains all Mbed TLS
 identifiers found on internal headers. This is the equivalent of what was
 previously `list-identifiers.sh --internal`, and is useful for generating an
 exclusion file list for ABI/API checking, since we do not promise compatibility
@@ -39,7 +39,7 @@
         formatter_class=argparse.RawDescriptionHelpFormatter,
         description=(
             "This script writes a list of parsed identifiers in internal "
-            "headers to \"_identifiers\". This is useful for generating a list "
+            "headers to \"identifiers\". This is useful for generating a list "
             "of names to exclude from API/ABI compatibility checking. "))
 
     parser.parse_args()
@@ -50,9 +50,10 @@
             "include/mbedtls/*_internal.h",
             "library/*.h"
         ])
+        result.sort(key=lambda x: x.name)
 
         identifiers = ["{}\n".format(match.name) for match in result]
-        with open("_identifiers", "w", encoding="utf-8") as f:
+        with open("identifiers", "w", encoding="utf-8") as f:
             f.writelines(identifiers)
 
     except Exception: # pylint: disable=broad-except