Mercurial > hg > minc-tools
changeset 2472:7138df30b3be
Add testing of ARGV_INT and ARGV_LONG
author | stever <stever> |
---|---|
date | Sat, 03 Jan 2009 20:59:13 +0000 |
parents | 8105456c3289 |
children | a175020f8b47 |
files | testdir/run_test_arg_parse.sh testdir/test_arg_parse.c |
diffstat | 2 files changed, 42 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/testdir/run_test_arg_parse.sh +++ b/testdir/run_test_arg_parse.sh @@ -6,7 +6,9 @@ check() { #args expected out=`./test_arg_parse $1` - echo $out | grep "$2" >/dev/null && return + leftovers=`echo $out | sed "/^$2\$/d"` + test -z "$leftovers" && return + echo "Args : $1" echo "Output : $out" echo "Expected: $2" @@ -14,11 +16,29 @@ } -check '' 'const_a:0 const_b:0' -check '-const_a' 'const_a:1 const_b:0' -check '-const_b' 'const_a:0 const_b:1' -check '-const_a -const_b' 'const_a:1 const_b:1' -check '-const_b -const_a' 'const_a:1 const_b:1' +check '' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:0' +check '-const_a' 'const_a:1 const_b:0 int_a:0 int_b:0 long_a:0 long_b:0' +check '-const_b' 'const_a:0 const_b:1 int_a:0 int_b:0 long_a:0 long_b:0' +check '-const_a -const_b' 'const_a:1 const_b:1 int_a:0 int_b:0 long_a:0 long_b:0' +check '-const_b -const_a' 'const_a:1 const_b:1 int_a:0 int_b:0 long_a:0 long_b:0' + +check '-int_a 33' 'const_a:0 const_b:0 int_a:33 int_b:0 long_a:0 long_b:0' +check '-int_a -3' 'const_a:0 const_b:0 int_a:-3 int_b:0 long_a:0 long_b:0' +check '-int_b 22' 'const_a:0 const_b:0 int_a:0 int_b:22 long_a:0 long_b:0' +check '-int_b -2' 'const_a:0 const_b:0 int_a:0 int_b:-2 long_a:0 long_b:0' +check '-int_a -1 -int_b 3' 'const_a:0 const_b:0 int_a:-1 int_b:3 long_a:0 long_b:0' +check '-int_b -1 -int_a 3' 'const_a:0 const_b:0 int_a:3 int_b:-1 long_a:0 long_b:0' + +check '-long_a 12' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:12 long_b:0' +check '-long_a -99' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:-99 long_b:0' +check '-long_b -12' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:-12' +check '-long_b 99' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:99' +check '-long_a 3 -long_b -9' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:3 long_b:-9' +check '-long_b 3 -long_a -9' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:-9 long_b:3' + +check '-long_a -99 -int_b 3 -const_b' 'const_a:0 const_b:1 int_a:0 int_b:3 long_a:-99 long_b:0' + +check '-nonsense' 'const_a:0 const_b:0 int_a:0 int_b:0 long_a:0 long_b:0' test $fail = yes && exit 1 exit 0
--- a/testdir/test_arg_parse.c +++ b/testdir/test_arg_parse.c @@ -4,11 +4,24 @@ int const_a = 0; int const_b = 0; +int int_a = 0; +int int_b = 0; + +long long_a = 0; +long long_b = 0; + ArgvInfo argTable[] = { {"-const_a", ARGV_CONSTANT, (char *)1, (char *)&const_a, "const_a option"}, {"-const_b", ARGV_CONSTANT, (char *)1, (char *)&const_b, "const_b option"}, + + {"-int_a", ARGV_INT, (char *)1, (char *)&int_a, "int_a option"}, + {"-int_b", ARGV_INT, (char *)1, (char *)&int_b, "int_b option"}, + + {"-long_a", ARGV_LONG, (char *)1, (char *)&long_a, "long_a option"}, + {"-long_b", ARGV_LONG, (char *)1, (char *)&long_b, "long_b option"}, + {NULL, ARGV_END, NULL, NULL, NULL} }; @@ -18,6 +31,8 @@ { ParseArgv(&argc, argv, argTable, 0); - printf("const_a:%d const_b:%d\n", const_a, const_b); + printf( "const_a:%d const_b:%d int_a:%d int_b:%d long_a:%ld long_b:%ld\n", + const_a, const_b, int_a, int_b, long_a, long_b ); + return(0); }