From 733cb68e444a6f324bb1ffda3839da98ef010c74 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 5 May 2011 16:40:42 -0700 Subject: t0002-parser-error: fix race conditions "wait" needs to be done in the outside shell because the subshell could still be exiting when we grep. --- t/t0002-parser-error.sh | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 't') diff --git a/t/t0002-parser-error.sh b/t/t0002-parser-error.sh index f0df69d..9fa5a31 100755 --- a/t/t0002-parser-error.sh +++ b/t/t0002-parser-error.sh @@ -26,10 +26,10 @@ t_begin "response should be a 400" && { t_begin "send a huge Request URI (REQUEST_PATH > (12 * 1024))" && { rm -f $tmp + cat $fifo > $tmp & ( - cat $fifo > $tmp & set -e - trap 'wait && echo ok > $ok' EXIT + trap 'echo ok > $ok' EXIT printf 'GET /' for i in $(awk (12 * 1024))" && { printf ' HTTP/1.1\r\nHost: example.com\r\n\r\n' ) | socat - TCP:$listen > $fifo || : test xok = x$(cat $ok) + wait } -t_begin "response should be a 414" && { +t_begin "response should be a 414 (REQUEST_PATH)" && { grep -F 'HTTP/1.1 414 Request-URI Too Long' $tmp } t_begin "send a huge Request URI (QUERY_STRING > (10 * 1024))" && { rm -f $tmp + cat $fifo > $tmp & ( - cat $fifo > $tmp & set -e - trap 'wait && echo ok > $ok' EXIT + trap 'echo ok > $ok' EXIT printf 'GET /hello-world?a' for i in $(awk (10 * 1024))" && { printf ' HTTP/1.1\r\nHost: example.com\r\n\r\n' ) | socat - TCP:$listen > $fifo || : test xok = x$(cat $ok) + wait } -t_begin "response should be a 414" && { +t_begin "response should be a 414 (QUERY_STRING)" && { grep -F 'HTTP/1.1 414 Request-URI Too Long' $tmp } t_begin "send a huge Request URI (FRAGMENT > 1024)" && { rm -f $tmp + cat $fifo > $tmp & ( - cat $fifo > $tmp & set -e - trap 'wait && echo ok > $ok' EXIT + trap 'echo ok > $ok' EXIT printf 'GET /hello-world#a' for i in $(awk 1024)" && { printf ' HTTP/1.1\r\nHost: example.com\r\n\r\n' ) | socat - TCP:$listen > $fifo || : test xok = x$(cat $ok) + wait } -t_begin "response should be a 414" && { +t_begin "response should be a 414 (FRAGMENT)" && { grep -F 'HTTP/1.1 414 Request-URI Too Long' $tmp } -- cgit v1.2.3-24-ge0c7