Thu, 03 Nov 2011 14:48:56 -0500 tests: add some comments to the unified test code stable
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:48:56 -0500] rev 1000
tests: add some comments to the unified test code [ original upstream message ]
Thu, 03 Nov 2011 14:30:00 -0500 tests: rewrite inline Python support stable
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:30:00 -0500] rev 999
tests: rewrite inline Python support Tests with inline Python could turn '>>>' into their underlying python invocation if the test got updated with -i. [ original upstream message ]
Mon, 07 Nov 2011 13:48:11 +0000 Backout b78cce2b1430 until a proper solution is found stable
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Nov 2011 13:48:11 +0000] rev 998
Backout b78cce2b1430 until a proper solution is found
Mon, 24 Oct 2011 17:02:10 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Mon, 24 Oct 2011 17:02:10 +0100] rev 997
Merge with stable
Sat, 22 Oct 2011 23:21:38 +0200 run-tests: make sure no_proxy/NO_PROXY are empty to fix test-http-proxy.t stable
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:21:38 +0200] rev 996
run-tests: make sure no_proxy/NO_PROXY are empty to fix test-http-proxy.t If no_proxy (or NO_PROXY) includes localhost, the test for detecting an unreachable proxy fails, because the proxy setting is ignored. [ original upstream message ]
Mon, 24 Oct 2011 13:54:59 +0200 keyword: use util.realpath instead of os.path.realpath stable
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:54:59 +0200] rev 995
keyword: use util.realpath instead of os.path.realpath This makes test-keyword.t pass on Python 2.4.1 (e.g. Debian sarge) [ original upstream message ]
Sat, 22 Oct 2011 15:45:19 +0100 Merge with default stable
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:45:19 +0100] rev 994
Merge with default
Fri, 21 Oct 2011 12:07:27 +0100 Correct grammar in iskwfile docstring
Christian Ebert <blacktrash@gmx.net> [Fri, 21 Oct 2011 12:07:27 +0100] rev 993
Correct grammar in iskwfile docstring
Sat, 22 Oct 2011 15:43:48 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:43:48 +0100] rev 992
Merge with stable
Fri, 30 Sep 2011 21:58:54 -0400 rollback: avoid unsafe rollback when not at tip (issue2998) stable
Greg Ward <greg@gerg.ca> [Fri, 30 Sep 2011 21:58:54 -0400] rev 991
rollback: avoid unsafe rollback when not at tip (issue2998) You can get into trouble if you commit, update back to an older changeset, and then rollback. The update removes your valuable changes from the working dir, then rollback removes them history. Oops: you've just irretrievably lost data running nothing but core Mercurial commands. (More subtly: rollback from a shared clone that was already at an older changeset -- no update required, just rollback from the wrong directory.) The fix assumes that only "commit" transactions have irreplaceable data, and allows rolling back non-commit transactions as always. But when rolling back a commit, check that the working dir is checked out to tip, i.e. the changeset we're about to destroy. If not, abort. You can get back the old (dangerous) behaviour with --force. [ original upstream message ]
Sun, 16 Oct 2011 15:32:04 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Oct 2011 15:32:04 +0100] rev 990
Merge with stable
Thu, 13 Oct 2011 17:54:37 +0200 run-tests: end doctest block when seeing a non-command stable
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:37 +0200] rev 989
run-tests: end doctest block when seeing a non-command [ original upstream message ]
Thu, 13 Oct 2011 17:48:29 +0100 Merge with stable
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Oct 2011 17:48:29 +0100] rev 988
Merge with stable
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 ]
(0) -300 -100 -14 +14 +100 +300 tip