Improve coding style and consistancy
- Replace uses of mbed and gnu with mbedtls and gnutls respectivley.
- Uses sys.exit() rather than exit()
- Rename format() as it is an inbuilt python function
- Add error information if incorrect arguments are passsed to
translate_ciphers.py
Signed-off-by: Joe Subbiani <joe.subbiani@arm.com>
diff --git a/tests/test_translate_format.sh b/tests/test_translate_ciphers_format.sh
similarity index 95%
rename from tests/test_translate_format.sh
rename to tests/test_translate_ciphers_format.sh
index 241db47..9b3b4bb 100755
--- a/tests/test_translate_format.sh
+++ b/tests/test_translate_ciphers_format.sh
@@ -121,13 +121,13 @@
# Upon fail, print them to view the differences
if [ "$Mt_CIPHERS" != "$M_CIPHERS" ]
then
- echo "MBED Translated: $M_CIPHERS"
- echo "MBED Original: $Mt_CIPHERS"
+ echo "MBEDTLS Translated: $M_CIPHERS"
+ echo "MBEDTLS Original: $Mt_CIPHERS"
fi
if [ "$Gt_CIPHERS" != "$G_CIPHERS" ]
then
- echo "GNU Translated: $G_CIPHERS"
- echo "GNU Original: $Gt_CIPHERS"
+ echo "GNUTLS Translated: $G_CIPHERS"
+ echo "GNUTLS Original: $Gt_CIPHERS"
fi
if [ "$Ot_CIPHERS" != "$O_CIPHERS" ]
then
diff --git a/tests/test_translate_names.py b/tests/test_translate_ciphers_names.py
similarity index 97%
rename from tests/test_translate_names.py
rename to tests/test_translate_ciphers_names.py
index d018c10..70b2a8f 100755
--- a/tests/test_translate_names.py
+++ b/tests/test_translate_ciphers_names.py
@@ -21,7 +21,7 @@
#
# Test translate_ciphers.py by running every MBedTLS ciphersuite name
# combination through the translate functions and comparing them to their
-# correct GNU or OpenSSL counterpart.
+# correct GNUTLS or OpenSSL counterpart.
from translate_ciphers import *
@@ -170,21 +170,17 @@
"PSK-3DES-EDE-CBC-SHA",
"PSK-AES128-CBC-SHA",
"PSK-AES256-CBC-SHA",
-
- #"PSK-DES-CBC3-SHA",
- #"PSK-AES128-SHA",
- #"PSK-AES256-SHA",
]
for i in range(len(m_ciphers)):
- g = translate_gnu(m_ciphers[i])
+ g = translate_gnutls(m_ciphers[i])
assert_equal(g, g_ciphers[i])
o = translate_ossl(m_ciphers[i])
assert_equal(o, o_ciphers[i])
-def test_mbed_ossl_common():
+def test_mbedtls_ossl_common():
m_ciphers = [
"TLS-ECDH-ECDSA-WITH-NULL-SHA",
"TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA",
@@ -235,7 +231,6 @@
"DES-CBC-SHA",
"EDH-RSA-DES-CBC-SHA",
- #"DHE-RSA-DES-CBC-SHA",
"ECDHE-ARIA256-GCM-SHA384",
"DHE-RSA-ARIA256-GCM-SHA384",
@@ -260,7 +255,7 @@
o = translate_ossl(m_ciphers[i])
assert_equal(o, o_ciphers[i])
-def test_mbed_gnu_common():
+def test_mbedtls_gnutls_common():
m_ciphers = [
"TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
"TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
@@ -442,9 +437,9 @@
for i in range(len(m_ciphers)):
- g = translate_gnu(m_ciphers[i])
+ g = translate_gnutls(m_ciphers[i])
assert_equal(g, g_ciphers[i])
test_all_common()
-test_mbed_ossl_common()
-test_mbed_gnu_common()
+test_mbedtls_ossl_common()
+test_mbedtls_gnutls_common()
diff --git a/tests/translate_ciphers.py b/tests/translate_ciphers.py
index d6b604d..0f76cf5 100755
--- a/tests/translate_ciphers.py
+++ b/tests/translate_ciphers.py
@@ -19,20 +19,20 @@
#
# Purpose
#
-# Translate ciphersuite names in MBedTLS format to OpenSSL and GNU
+# Translate ciphersuite names in MBedTLS format to OpenSSL and GNUTLS
# standards.
#
# Format and analyse strings past in via input arguments to match
# the expected strings utilised in compat.sh.
#
-# sys.argv[1] should be "g" or "o" for GNU or OpenSSL.
+# sys.argv[1] should be "g" or "o" for GNUTLS or OpenSSL.
# sys.argv[2] should be a string containing one or more
# ciphersuite names.
import re
import sys
-def translate_gnu(m_cipher):
+def translate_gnutls(m_cipher):
# Remove "TLS-"
# Replace "-WITH-" with ":+"
# Remove "EDE"
@@ -97,23 +97,35 @@
return m_cipher
-def format(mode, ciphers):
- ciphers = ciphers.split()
- t_ciphers = []
- if mode == "g":
- for i in ciphers:
- t_ciphers.append(translate_gnu(i))
- if mode == "o":
- for i in ciphers:
- t_ciphers.append(translate_ossl(i))
- return " ".join(t_ciphers)
+def format_ciphersuite_names(mode, ciphers):
+ #ciphers = ciphers.split()
+ #t_ciphers = []
+ #if mode == "g":
+ # for i in ciphers:
+ # t_ciphers.append(translate_gnutls(i))
+ #elif mode == "o":
+ # for i in ciphers:
+ # t_ciphers.append(translate_ossl(i))
+ #else:
+ # print("Incorrect use of argument 1, should be either \"g\" or \"o\"")
+ # exit(1)
+ #return " ".join(t_ciphers)
+ try:
+ t = {"g": translate_gnutls, "o": translate_ossl}[mode]
+ return " ".join(t(c) for c in ciphers.split())
+ except Exception as E:
+ if E != mode: print(E)
+ else: print("Incorrect use of argument 1, should be either \"g\" or \"o\"")
+ sys.exit(1)
def main():
- # print command line arguments
- if len(sys.argv) <= 2:
- exit(1)
- else:
- print(format(sys.argv[1], sys.argv[2]))
+ if len(sys.argv) != 3:
+ print("""Incorrect number of arguments.
+The first argument with either an \"o\" for OpenSSL or \"g\" for GNUTLS.
+The second argument should a single space seperated string of MBedTLS ciphersuite names""")
+ sys.exit(1)
+ print(format_ciphersuite_names(sys.argv[1], sys.argv[2]))
+ sys.exit(0)
if __name__ == "__main__":
main()