< prev index next >

./runtests.sh

Print this page
rev 113 : Allow start=YYYY-MM-DD in .jcheck/conf; older changesets are not checked

@@ -335,10 +335,162 @@
 HGUSER=$setup_author $HG ci -R z -m "Buggy bug bug bug
 Reviewed-by: fang"
 if [ $? -eq 0 ]; then fail; fi
 r=$(expr $r + 1)
 
+# Test start date
+
+startdate="2016-12-03"
+beforedate="2016-12-02"
+afterdate="2017-01-01"
+futuredate="2029-06-13"
+lastbadcs=3 # the first 4 changesets will be bad
+lastbadcsafter=1 # the first 2 bad changesets will be after startdate
+
+rm -rf z
+hg init z
+mkdir z/.jcheck
+cat >z/.jcheck/conf <<___
+project=jdk7
+bugids=dup
+start=2016-12-03
+___
+
+cat >z/.hg/hgrc <<___
+[extensions]
+jcheck = $(pwd)/jcheck.py
+___
+
+# Setup for start tests
+
+echo "// trailing whitespace " >z/foo.java
+hg add -R z z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Bad whitespace, start
+Reviewed-by: duke' -d "$startdate"
+
+echo "// OK" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Bad comment, after' -d "$afterdate"
+
+echo "// trailing whitespace again " >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Bad whitespace, before
+Reviewed-by: duke' -d "$beforedate"
+
+echo "// OK again" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Bad comment, epoch' -d "0 0"
+
+echo "// good 1" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Good, start
+Reviewed-by: duke' -d "$startdate"
+
+echo "// good 2" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Good, after
+Reviewed-by: duke' -d "$afterdate"
+
+echo "// good 3" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Good, future
+Reviewed-by: duke' -d "$futuredate"
+
+echo "// good 4" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Good, before
+Reviewed-by: duke' -d "$beforedate"
+
+echo "// good 5" >z/foo.java
+HGUSER=$setup_author hg ci -R z -m '1010101: Good, epoch
+Reviewed-by: duke' -d "0 0"
+
+last=$(hg -R z tip --template '{rev}')
+
+cs=0
+while [ $cs -le $last ]; do
+    echo "-- $r start=startdate $cs"
+    if [ $cs -le $lastbadcsafter ]; then
+        if hg jcheck -R z -r $cs; then fail; fi
+    else
+        if hg jcheck -R z -r $cs; then true; else fail; fi
+    fi
+    cs=$(expr $cs + 1)
+    r=$(expr $r + 1)
+done
+
+cat >z/.jcheck/conf <<___
+project=jdk7
+bugids=dup
+#start=2016-12-03
+___
+
+cs=0
+while [ $cs -le $last ]; do
+    echo "-- $r no start $cs"
+    if [ $cs -le $lastbadcs ]; then
+        if hg jcheck -R z -r $cs; then fail; fi
+    else
+        if hg jcheck -R z -r $cs; then true; else fail; fi
+    fi
+    cs=$(expr $cs + 1)
+    r=$(expr $r + 1)
+done
+
+cat >z/.jcheck/conf <<___
+project=jdk7
+bugids=dup
+start=2020-01-01
+___
+
+echo "-- $r start=future"
+if hg jcheck -R z -r 0:tip; then true; else fail; fi
+r=$(expr $r + 1)
+
+# Test start date with black/white lists
+
+startblack1hash=653767250c06f5aa9663a984527a8c2a4802d7e7
+startblack2hash=ed4868afdc9d7fea51dde3e6e0837c8b3b0bbb25
+startwhitehash=e069abe6033c0e2df987f227b4a57400049db0cd
+rm -rf z
+hg init z
+mkdir z/.jcheck
+cat >z/.jcheck/conf <<___
+project=jdk7
+bugids=dup
+start=2017-09-01
+___
+
+cat >z/.hg/hgrc <<___
+[extensions]
+jcheck_test = $(pwd)/jcheck_test.py
+___
+
+echo "-- $r start black 1"
+echo foo >z/foo
+hg add -R z z/foo
+HGUSER=$setup_author hg ci -R z -m '1010101: Good, before start, but black
+Reviewed-by: duke' -d '2017-08-30'
+if hg jcheck_test --black $startblack1hash -R z -r tip; then fail; fi
+r=$(expr $r + 1)
+
+echo "-- $r start black 2"
+if hg jcheck_test -R z -r tip; then true; else fail; fi
+r=$(expr $r + 1)
+
+echo "-- $r start black 3"
+echo foo2 >z/foo
+HGUSER=$setup_author hg ci -R z -m '2020202: Bad, before start, but black' -d '2017-08-30'
+if hg jcheck_test --black $startblack2hash -R z -r tip; then fail; fi
+r=$(expr $r + 1)
+
+echo "-- $r start black 4"
+if hg jcheck_test -R z -r tip; then true; else fail; fi
+r=$(expr $r + 1)
+
+echo "-- $r start white 1"
+echo foobar >z/foo
+HGUSER=$setup_author hg ci -R z -m '3030303: Bad, after start, but white' -d '2017-09-01'
+if hg jcheck_test --white $startwhitehash -R z -r tip; then true; else fail; fi
+r=$(expr $r + 1)
+
+echo "-- $r start white 2"
+if hg jcheck_test -R z -r tip; then fail; fi
+
 # Summary
 
 if [ $failures -gt 0 ]; then
   echo "-- FAILURES: $failures"
 else
< prev index next >