##// END OF EJS Templates
smartset: use native set operations as fast paths...
smartset: use native set operations as fast paths For set operations like "&" and "-", where we know both basesets have their sets ready, and the first set is sorted, use the native Python set operations as a fast path. Note: "+" is not optimized as that will break the ordering. This leads to noticeable improvements on performance: revset | before | after | delta ---------------------------------------------------------------- draft() & draft() & draft() & draft() | 776 | 477 | -39% draft() + draft() + draft() + draft() | 2849 | 2864 | draft() - draft() + draft() - draft() | 943 | 240 | -75% draft() - draft() - draft() - draft() | 557 | 197 | -64% (time measured in microseconds)

File last commit:

r31008:636cf3f7 default
r31020:2d1bf840 default
Show More
test-push-http.t
175 lines | 5.5 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require killdaemons
Matt Mackall
tests: unify test-push-http
r12483
$ hg init test
$ cd test
$ echo a > a
$ hg ci -Ama
adding a
$ cd ..
$ hg clone test test2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd test2
$ echo a >> a
$ hg ci -mb
$ req() {
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
> cat hg.pid >> $DAEMON_PIDS
> hg --cwd ../test2 push http://localhost:$HGPORT/
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 > exitstatus=$?
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 > killdaemons.py
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > echo % serve errors
> cat errors.log
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 > return $exitstatus
Matt Mackall
tests: unify test-push-http
r12483 > }
$ cd ../test
expect ssl error
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
Yuya Nishihara
hgweb: respond 403 forbidden for ssl required error...
r17456 abort: HTTP Error 403: ssl required
Matt Mackall
tests: unify test-push-http
r12483 % serve errors
Yuya Nishihara
hgweb: respond 403 forbidden for ssl required error...
r17456 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error
$ echo '[web]' > .hg/hgrc
$ echo 'push_ssl = false' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error: must have authorized user
$ echo 'allow_push = unperson' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect success
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 $ cat >> .hg/hgrc <<EOF
> allow_push = *
> [hooks]
> changegroup = sh -c "printenv.py changegroup 0"
> pushkey = sh -c "printenv.py pushkey 0"
> EOF
Matt Mackall
tests: unify test-push-http
r12483 $ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Pierre-Yves David
test: use bundle2 in test-push-http...
r25390 remote: pushkey hook: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_OLD=1 HG_RET=1
Jun Wu
tests: use LOCALIP...
r31008 remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:*: (glob)
Matt Mackall
tests: unify test-push-http
r12483 % serve errors
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 0 (undo serve)
Matt Mackall
tests: unify test-push-http
r12483
Steven Brown
httprepo: long arguments support (issue2126)...
r14093 expect success, server lacks the httpheader capability
$ CAP=httpheader
$ . "$TESTDIR/notcapable"
$ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Pierre-Yves David
test: use bundle2 in test-push-http...
r25390 remote: pushkey hook: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_OLD=1 HG_RET=1
Jun Wu
tests: use LOCALIP...
r31008 remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:*: (glob)
Steven Brown
httprepo: long arguments support (issue2126)...
r14093 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 expect success, server lacks the unbundlehash capability
Steven Brown
tests: add script to disable a selected wire protocol capability...
r14011 $ CAP=unbundlehash
$ . "$TESTDIR/notcapable"
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 $ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Pierre-Yves David
test: use bundle2 in test-push-http...
r25390 remote: pushkey hook: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_OLD=1 HG_RET=1
Jun Wu
tests: use LOCALIP...
r31008 remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:*: (glob)
Steven Brown
tests: new test cases for the unbundlehash capability
r13946 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 expect push success, phase change failure
Adrian Buehlmann
test-push-http: fix failing test on Windows...
r17842 $ cat > .hg/hgrc <<EOF
> [web]
> push_ssl = false
> allow_push = *
> [hooks]
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 > prepushkey = sh -c "printenv.py prepushkey 1"
Adrian Buehlmann
test-push-http: fix failing test on Windows...
r17842 > EOF
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 $ req
pushing to http://localhost:$HGPORT/
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Jun Wu
tests: use LOCALIP...
r31008 remote: prepushkey hook: HG_BUNDLE2=1 HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_OLD=1 HG_PENDING=$TESTTMP/test HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:*: (glob)
Pierre-Yves David
test: use bundle2 in test-push-http...
r25390 remote: pushkey-abort: prepushkey hook exited with status 1
Pierre-Yves David
phases: abort the whole push if phases fail to update (BC)...
r25502 remote: transaction abort!
remote: rollback completed
abort: updating ba677d0156c1 to public failed
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 % serve errors
Pierre-Yves David
phases: abort the whole push if phases fail to update (BC)...
r25502 [255]
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793
expect phase change success
FUJIWARA Katsunori
tests: invoke printenv.py via sh -c for test portability...
r30234 $ cat >> .hg/hgrc <<EOF
> prepushkey = sh -c "printenv.py prepushkey 0"
> EOF
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 $ req
pushing to http://localhost:$HGPORT/
searching for changes
Pierre-Yves David
phases: abort the whole push if phases fail to update (BC)...
r25502 remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
Jun Wu
tests: use LOCALIP...
r31008 remote: prepushkey hook: HG_BUNDLE2=1 HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_OLD=1 HG_PENDING=$TESTTMP/test HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:*: (glob)
Wagner Bruna
wireproto: fix pushkey hook failure and output on remote http repo...
r17793 % serve errors
$ hg rollback
repository tip rolled back to revision 0 (undo serve)
Matt Mackall
tests: unify test-push-http
r12483 expect authorization error: all users denied
$ echo '[web]' > .hg/hgrc
$ echo 'push_ssl = false' >> .hg/hgrc
$ echo 'deny_push = *' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Matt Mackall
tests: unify test-push-http
r12483
expect authorization error: some users denied, users must be authenticated
$ echo 'deny_push = unperson' >> .hg/hgrc
$ req
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 pushing to http://localhost:$HGPORT/
Matt Mackall
tests: unify test-push-http
r12483 searching for changes
abort: authorization failed
% serve errors
Yuya Nishihara
test-push-http: include exit status of hg push
r17455 [255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..