Mercurial > hg
changeset 28406:0767c2f624c6
tests: divorce blackbox test from test-dispatch.py
I used test-dispatch.py to demonstrate what would happen if
a log file changed from being readonly to writable, by
having it replace a directory (proxy for readonly/not-writable)
with a log file in between transactions of a running python
process (proxy for Mercurial).
This commit makes it easier for people to follow what the test
is doing, by creating a real file that people can read.
author | timeless <timeless@mozdev.org> |
---|---|
date | Tue, 08 Mar 2016 20:52:57 +0000 |
parents | 1d9d29d4813a |
children | 63da8bd0c65e |
files | tests/blackbox-readonly-dispatch.py tests/test-blackbox.t |
diffstat | 2 files changed, 37 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/blackbox-readonly-dispatch.py Tue Mar 08 20:52:57 2016 +0000 @@ -0,0 +1,36 @@ +from __future__ import absolute_import, print_function +import os +from mercurial import ( + dispatch, +) + +def testdispatch(cmd): + """Simple wrapper around dispatch.dispatch() + + Prints command and result value, but does not handle quoting. + """ + print("running: %s" % (cmd,)) + req = dispatch.request(cmd.split()) + result = dispatch.dispatch(req) + print("result: %r" % (result,)) + +# create file 'foo', add and commit +f = open('foo', 'wb') +f.write('foo\n') +f.close() +testdispatch("add foo") +testdispatch("commit -m commit1 -d 2000-01-01 foo") + +# append to file 'foo' and commit +f = open('foo', 'ab') +f.write('bar\n') +f.close() +# remove blackbox.log directory (proxy for readonly log file) +os.rmdir(".hg/blackbox.log") +# replace it with the real blackbox.log file +os.rename(".hg/blackbox.log-", ".hg/blackbox.log") +testdispatch("commit -m commit2 -d 2000-01-02 foo") + +# check 88803a69b24 (fancyopts modified command table) +testdispatch("log -r 0") +testdispatch("log -r tip")
--- a/tests/test-blackbox.t Tue Mar 08 20:57:40 2016 +0000 +++ b/tests/test-blackbox.t Tue Mar 08 20:52:57 2016 +0000 @@ -157,7 +157,7 @@ $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\ > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\ > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py - $ python ../test-dispatch.py + $ python $TESTDIR/blackbox-readonly-dispatch.py running: add foo result: 0 running: commit -m commit1 -d 2000-01-01 foo