Merge branch 'sb/submodule-recommend-shallowness'
[gitweb.git] / t / t0040-parse-options.sh
index 717a51485d5b6535df5dd5a915e8eb7e04b9e61e..db5f60d0c5882fc491ca571eb6385554148bbf3a 100755 (executable)
@@ -45,6 +45,7 @@ Standard options
     -v, --verbose         be verbose
     -n, --dry-run         dry run
     -q, --quiet           be quiet
+    --expect <string>     expected output in the variable dump
 
 EOF
 
@@ -56,52 +57,12 @@ test_expect_success 'test help' '
 
 mv expect expect.err
 
-cat >expect.template <<\EOF
-boolean: 0
-integer: 0
-magnitude: 0
-timestamp: 0
-string: (not set)
-abbrev: 7
-verbose: 0
-quiet: 0
-dry run: no
-file: (not set)
-EOF
-
-check() {
+check () {
        what="$1" &&
        shift &&
        expect="$1" &&
        shift &&
-       sed "s/^$what .*/$what $expect/" <expect.template >expect &&
-       test-parse-options $* >output 2>output.err &&
-       test_must_be_empty output.err &&
-       test_cmp expect output
-}
-
-check_i18n() {
-       what="$1" &&
-       shift &&
-       expect="$1" &&
-       shift &&
-       sed "s/^$what .*/$what $expect/" <expect.template >expect &&
-       test-parse-options $* >output 2>output.err &&
-       test_must_be_empty output.err &&
-       test_i18ncmp expect output
-}
-
-check_unknown() {
-       case "$1" in
-       --*)
-               echo error: unknown option \`${1#--}\' >expect ;;
-       -*)
-               echo error: unknown switch \`${1#-}\' >expect ;;
-       esac &&
-       cat expect.err >>expect &&
-       test_must_fail test-parse-options $* >output 2>output.err &&
-       test_must_be_empty output &&
-       test_cmp expect output.err
+       test-parse-options --expect="$what $expect" "$@"
 }
 
 check_unknown_i18n() {
@@ -211,7 +172,7 @@ magnitude: 0
 timestamp: 0
 string: 123
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -234,7 +195,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -263,7 +224,7 @@ magnitude: 0
 timestamp: 0
 string: 123
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -302,7 +263,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -322,7 +283,7 @@ magnitude: 0
 timestamp: 1
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 1
 dry run: no
 file: (not set)
@@ -344,7 +305,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -356,9 +317,7 @@ test_expect_success 'OPT_CALLBACK() and OPT_BIT() work' '
        test_cmp expect output
 '
 
-cat >expect <<\EOF
-Callback: "not set", 1
-EOF
+>expect
 
 test_expect_success 'OPT_CALLBACK() and callback errors work' '
        test_must_fail test-parse-options --no-length >output 2>output.err &&
@@ -373,7 +332,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -398,7 +357,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -429,7 +388,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -448,7 +407,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -483,7 +442,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 3
 dry run: no
 file: (not set)
@@ -521,7 +480,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)
@@ -540,7 +499,7 @@ magnitude: 0
 timestamp: 0
 string: (not set)
 abbrev: 7
-verbose: 0
+verbose: -1
 quiet: 0
 dry run: no
 file: (not set)