aboutsummaryrefslogtreecommitdiff
path: root/lib/codereview/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/codereview/test.sh')
-rwxr-xr-xlib/codereview/test.sh199
1 files changed, 0 insertions, 199 deletions
diff --git a/lib/codereview/test.sh b/lib/codereview/test.sh
deleted file mode 100755
index 4bef9b6c5d..0000000000
--- a/lib/codereview/test.sh
+++ /dev/null
@@ -1,199 +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 --port 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]
-testing=true
-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 --tbr 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
- # dev_appserver.py used to crash with UTF-8 input.
- if true; 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 --tbr gre@golang.org $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 --tbr gre@golang.org $(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 --tbr gre@golang.org $(firstcl)
- must hg sync
- must hg submit --tbr gre@golang.org $(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.