Cleanup of ini test-case

Various cleanup to this file.

Firstly create a temporary space to test, rather than working in the
source directory.

We have "assert_equal" which simplifies a lot.  Add "assert_empty"
that is used in a couple of tests too.  Remove a couple of duplicate
tests.

Change-Id: I7fd476ed63026e67d66a8ac2891b2e4a6687d09c
diff --git a/tests/unittest.sh b/tests/unittest.sh
index 93aa5fc..603652a 100644
--- a/tests/unittest.sh
+++ b/tests/unittest.sh
@@ -27,7 +27,7 @@
         msg="OK"
     fi
     PASS=$((PASS+1))
-    echo "PASS: $function:L$lineno $msg"
+    echo "PASS: $function:L$lineno - $msg"
 }
 
 # fail a test, printing out MSG
@@ -63,6 +63,27 @@
     fi
 }
 
+# assert variable is empty/blank, printing out msg
+#  usage: assert_empty VAR msg
+function assert_empty {
+    local lineno=`caller 0 | awk '{print $1}'`
+    local function=`caller 0 | awk '{print $2}'`
+    local msg=$2
+
+    if [ -z "$msg" ]; then
+        msg="OK"
+    fi
+    if [[ ! -z ${!1} ]]; then
+        FAILED_FUNCS+="$function:L$lineno\n"
+        echo "ERROR: $1 not empty in $function:L$lineno!"
+        echo "  $msg"
+        ERROR=$((ERROR+1))
+    else
+        PASS=$((PASS+1))
+        echo "PASS: $function:L$lineno - $msg"
+    fi
+}
+
 # print a summary of passing and failing tests, exiting
 # with an error if we have failed tests
 #  usage: report_results