Mercurial > hg
view tests/test-update-branches @ 10753:a1cb8ca051c0 stable
wsgicgi: call close() on iterable to avoid resource leaks
Quoting PEP 333 (WSGI):
"If the iterable returned by the application has a close() method, the server
or gateway must call that method upon completion of the current request,
whether the request was completed normally, or terminated early due to
an error. (This is to support resource release by the application.
This protocol is intended to complement PEP 325's generator support,
and other common iterables with close() methods."
author | Konstantin Zemlyak <zart@zartsoft.ru> |
---|---|
date | Mon, 22 Mar 2010 15:16:27 +0100 |
parents | ea8c207a0f78 |
children |
line wrap: on
line source
#!/bin/sh # Construct the following history tree: # # @ 5:e1bb631146ca b1 # | # o 4:a4fdb3b883c4 0:b608b9236435 b1 # | # | o 3:4b57d2520816 1:44592833ba9f # | | # | | o 2:063f31070f65 # | |/ # | o 1:44592833ba9f # |/ # o 0:b608b9236435 hg init echo foo > foo echo zero > a hg ci -qAm0 echo one > a ; hg ci -m1 echo two > a ; hg ci -m2 hg up -q 1 echo three > a ; hg ci -qm3 hg up -q 0 hg branch -q b1 echo four > a ; hg ci -qm4 echo five > a ; hg ci -qm5 echo % initial repo state echo hg --config 'extensions.graphlog=' \ glog --template '{rev}:{node|short} {parents} {branches}\n' # Test helper functions. revtest () { msg=$1 dirtyflag=$2 # 'clean' or 'dirty' startrev=$3 targetrev=$4 opt=$5 echo % revtest $msg $startrev $targetrev hg up -qC $startrev test $dirtyflag = dirty && echo dirty > foo hg up $opt $targetrev hg parent --template 'parent={rev}\n' hg stat } norevtest () { msg=$1 dirtyflag=$2 # 'clean' or 'dirty' startrev=$3 opt=$4 echo % norevtest $msg $startrev hg up -qC $startrev test $dirtyflag = dirty && echo dirty > foo hg up $opt hg parent --template 'parent={rev}\n' hg stat } # Test cases are documented in a table in the update function of merge.py. # Cases are run as shown in that table, row by row. norevtest 'none clean linear' clean 4 norevtest 'none clean same' clean 2 revtest 'none clean linear' clean 1 2 revtest 'none clean same' clean 2 3 revtest 'none clean cross' clean 3 4 revtest 'none dirty linear' dirty 1 2 revtest 'none dirty same' dirty 2 3 revtest 'none dirty cross' dirty 3 4 revtest '-C dirty linear' dirty 1 2 -C revtest '-c dirty linear' dirty 1 2 -c norevtest '-c clean same' clean 2 -c revtest '-cC dirty linear' dirty 1 2 -cC