From 34d78ff626d5b499c6e1397ff6283195549b60e7 Mon Sep 17 00:00:00 2001 From: Brad Warren Date: Mon, 2 Oct 2017 13:20:35 -0700 Subject: [PATCH] Fix hook test. (#5152) Up until now, this test was written incorrectly. In addition, when it has failed, it simply prints error messages rather than reporting that the test failed. This fixes both of these problems. --- tests/boulder-integration.sh | 44 +++++++++++++++++------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/tests/boulder-integration.sh b/tests/boulder-integration.sh index 181dcc5fb..bb1a8b2ee 100755 --- a/tests/boulder-integration.sh +++ b/tests/boulder-integration.sh @@ -48,32 +48,30 @@ common() { export HOOK_TEST="/tmp/hook$$" CheckHooks() { - EXPECTED="/tmp/expected$$" - if [ $(head -n1 $HOOK_TEST) = "wtf.pre" ]; then - echo "wtf.pre" > "$EXPECTED" - echo "wtf2.pre" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "wtf.post" >> "$EXPECTED" - echo "wtf2.post" >> "$EXPECTED" + if [ $(head -n1 "$HOOK_TEST") = "wtf.pre" ]; then + expected="wtf.pre\ndeploy\n" + if [ $(sed '3q;d' "$HOOK_TEST") = "deploy" ]; then + expected=$expected"deploy\nwtf2.pre\n" + else + expected=$expected"wtf2.pre\ndeploy\n" + fi + expected=$expected"deploy\ndeploy\nwtf.post\nwtf2.post" else - echo "wtf2.pre" > "$EXPECTED" - echo "wtf.pre" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "deploy" >> "$EXPECTED" - echo "wtf2.post" >> "$EXPECTED" - echo "wtf.post" >> "$EXPECTED" + expected="wtf2.pre\ndeploy\n" + if [ $(sed '3q;d' "$HOOK_TEST") = "deploy" ]; then + expected=$expected"deploy\nwtf.pre\n" + else + expected=$expected"wtf.pre\ndeploy\n" + fi + expected=$expected"deploy\ndeploy\nwtf2.post\nwtf.post" fi - if ! cmp --quiet "$EXPECTED" "$HOOK_TEST" ; then - echo Hooks did not run as expected\; got - cat "$HOOK_TEST" - echo Expected - cat "$EXPECTED" + if ! cmp --quiet <(echo -e "$expected") "$HOOK_TEST" ; then + echo Hooks did not run as expected\; got >&2 + cat "$HOOK_TEST" >&2 + echo -e "Expected\n$expected" >&2 + rm "$HOOK_TEST" + exit 1 fi rm "$HOOK_TEST" }