diff --git a/subprojects/ncsid/test/normalize_ip_test.sh b/subprojects/ncsid/test/normalize_ip_test.sh
index fbd703a..1c0fd5a 100755
--- a/subprojects/ncsid/test/normalize_ip_test.sh
+++ b/subprojects/ncsid/test/normalize_ip_test.sh
@@ -16,30 +16,30 @@
 TEST_DIR="$(dirname "${BASH_SOURCE[0]}")"
 source "$TEST_DIR"/test_lib.sh
 
-TestNormalizeIPInvalidArgs() {
-  ! "$NORMALIZE_IP"
-  ! "$NORMALIZE_IP" '192.168.10.1' 'extra'
+function TestNormalizeIPInvalidArgs() {
+    ! "$NORMALIZE_IP"
+    ! "$NORMALIZE_IP" '192.168.10.1' 'extra'
 }
 
-TestNormalizeIPBadIP() {
-  ! "$NORMALIZE_IP" '0f0.100.595.444'
-  ! "$NORMALIZE_IP" 'fx80::1'
+function TestNormalizeIPBadIP() {
+    ! "$NORMALIZE_IP" '0f0.100.595.444'
+    ! "$NORMALIZE_IP" 'fx80::1'
 }
 
-TestNormalizeIPv4() {
-  StrEq "$("$NORMALIZE_IP" '192.168.10.1')" '192.168.10.1'
-  StrEq "$("$NORMALIZE_IP" '1.1.1.1')" '1.1.1.1'
+function TestNormalizeIPv4() {
+    StrEq "$("$NORMALIZE_IP" '192.168.10.1')" '192.168.10.1'
+    StrEq "$("$NORMALIZE_IP" '1.1.1.1')" '1.1.1.1'
 }
 
-TestNormalizeIPv6() {
-  StrEq "$("$NORMALIZE_IP" 'fe80:00B1::0000:1')" 'fe80:b1::1'
+function TestNormalizeIPv6() {
+    StrEq "$("$NORMALIZE_IP" 'fe80:00B1::0000:1')" 'fe80:b1::1'
 }
 
 TESTS+=(
-  TestNormalizeIPInvalidArgs
-  TestNormalizeIPBadIP
-  TestNormalizeIPv4
-  TestNormalizeIPv6
+    TestNormalizeIPInvalidArgs
+    TestNormalizeIPBadIP
+    TestNormalizeIPv4
+    TestNormalizeIPv6
 )
 
 return 0 2>/dev/null
diff --git a/subprojects/ncsid/test/normalize_mac_test.sh b/subprojects/ncsid/test/normalize_mac_test.sh
index 734d4a5..794ef55 100755
--- a/subprojects/ncsid/test/normalize_mac_test.sh
+++ b/subprojects/ncsid/test/normalize_mac_test.sh
@@ -16,27 +16,27 @@
 TEST_DIR="$(dirname "${BASH_SOURCE[0]}")"
 source "$TEST_DIR"/test_lib.sh
 
-TestNormalizeMACInvalidArgs() {
-  ! "$NORMALIZE_MAC"
-  ! "$NORMALIZE_MAC" '0:0:0:0:0:0' 'extra'
+function TestNormalizeMACInvalidArgs() {
+    ! "$NORMALIZE_MAC"
+    ! "$NORMALIZE_MAC" '0:0:0:0:0:0' 'extra'
 }
 
-TestNormalizeMACBadMAC() {
-  ! "$NORMALIZE_MAC" '0:0'
-  ! "$NORMALIZE_MAC" '0:0:0:0:0:0:0'
-  ! "$NORMALIZE_MAC" '1ff:0:0:0:0'
+function TestNormalizeMACBadMAC() {
+    ! "$NORMALIZE_MAC" '0:0'
+    ! "$NORMALIZE_MAC" '0:0:0:0:0:0:0'
+    ! "$NORMALIZE_MAC" '1ff:0:0:0:0'
 }
 
-TestNormalizeMACSuccess() {
-  StrEq "$("$NORMALIZE_MAC" '0:0:0:0:0:0')" '00:00:00:00:00:00'
-  StrEq "$("$NORMALIZE_MAC" 'ff:0f:0:0:11:1')" 'ff:0f:00:00:11:01'
-  StrEq "$("$NORMALIZE_MAC" '0:0:0:0:0:ff')" "$("$NORMALIZE_MAC" '0:0:0:0:0:FF')"
+function TestNormalizeMACSuccess() {
+    StrEq "$("$NORMALIZE_MAC" '0:0:0:0:0:0')" '00:00:00:00:00:00'
+    StrEq "$("$NORMALIZE_MAC" 'ff:0f:0:0:11:1')" 'ff:0f:00:00:11:01'
+    StrEq "$("$NORMALIZE_MAC" '0:0:0:0:0:ff')" "$("$NORMALIZE_MAC" '0:0:0:0:0:FF')"
 }
 
 TESTS+=(
-  TestNormalizeMACInvalidArgs
-  TestNormalizeMACBadMAC
-  TestNormalizeMACSuccess
+    TestNormalizeMACInvalidArgs
+    TestNormalizeMACBadMAC
+    TestNormalizeMACSuccess
 )
 
 return 0 2>/dev/null
diff --git a/subprojects/ncsid/test/test_lib.sh b/subprojects/ncsid/test/test_lib.sh
index 53db560..694e47b 100644
--- a/subprojects/ncsid/test/test_lib.sh
+++ b/subprojects/ncsid/test/test_lib.sh
@@ -14,34 +14,34 @@
 # limitations under the License.
 
 # Compares two strings and prints out an error message if they are not equal
-StrEq() {
-  if [ "$1" != "$2" ]; then
-    echo "${BASH_SOURCE[1]}:${BASH_LINENO[0]} Mismatched strings" >&2
-    echo "  Expected: $2" >&2
-    echo "  Got:      $1" >&2
-    exit 1
-  fi
+function StrEq() {
+    if [ "$1" != "$2" ]; then
+        echo "${BASH_SOURCE[1]}:${BASH_LINENO[0]} Mismatched strings" >&2
+        echo "  Expected: $2" >&2
+        echo "  Got:      $1" >&2
+        exit 1
+    fi
 }
 
 TESTS=()
 
 # Runs tests and emits output specified by the Test Anything Protocol
 # https://testanything.org/
-TestAnythingMain() {
-  set -o nounset
-  set -o errexit
-  set -o pipefail
+function TestAnythingMain() {
+    set -o nounset
+    set -o errexit
+    set -o pipefail
 
-  echo "TAP version 13"
-  echo "1..${#TESTS[@]}"
+    echo "TAP version 13"
+    echo "1..${#TESTS[@]}"
 
-  local i
-  for ((i=0; i <${#TESTS[@]}; ++i)); do
-    local t="${TESTS[i]}"
-    local tap_i=$((i + 1))
-    if ! "$t"; then
-      printf "not "
-    fi
-    printf "ok %d - %s\n" "$tap_i" "$t"
-  done
+    local i
+    for ((i=0; i <${#TESTS[@]}; ++i)); do
+        local t="${TESTS[i]}"
+        local tap_i=$((i + 1))
+        if ! "$t"; then
+            printf "not "
+        fi
+        printf "ok %d - %s\n" "$tap_i" "$t"
+    done
 }
