mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
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.
This commit is contained in:
parent
8a88474c92
commit
189e3f9aca
36
tests/blackbox-readonly-dispatch.py
Normal file
36
tests/blackbox-readonly-dispatch.py
Normal file
@ -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")
|
@ -157,7 +157,7 @@ log rotation
|
||||
$ 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
|
||||
|
Loading…
Reference in New Issue
Block a user