To make sure a recent bug won't be re-introduced. The test succeeds
but fails with commit
2c2d3a6ec34d983cb698b245facb8d6240aec1b3
reverted.
We have to add at least one mood to trigger the bug. Since addmood is
a stdin command we must redirect stdin for the para_client command. It
does not hurt to do this for all commands, not just the new one.
declare -a oggs=($result)
declare -a oggs_base=(${oggs[@]##*/})
declare -a oggs=($result)
declare -a oggs_base=(${oggs[@]##*/})
-declare -a commands=() cmdline=() required_objects=() good=() bad=()
+declare -a commands=() cmdline=() required_objects=() good=() bad=() \
+ expect_failure=()
i=0
commands[$i]="help"
cmdline[$i]="help -l"
i=0
commands[$i]="help"
cmdline[$i]="help -l"
cmdline[$i]="ls -l=v ${oggs[@]}"
good[$i]='^attributes_txt: 33'
cmdline[$i]="ls -l=v ${oggs[@]}"
good[$i]='^attributes_txt: 33'
+let i++
+commands[$i]='addmood'
+cmdline[$i]="addmood test-mood"
+
+let i++
+commands[$i]='empty-mood-parameter'
+cmdline[$i]="select m/"
+expect_failure[$i]='true'
+
let i++
commands[$i]="term"
cmdline[$i]="term"
let i++
commands[$i]="term"
cmdline[$i]="term"
- test_expect_success "$command" "
+ if [[ -n "${expect_failure[$i]}" ]]; then
+ f=test_expect_failure
+ else
+ f=test_expect_success
+ fi
+ $f "$command" "
$PARA_CLIENT \
--loglevel $loglevel \
--server-port $port \
--key-file $privkey \
--config-file /dev/null \
-- \
$PARA_CLIENT \
--loglevel $loglevel \
--server-port $port \
--key-file $privkey \
--config-file /dev/null \
-- \
- ${cmdline[$i]} > $command.out &&
+ ${cmdline[$i]} > $command.out < /dev/null &&
{ [[ -z \"${good[$i]}\" ]] || grep \"${good[$i]}\"; } < $command.out &&
{ [[ -z \"${bad[$i]}\" ]] || ! grep \"${bad[$i]}\"; } < $command.out
"
{ [[ -z \"${good[$i]}\" ]] || grep \"${good[$i]}\"; } < $command.out &&
{ [[ -z \"${bad[$i]}\" ]] || ! grep \"${bad[$i]}\"; } < $command.out
"