Refactor test_merge.bash for multiple tests
authorClint Byrum <clint@fewbar.com>
Wed, 25 Sep 2013 17:37:52 +0000 (10:37 -0700)
committerClint Byrum <clint@fewbar.com>
Wed, 25 Sep 2013 18:24:06 +0000 (11:24 -0700)
We will be adding more tests, so make it more of a framework for that.

Also fix up minor lib.yaml formatting bug.

Change-Id: Ic0fe1679f8d62680dfd0acf215c849aa38b913da

examples/lib.yaml
test_merge.bash

index e527d83..d42e95f 100644 (file)
@@ -1,7 +1,9 @@
 Parameters:
   ImportantValue:
-  Default: a_default
-  Type: String
+    Default: a_default
+    Type: String
+  BImage:
+    Type: String
 Resources:
   GenericB:
     Type: OS::Nova::Server
index 35390aa..004a613 100644 (file)
@@ -7,18 +7,23 @@ cleanup() {
     fi
 }
 trap cleanup EXIT
-result=$(mktemp /tmp/test_merge.XXXXXX)
-fail=0
-python merge.py examples/source.yaml > $result
-if ! cmp $result examples/source_lib_result.yaml ; then
-    diff -u $result examples/source_lib_result.yaml
-    echo
-    echo FAIL - merge of source.yaml result does not match expected output
-    echo
-    fail=1
-else
-    echo
-    echo PASS - merge of source.yaml result matches expected output
-    echo
-fi
+run_test() {
+    local cmd=$1
+    local expected=$2
+    result=$(mktemp /tmp/test_merge.XXXXXX)
+    fail=0
+    $cmd > $result
+    if ! cmp $result $expected ; then
+        diff -u $expected $result || :
+        echo FAIL - $cmd result does not match expected
+        fail=1
+    else
+        echo PASS - $cmd
+    fi
+    cleanup
+}
+echo
+run_test "python merge.py examples/source.yaml" examples/source_lib_result.yaml
+echo
+trap - EXIT
 exit $fail