[PATCH 3 of 4] tests: divorce blackbox test from test-dispatch.py

timeless timeless at mozdev.org
Tue Mar 8 16:17:41 EST 2016


# HG changeset patch
# User timeless <timeless at mozdev.org>
# Date 1457470377 0
#      Tue Mar 08 20:52:57 2016 +0000
# Node ID 73f4cb2be4cad13d1dbc72f96611cada9b6fe19c
# Parent  4bc1a684c07d918a013c52d3c5c3c7f5802a235b
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.

diff --git a/tests/test-dispatch.py b/tests/blackbox-readonly-dispatch.py
copy from tests/test-dispatch.py
copy to tests/blackbox-readonly-dispatch.py
--- a/tests/test-dispatch.py
+++ b/tests/blackbox-readonly-dispatch.py
@@ -14,9 +14,6 @@
     result = dispatch.dispatch(req)
     print("result: %r" % (result,))
 
-testdispatch("init test1")
-os.chdir('test1')
-
 # create file 'foo', add and commit
 f = open('foo', 'wb')
 f.write('foo\n')
@@ -28,6 +25,10 @@
 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)
diff --git a/tests/test-blackbox.t b/tests/test-blackbox.t
--- a/tests/test-blackbox.t
+++ b/tests/test-blackbox.t
@@ -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


More information about the Mercurial-devel mailing list