1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash 2*cf5a6c84SAndroid Build Coastguard Worker 3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh 4*cf5a6c84SAndroid Build Coastguard Worker 5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin" 6*cf5a6c84SAndroid Build Coastguard Worker 7*cf5a6c84SAndroid Build Coastguard Worker# This is basically a test of lib/args.c argument parsing 8*cf5a6c84SAndroid Build Coastguard Worker 9*cf5a6c84SAndroid Build Coastguard Workerout() { printf 'Ran skeleton\n%sOther globals should start zeroed: 0' "$@";} 10*cf5a6c84SAndroid Build Coastguard Workertestcmd "baseline " "" "$(out '')\n" "" "" 11*cf5a6c84SAndroid Build Coastguard Workertestcmd "unknown" "-z |& grep -o Unknown" "Unknown\n" "" "" 12*cf5a6c84SAndroid Build Coastguard Workertestcmd "passthrough args" "bingeley bongeley beep" \ 13*cf5a6c84SAndroid Build Coastguard Worker "$(out 'optarg=bingeley\noptarg=bongeley\noptarg=beep\n')\n" "" "" 14*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-a" "$(out 'flags=1\nSaw a\n')\n" "" "" 15*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-b |& grep -o Missing" "Missing\n" "" "" 16*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-b abc" "$(out 'flags=2\nb=abc\n')\n" "" "" 17*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-c nondigit |& grep -o integer" "integer\n" "" "" 18*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-c 123" "$(out 'flags=4\nc=123\n')\n" "" "" 19*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-c 1m" "$(out 'flags=4\nc=1048576\n')\n" "" "" 20*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-d one -d two -d 3,4" "$(out 'flags=8\nd=one\nd=two\nd=3,4\n')\n" \ 21*cf5a6c84SAndroid Build Coastguard Worker "" "" 22*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-e" "$(out 'flags=10\ne was seen 1 times\n')\n" "" "" 23*cf5a6c84SAndroid Build Coastguard Workertestcmd "" "-ee -e -ae" "$(out 'flags=11\nSaw a\ne was seen 4 times\n')\n" \ 24*cf5a6c84SAndroid Build Coastguard Worker "" "" 25*cf5a6c84SAndroid Build Coastguard Workertestcmd "mixed" "123 -c 456 789" \ 26*cf5a6c84SAndroid Build Coastguard Worker "$(out 'flags=4\nc=456\noptarg=123\noptarg=789\n')\n" "" "" 27*cf5a6c84SAndroid Build Coastguard Worker# ala date -I 28*cf5a6c84SAndroid Build Coastguard Workertestcmd "':;' short attached" "-fabc" "$(out 'flags=20\nf=abc\n')\n" "" "" 29*cf5a6c84SAndroid Build Coastguard Workertestcmd "':;' short detached" "-f abc" "$(out 'flags=20\noptarg=abc\n')\n" "" "" 30*cf5a6c84SAndroid Build Coastguard Workertestcmd "':;' long" "--lo abc" "$(out 'flags=20\noptarg=abc\n')\n" "" "" 31*cf5a6c84SAndroid Build Coastguard Workertestcmd "':;' long=x" "--long=abc" "$(out 'flags=20\nf=abc\n')\n" "" "" 32*cf5a6c84SAndroid Build Coastguard Workertestcmd "':;' long=" "--long=" "$(out 'flags=20\nf=\n')\n" "" "" 33*cf5a6c84SAndroid Build Coastguard Workertestcmd "':;' long detached" "--long abc" "$(out 'flags=20\noptarg=abc\n')\n" "" "" 34*cf5a6c84SAndroid Build Coastguard Worker# ala kill -stop 35*cf5a6c84SAndroid Build Coastguard Workertestcmd "': ' short attached" "-gabc 2>/dev/null || echo yup" "yup\n" "" "" 36*cf5a6c84SAndroid Build Coastguard Workertestcmd "': ' short detached" "-g abc" "$(out 'flags=40\ng=abc\n')\n" "" "" 37*cf5a6c84SAndroid Build Coastguard Workertestcmd "': ' long" "--glong abc" "$(out 'flags=40\ng=abc\n')\n" "" "" 38*cf5a6c84SAndroid Build Coastguard Workertestcmd "': ' long=x" "--gl=abc" "$(out 'flags=40\ng=abc\n')\n" "" "" 39*cf5a6c84SAndroid Build Coastguard Workertestcmd "': ' long=" "--gl=" "$(out 'flags=40\ng=\n')\n" "" "" 40*cf5a6c84SAndroid Build Coastguard Worker# ala unshare -fim 41*cf5a6c84SAndroid Build Coastguard Workertestcmd "':; ' short attached" "-habc" "$(out 'flags=83\nSaw a\nb=c\n')\n" "" "" 42*cf5a6c84SAndroid Build Coastguard Workertestcmd "':; ' short detached" "-h abc" "$(out 'flags=80\noptarg=abc\n')\n" "" "" 43*cf5a6c84SAndroid Build Coastguard Workertestcmd "':; ' long=x" "--h=abc" "$(out 'flags=80\nh=abc\n')\n" "" "" 44*cf5a6c84SAndroid Build Coastguard Workertestcmd "':; ' long=" "--h=" "$(out 'flags=80\nh=\n')\n" "" "" 45*cf5a6c84SAndroid Build Coastguard Workertestcmd "':; ' long detached" "--hlong abc" "$(out 'flags=80\noptarg=abc\n')\n" "" "" 46