--- /dev/null
+#! /bin/bash
+n=false
+if [ $1 = -n ];then
+ n=true
+ shift
+fi
+diff_u="diff $(if $n;then echo -U999999999;else echo -u;fi)"
+if [ $# != 2 ];then
+ echo >&2 "$0: <dir1> <dir2>"
+fi
+for dir in "$@";do
+ if [ ! -e $dir ];then
+ echo >&2 "!-e: $dir"
+ exit 1
+ fi
+ sed -i -e 's#\(failed for \)[0-9]*\(: Operation not permitted\)#\1\2#' $(find $dir -name summary.txt)
+done
+dir1=$(realpath $1)
+dir2=$(realpath $2)
+cd $1
+(
+ for i in $(find -name summary.txt);do
+ echo "$dir1/$i -> $dir2/$i"
+ $diff_u $i $dir2/$i
+ done
+ function prep8
+ {
+ sed <$1 -n 's/^\(Passed\|FAILED\): \(.*\)$/\2: \1/p'|sort
+ }
+ for i in $(find -name "*-test.release.log");do
+ echo "$dir1/$i -> $dir2/$i"
+ $diff_u <(prep8 $i) <(prep8 $dir2/$i)
+ done
+)|if $n;then cat;else grep -v '^+++ '|grep -v '^--- '|grep -v '^[ @]';fi