Mercurial > hg
annotate tests/blackbox-readonly-dispatch.py @ 31741:728d37353e1e
run-tests: auto-replace 'TXNID' output
Hooks related to the transaction are aware of the transaction id. By definition
this txn-id is unique and different for each transaction. As a result it can
never be predicted in test and always needs matching. As a result, touching any
like with this data is annoying. We solve the problem once and for all by
installing an automatic replacement. In test, this will now show as:
TXNID=TXN:$ID$
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 30 Mar 2017 17:29:03 +0200 |
parents | 0767c2f624c6 |
children | 853bf7d90804 |
rev | line source |
---|---|
28405
1d9d29d4813a
tests: test-dispatch use print_function
timeless <timeless@mozdev.org>
parents:
28404
diff
changeset
|
1 from __future__ import absolute_import, print_function |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
2 import os |
28404
06245740b408
tests: test-dispatch use absolute_import
timeless <timeless@mozdev.org>
parents:
14438
diff
changeset
|
3 from mercurial import ( |
06245740b408
tests: test-dispatch use absolute_import
timeless <timeless@mozdev.org>
parents:
14438
diff
changeset
|
4 dispatch, |
06245740b408
tests: test-dispatch use absolute_import
timeless <timeless@mozdev.org>
parents:
14438
diff
changeset
|
5 ) |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
6 |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
7 def testdispatch(cmd): |
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
8 """Simple wrapper around dispatch.dispatch() |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
9 |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
10 Prints command and result value, but does not handle quoting. |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
11 """ |
28405
1d9d29d4813a
tests: test-dispatch use print_function
timeless <timeless@mozdev.org>
parents:
28404
diff
changeset
|
12 print("running: %s" % (cmd,)) |
14438
08bfec2ef031
dispatch: wrap dispatch related information in a request class
Idan Kamara <idankk86@gmail.com>
parents:
9031
diff
changeset
|
13 req = dispatch.request(cmd.split()) |
08bfec2ef031
dispatch: wrap dispatch related information in a request class
Idan Kamara <idankk86@gmail.com>
parents:
9031
diff
changeset
|
14 result = dispatch.dispatch(req) |
28405
1d9d29d4813a
tests: test-dispatch use print_function
timeless <timeless@mozdev.org>
parents:
28404
diff
changeset
|
15 print("result: %r" % (result,)) |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
16 |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
17 # create file 'foo', add and commit |
9031
3b76321aa0de
compat: use open() instead of file() everywhere
Alejandro Santos <alejolp@alejolp.com>
parents:
5178
diff
changeset
|
18 f = open('foo', 'wb') |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
19 f.write('foo\n') |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
20 f.close() |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
21 testdispatch("add foo") |
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
22 testdispatch("commit -m commit1 -d 2000-01-01 foo") |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
23 |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
24 # append to file 'foo' and commit |
9031
3b76321aa0de
compat: use open() instead of file() everywhere
Alejandro Santos <alejolp@alejolp.com>
parents:
5178
diff
changeset
|
25 f = open('foo', 'ab') |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
26 f.write('bar\n') |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
27 f.close() |
28406
0767c2f624c6
tests: divorce blackbox test from test-dispatch.py
timeless <timeless@mozdev.org>
parents:
28405
diff
changeset
|
28 # remove blackbox.log directory (proxy for readonly log file) |
0767c2f624c6
tests: divorce blackbox test from test-dispatch.py
timeless <timeless@mozdev.org>
parents:
28405
diff
changeset
|
29 os.rmdir(".hg/blackbox.log") |
0767c2f624c6
tests: divorce blackbox test from test-dispatch.py
timeless <timeless@mozdev.org>
parents:
28405
diff
changeset
|
30 # replace it with the real blackbox.log file |
0767c2f624c6
tests: divorce blackbox test from test-dispatch.py
timeless <timeless@mozdev.org>
parents:
28405
diff
changeset
|
31 os.rename(".hg/blackbox.log-", ".hg/blackbox.log") |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
32 testdispatch("commit -m commit2 -d 2000-01-02 foo") |
5095
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
33 |
f3f033def181
Added test for commands.dispatch (especially 88803a69b24)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
34 # check 88803a69b24 (fancyopts modified command table) |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
35 testdispatch("log -r 0") |
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5095
diff
changeset
|
36 testdispatch("log -r tip") |