X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=t%2Ft0004-server.sh;h=9e681107646e85e0fdcc3e12ec1ed13694376628;hp=04d6cd609a33a9886130d31efff86f4af509ab6f;hb=HEAD;hpb=abfb661f35e99e99c09a94d84839356d905af080 diff --git a/t/t0004-server.sh b/t/t0004-server.sh index 04d6cd60..f7a407dc 100755 --- a/t/t0004-server.sh +++ b/t/t0004-server.sh @@ -21,13 +21,15 @@ pubkey=$privkey.pub serverlog=server.log get_audio_file_paths ogg -oggs="$result" +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" -good[$i]='help server ----' +cmdline[$i]="help -l" +good[$i]='help \{1,\}----' let i++ commands[$i]="init" @@ -35,17 +37,62 @@ cmdline[$i]="init" good[$i]='^successfully' bad[$i]='!^successfully' +let i++ +commands[$i]='add_dir' +required_objects[$i]='ogg_afh' +cmdline[$i]="add -v $test_audio_file_dir" +good[$i]='^adding' + +let i++ +commands[$i]='rm' +required_objects[$i]='ogg_afh' +cmdline[$i]="rm -v $test_audio_file_dir/*" +good[$i]='^removing' + let i++ commands[$i]="add_ogg" required_objects[$i]='ogg_afh' -cmdline[$i]="add $oggs" +cmdline[$i]="add ${oggs[@]}" bad[$i]='.' let i++ commands[$i]="ls_ogg" required_objects[$i]='ogg_afh' -cmdline[$i]="ls -lv -p $oggs" -good[$i]='^path:' +cmdline[$i]="ls -l=v -b ${oggs_base[@]}" +good[$i]='^basename:' + +let i++ +commands[$i]='addatt' +required_objects[$i]='' +cmdline[$i]="addatt $(seq 64 | tr '\n' ' ')" +bad[$i]='.' + +let i++ +commands[$i]='lsatt' +required_objects[$i]='' +cmdline[$i]="lsatt" +good[$i]='^1$' + +let i++ +commands[$i]='setatt' +required_objects[$i]='ogg_afh' +cmdline[$i]="setatt 33+ ${oggs[@]}" +bad[$i]='.' + +let i++ +commands[$i]="ls" +required_objects[$i]='ogg_afh' +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" @@ -58,7 +105,7 @@ test_require_executables "ssh-keygen" missing_executables="$result" if [[ -z "$missing_objects" && -z "$missing_executables" ]]; then - ssh-keygen -q -t rsa -b 2048 -N "" -f $privkey + ssh-keygen -q -t rsa -b 2048 -N "" -m PEM -f $privkey key_gen_result=$? read &>/dev/null < /dev/tcp/localhost/$port @@ -83,6 +130,7 @@ EOF --user-list "$user_list" \ --http-port "$stream_port" \ --dccp-port "$stream_port" + (($? != 0)) && exit 1 fi for ((i=0; i < ${#commands[@]}; i++)); do @@ -111,14 +159,19 @@ for ((i=0; i < ${#commands[@]}; i++)); do continue fi fi - 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 \ -- \ - ${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 "