mirror of https://github.com/golang/go.git
undo CL 5395044 / d88e746d3785
Breaks with hg 1.6.4. Roll back until it's fixed. ««« original CL description codereview: cleanup + basic tests R=adg, bradfitz CC=golang-dev https://golang.org/cl/5395044 »»» R=golang-dev CC=golang-dev https://golang.org/cl/5410047
This commit is contained in:
parent
25d2987dd9
commit
5ca38eda49
File diff suppressed because it is too large
Load Diff
|
|
@ -1,198 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Copyright 2011 The Go Authors. All rights reserved.
|
|
||||||
# Use of this source code is governed by a BSD-style
|
|
||||||
# license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
# Test the code review plugin.
|
|
||||||
# Assumes a local Rietveld is running using the App Engine SDK
|
|
||||||
# at http://localhost:7777/
|
|
||||||
#
|
|
||||||
# dev_appserver.py -p 7777 $HOME/pub/rietveld
|
|
||||||
|
|
||||||
codereview_script=$(pwd)/codereview.py
|
|
||||||
server=localhost:7777
|
|
||||||
master=/tmp/go.test
|
|
||||||
clone1=/tmp/go.test1
|
|
||||||
clone2=/tmp/go.test2
|
|
||||||
export HGEDITOR=true
|
|
||||||
|
|
||||||
must() {
|
|
||||||
if ! "$@"; then
|
|
||||||
echo "$@" failed >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
not() {
|
|
||||||
if "$@"; then
|
|
||||||
false
|
|
||||||
else
|
|
||||||
true
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
status() {
|
|
||||||
echo '+++' "$@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
firstcl() {
|
|
||||||
hg pending | sed 1q | tr -d ':'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Initial setup.
|
|
||||||
status Create repositories.
|
|
||||||
rm -rf $master $clone1 $clone2
|
|
||||||
mkdir $master
|
|
||||||
cd $master
|
|
||||||
must hg init .
|
|
||||||
echo Initial state >file
|
|
||||||
must hg add file
|
|
||||||
must hg ci -m 'first commit' file
|
|
||||||
must hg clone $master $clone1
|
|
||||||
must hg clone $master $clone2
|
|
||||||
|
|
||||||
echo "
|
|
||||||
[ui]
|
|
||||||
username=Grace R Emlin <gre@golang.org>
|
|
||||||
[extensions]
|
|
||||||
codereview=$codereview_script
|
|
||||||
[codereview]
|
|
||||||
server=$server
|
|
||||||
" >>$clone1/.hg/hgrc
|
|
||||||
cp $clone1/.hg/hgrc $clone2/.hg/hgrc
|
|
||||||
|
|
||||||
status Codereview should be disabled.
|
|
||||||
cd $clone1
|
|
||||||
must hg status
|
|
||||||
must not hg pending
|
|
||||||
|
|
||||||
status Enabling code review.
|
|
||||||
must mkdir lib lib/codereview
|
|
||||||
must touch lib/codereview/codereview.cfg
|
|
||||||
|
|
||||||
status Code review should work even without CONTRIBUTORS.
|
|
||||||
must hg pending
|
|
||||||
|
|
||||||
status Add CONTRIBUTORS.
|
|
||||||
echo 'Grace R Emlin <gre@golang.org>' >CONTRIBUTORS
|
|
||||||
must hg add lib/codereview/codereview.cfg CONTRIBUTORS
|
|
||||||
|
|
||||||
status First submit.
|
|
||||||
must hg submit -r gre@golang.org -m codereview \
|
|
||||||
lib/codereview/codereview.cfg CONTRIBUTORS
|
|
||||||
|
|
||||||
status Should see change in other client.
|
|
||||||
cd $clone2
|
|
||||||
must hg pull -u
|
|
||||||
must test -f lib/codereview/codereview.cfg
|
|
||||||
must test -f CONTRIBUTORS
|
|
||||||
|
|
||||||
test_clpatch() {
|
|
||||||
# The email address must be test@example.com to match
|
|
||||||
# the test code review server's default user.
|
|
||||||
# Clpatch will check.
|
|
||||||
|
|
||||||
cd $clone1
|
|
||||||
# Tried to use UTF-8 here to test that, but dev_appserver.py crashes. Ha ha.
|
|
||||||
if false; then
|
|
||||||
status Using UTF-8.
|
|
||||||
name="Grácè T Emlïn <test@example.com>"
|
|
||||||
else
|
|
||||||
status Using ASCII.
|
|
||||||
name="Grace T Emlin <test@example.com>"
|
|
||||||
fi
|
|
||||||
echo "$name" >>CONTRIBUTORS
|
|
||||||
cat .hg/hgrc | sed "s/Grace.*/$name/" >/tmp/x && mv /tmp/x .hg/hgrc
|
|
||||||
echo '
|
|
||||||
Reviewer: gre@golang.org
|
|
||||||
Description:
|
|
||||||
CONTRIBUTORS: add $name
|
|
||||||
Files:
|
|
||||||
CONTRIBUTORS
|
|
||||||
' | must hg change -i
|
|
||||||
num=$(hg pending | sed 1q | tr -d :)
|
|
||||||
|
|
||||||
status Patch CL.
|
|
||||||
cd $clone2
|
|
||||||
must hg clpatch $num
|
|
||||||
must [ "$num" = "$(firstcl)" ]
|
|
||||||
must hg submit $num
|
|
||||||
|
|
||||||
status Issue should be open with no reviewers.
|
|
||||||
must curl http://$server/api/$num >/tmp/x
|
|
||||||
must not grep '"closed":true' /tmp/x
|
|
||||||
must grep '"reviewers":\[\]' /tmp/x
|
|
||||||
|
|
||||||
status Sync should close issue.
|
|
||||||
cd $clone1
|
|
||||||
must hg sync
|
|
||||||
must curl http://$server/api/$num >/tmp/x
|
|
||||||
must grep '"closed":true' /tmp/x
|
|
||||||
must grep '"reviewers":\[\]' /tmp/x
|
|
||||||
must [ "$(firstcl)" = "" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
test_reviewer() {
|
|
||||||
status Submit without reviewer should fail.
|
|
||||||
cd $clone1
|
|
||||||
echo dummy >dummy
|
|
||||||
must hg add dummy
|
|
||||||
echo '
|
|
||||||
Description:
|
|
||||||
no reviewer
|
|
||||||
Files:
|
|
||||||
dummy
|
|
||||||
' | must hg change -i
|
|
||||||
num=$(firstcl)
|
|
||||||
must not hg submit $num
|
|
||||||
must hg revert dummy
|
|
||||||
must rm dummy
|
|
||||||
must hg change -d $num
|
|
||||||
}
|
|
||||||
|
|
||||||
test_linearity() {
|
|
||||||
status Linearity of changes.
|
|
||||||
cd $clone1
|
|
||||||
echo file1 >file1
|
|
||||||
must hg add file1
|
|
||||||
echo '
|
|
||||||
Reviewer: gre@golang.org
|
|
||||||
Description: file1
|
|
||||||
Files: file1
|
|
||||||
' | must hg change -i
|
|
||||||
must hg submit $(firstcl)
|
|
||||||
|
|
||||||
cd $clone2
|
|
||||||
echo file2 >file2
|
|
||||||
must hg add file2
|
|
||||||
echo '
|
|
||||||
Reviewer: gre@golang.org
|
|
||||||
Description: file2
|
|
||||||
Files: file2
|
|
||||||
' | must hg change -i
|
|
||||||
must not hg submit $(firstcl)
|
|
||||||
must hg sync
|
|
||||||
must hg submit $(firstcl)
|
|
||||||
}
|
|
||||||
|
|
||||||
test_restrict() {
|
|
||||||
status Cannot use hg ci.
|
|
||||||
cd $clone1
|
|
||||||
echo file1a >file1a
|
|
||||||
hg add file1a
|
|
||||||
must not hg ci -m commit file1a
|
|
||||||
must rm file1a
|
|
||||||
must hg revert file1a
|
|
||||||
|
|
||||||
status Cannot use hg rollback.
|
|
||||||
must not hg rollback
|
|
||||||
|
|
||||||
status Cannot use hg backout
|
|
||||||
must not hg backout -r -1
|
|
||||||
}
|
|
||||||
|
|
||||||
test_reviewer
|
|
||||||
test_clpatch
|
|
||||||
test_linearity
|
|
||||||
test_restrict
|
|
||||||
status ALL TESTS PASSED.
|
|
||||||
Loading…
Reference in New Issue