Wed, 12 Oct 2011 22:01:14 +0200 tests: add support for inline doctests in test files stable
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:14 +0200] rev 987
tests: add support for inline doctests in test files This adds doctest like syntax to .t files, that can be interleaved with regular shell code: $ echo -n a > file >>> print open('file').read() a >>> open('file', 'a').write('b') $ cat file ab The syntax is exactly the same as regular doctests, so multiline statements look like this: >>> for i in range(3): ... print i 0 1 2 Each block has its own context, i.e.: >>> x = 0 >>> print x 0 $ echo 'foo' foo >>> print x will result in a NameError. Errors are displayed in standard doctest format: >>> print 'foo' bar --- /home/idan/dev/hg/default/tests/test-test.t +++ /home/idan/dev/hg/default/tests/test-test.t.err @@ -2,3 +2,16 @@ > >>> print 'foo' > bar > EOF + ********************************************************************** + File "/tmp/tmps8X_0ohg-tst", line 1, in tmps8X_0ohg-tst + Failed example: + print 'foo' + Expected: + bar + Got: + foo + ********************************************************************** + 1 items had failures: + 1 of 1 in tmps8X_0ohg-tst + ***Test Failed*** 1 failures. + [1] As for the implementation, it's quite simple: when the test runner sees a line starting with '>>>' it converts it, and all subsequent lines until the next line that begins with '$' to a 'python -m heredoctest <<EOF' call with the proper heredoc to follow. So if we have this test file: >>> for c in 'abcd': ... print c a b c d $ echo foo foo It gets converted to: $ python -m heredoctest <<EOF > >>> for c in 'abcd': > ... print c > a > b > c > d > EOF $ echo foo foo And then processed like every other test file by converting it to a sh script. [ original upstream message ]
Sat, 08 Oct 2011 00:24:35 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 08 Oct 2011 00:24:35 +0100] rev 986
Merge with stable
Sun, 02 Oct 2011 14:34:28 -0400 import: wrap a transaction around the whole command stable
Greg Ward <greg@gerg.ca> [Sun, 02 Oct 2011 14:34:28 -0400] rev 985
import: wrap a transaction around the whole command Now 'rollback' after 'import' is less surprising: it rolls back all of the imported changesets, not just the last one. As an extra added benefit, you don't need 'rollback -f' after 'import --bypass', which was an undesired side effect of fixing issue2998 (59e8bc22506e).. Note that this is a different take on issue963, which complained that rollback after importing multiple patches returned the working dir parent to the starting point, not to the second-last patch applied. Since we now rollback the entire import, returning the working dir to the starting point is entirely logical. So this change also undoes a732eebf1958, the fix to issue963, and updates its tests accordingly. Bottom line: rollback after import was weird before issue963, understandable since the fix for issue963, and even better now. [ original upstream message ]
Wed, 14 Sep 2011 16:19:33 +0100 (0.9.2compat) merge with default 0.9.2compat
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 16:19:33 +0100] rev 984
(0.9.2compat) merge with default Adapt preserving filemode. Fix a typo. Clean up last merge.
Wed, 14 Sep 2011 15:34:32 +0100 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:34:32 +0100] rev 983
Merge with default
Sat, 10 Sep 2011 13:23:41 +0100 Make status test after record and kwexpand/kwshrink reliable
Christian Ebert <blacktrash@gmx.net> [Sat, 10 Sep 2011 13:23:41 +0100] rev 982
Make status test after record and kwexpand/kwshrink reliable This guarantees test failure when the dirstate code is omitted at the end of the kwtemplater.overwrite method. kwexpand/kwshrink: Without a 1 second wait the test succeeds sometimes, even when the dirstate of the overwritten file is not forced to normal. record: status after recording an added file allows to check whether normallookup is needed after overwriting.
Wed, 14 Sep 2011 15:30:21 +0100 Preserve file mode when overwriting
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:30:21 +0100] rev 981
Preserve file mode when overwriting
(0) -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 tip