aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Houston <robin.houston@gmail.com>2012-02-03 12:13:25 +0000
committerRobin Houston <robin.houston@gmail.com>2012-02-03 12:13:25 +0000
commitfc2db3880a9dd244eb9f56426808009eb85419c2 (patch)
tree21e2d53027d33f4cc09e825c7e48324a42a0936f
parent2eac4bef8d73f47bbe579b6f787ef54b8d782d7a (diff)
Add --log option
Make it possible to log the output of failed pairs, so we have some hope of determining the cause of failure in cases where it does not turn out to be reproducible.
-rwxr-xr-xscript/spec-all-pairs17
1 files changed, 16 insertions, 1 deletions
diff --git a/script/spec-all-pairs b/script/spec-all-pairs
index e8fa77be9..5b6439a4e 100755
--- a/script/spec-all-pairs
+++ b/script/spec-all-pairs
@@ -3,13 +3,21 @@
# Try all ordered pairs of spec files,
# to winkle out order-dependent failures.
+log_file=/dev/null
+
test_pair () {
rake db:test:prepare > /dev/null 2>&1
- if script/spec "$1" "$2" > /dev/null 2>&1
+ output=$(script/spec "$1" "$2" 2>&1)
+ if [ $? -eq 0 ]
then
echo "OK: $1 $2"
return 0
else
+ echo >> "$log_file" "FAILED: $1 $2"
+ echo >> "$log_file" "======================================="
+ echo >> "$log_file" "$output"
+ echo >> "$log_file"
+
echo "FAILED: $1 $2"
return 1
fi
@@ -57,6 +65,13 @@ pairs_from_stdin() {
return $?
}
+if [ "$1" = --log ]
+then
+ shift
+ log_file=$1
+ shift
+ cp /dev/null "$log_file"
+fi
if [ "$1" = "-" ]
then
pairs_from_stdin