diff --git a/tests/compat.sh b/tests/compat.sh
index 37df940..d63fc06 100755
--- a/tests/compat.sh
+++ b/tests/compat.sh
@@ -35,7 +35,6 @@
 FAILED=0
 SKIPPED=0
 SRVMEM=0
-LIST_TEST_CASE=0
 
 # default commands, can be overridden by the environment
 : ${M_SRV:=../programs/ssl/ssl_server2}
@@ -114,6 +113,14 @@
     printf "     --list-test-case\tList all potential test cases (No Execution)\n"
 }
 
+# print_test_case <CLIENT> <SERVER> <STANDARD_CIPHER_SUITE>
+print_test_case() {
+    for i in $3; do
+        uniform_title $1 $2 $i
+        echo $TITLE
+    done
+}
+
 list_test_case() {
     reset_ciphersuites
     for TYPE in $TYPES; do
@@ -126,11 +133,11 @@
     for VERIFY in $VERIFIES; do
         VERIF=$(echo $VERIFY | tr '[:upper:]' '[:lower:]')
         for MODE in $MODES; do
-            print_test_title m O "$O_CIPHERS"
-            print_test_title O m "$O_CIPHERS"
-            print_test_title m G "$G_CIPHERS"
-            print_test_title G m "$G_CIPHERS"
-            print_test_title m m "$M_CIPHERS"
+            print_test_case m O "$O_CIPHERS"
+            print_test_case O m "$O_CIPHERS"
+            print_test_case m G "$G_CIPHERS"
+            print_test_case G m "$G_CIPHERS"
+            print_test_case m m "$M_CIPHERS"
         done
     done
 }
@@ -163,7 +170,6 @@
                 MEMCHECK=1
                 ;;
             --list-test-case)
-                LIST_TEST_CASE=1
                 list_test_case
                 exit 0
                 ;;
@@ -818,21 +824,21 @@
     echo "EXIT: $EXIT" >> $CLI_OUT
 }
 
-# print_test_title <CLIENT> <SERVER> <STANDARD_CIPHER_SUITE>
-print_test_title() {
-    for i in $3; do
-        TITLE="$1->$2 $MODE,$VERIF $i"
-        DOTS72="........................................................................"
-        printf "%s %.*s " "$TITLE" "$((71 - ${#TITLE}))" "$DOTS72"
-        [ $LIST_TEST_CASE -eq 1 ] && printf "\n"
-    done
+# uniform_title <CLIENT> <SERVER> <STANDARD_CIPHER_SUITE>
+# $TITLE is considered as test case description for both --list-test-case and
+# MBEDTLS_TEST_OUTCOME_FILE. This function aims to control the format of
+# each test case description.
+uniform_title() {
+    TITLE="$1->$2 $MODE,$VERIF $3"
 }
 
 # run_client PROGRAM_NAME STANDARD_CIPHER_SUITE PROGRAM_CIPHER_SUITE
 run_client() {
     # announce what we're going to do
     TESTS=$(( $TESTS + 1 ))
-    print_test_title "${1%"${1#?}"}" "${SERVER_NAME%"${SERVER_NAME#?}"}" $2
+    uniform_title "${1%"${1#?}"}" "${SERVER_NAME%"${SERVER_NAME#?}"}" $2
+    DOTS72="........................................................................"
+    printf "%s %.*s " "$TITLE" "$((71 - ${#TITLE}))" "$DOTS72"
 
     # should we skip?
     if [ "X$SKIP_NEXT" = "XYES" ]; then
