+bin/cherry* for Jenkins.
[nethome.git] / bin / cherrycompare
diff --git a/bin/cherrycompare b/bin/cherrycompare
new file mode 100755 (executable)
index 0000000..55a92cd
--- /dev/null
@@ -0,0 +1,34 @@
+#! /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