diff options
author | Ondřej Surý <ondrej@sury.org> | 2012-06-14 13:23:46 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2012-06-14 13:23:46 +0200 |
commit | 917c5fb8ec48e22459d77e3849e6d388f93d3260 (patch) | |
tree | 9c23734a6ffd4d2a8ac99502eda3cc812a8b130b /lib/codereview/test.sh | |
parent | 0003ee229fd33ff46cb5f2fe1e35f5c0284debc4 (diff) | |
download | golang-917c5fb8ec48e22459d77e3849e6d388f93d3260.tar.gz |
Imported Upstream version 1.0.2upstream/1.0.2
Diffstat (limited to 'lib/codereview/test.sh')
-rwxr-xr-x | lib/codereview/test.sh | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/lib/codereview/test.sh b/lib/codereview/test.sh deleted file mode 100755 index 13f2b9cda..000000000 --- a/lib/codereview/test.sh +++ /dev/null @@ -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. |