Siddharth Agarwal <sid0@fb.com> [Wed, 19 Feb 2014 21:32:14 -0800] rev 1343
run-tests.py: work when --with-hg is set to system hg
Previously we'd always assume that --with-hg is a script in a user directory,
and would write out a 'python' symlink to the same location. That didn't work
if --with-hg was set to a system installation of hg, e.g. /usr/bin/hg.
Introduce a TMPBINDIR directory which is used to write out the python symlink.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 17 Feb 2014 16:30:17 +0000] rev 1342
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Sat, 15 Feb 2014 15:28:32 +0100] rev 1341
run-tests: fix heredoctest for out-of-tree extensions
heredoctest.py directory must be in python path to use heredoctest (>>>) in
out-of-tree extension tests like:
$ cd ext/tests
$ python /some/hg/install/tests/run-tests.py test-ext.t
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:29:44 +0100] rev 1340
run-tests: unnecessary globs also count as warnings
When a glob is unnecessary, now there's a diff output and 'run-tests.py -i'
works for accepting the output.
On windows, some tests which have "passed" currently (with some info lines
printed) will now be reported as "warned". (I recommend to recognize "warned"
by buildbot before applying this patch.)
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:27:53 +0100] rev 1339
run-tests: report a test as warned when only missing globs
On windows, some test reported as failed will now be reported as "warned".
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:26:13 +0100] rev 1338
run-tests: add possibility for test-runners to report a "warned" test result
A test result is recognized as "warned" when the test runner returns the exit
code False. (False is similar to 0, which is reporting a command has run
sucessfully.)
The only difference in display is that the failure message while running writes
"Warning:" instead of "ERROR:". The diff output is the same as when the test
fails. Runing "run-tests.py -i" asks to accept the changed result also for
tests reported as "warned".
When running tests, a "warned" test would look like this:
..
--- xxxx\tests\test-something.t
+++ xxxx\tests\test-something.t.err
@@ -1279,7 +1279,7 @@
$ echo anything
$ hg commit -S -m whatever
committing subrepository s
- committing subrepository s/sbs
+ committing subrepository s/sbs (glob)
warning: something happened
committing subrepository t
$ echo something
Warning: xxxx\tests\test-sOMETHING.t output changed
~.s...s...s..
Reporting a test result as "warned" will be used in following patches.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:17:39 +0100] rev 1337
run-tests: separate exit code when no failed tests but warned ones
This can be used by buildbot to set the result "warnings" instead of "failed".
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:14:54 +0100] rev 1336
run-tests: introduce 'warned' as test result
While running, a test resulting in 'warned' is shown as '~'.
Test results with state warned are listed between the skipped and the failed
tests. Example:
Skipped test-revert-flags.t: missing feature: executable bit
Skipped test-inotify-lookup.t: missing feature: inotify extension support
Warned test-something.t: output changed
Failed test-largefiles.t: output changed
Failed test-subrepo.t: output changed
# Ran 11 tests, 2 skipped, 1 warned, 2 failed.
The test result "warned" will be used in later patches.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 08:02:06 +0100] rev 1335
run-tests: handle sys.exit in main function
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Feb 2014 07:29:28 +0100] rev 1334
run-tests: remove unnecessary variable initialisation
ret is always set before it is used, so remove ret = 0
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 14 Feb 2014 09:52:13 +0100] rev 1333
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 12 Feb 2014 16:09:18 +0100] rev 1332
tests: killdaemons.py for windows distinguishes access violation and terminated
To distinguish between access violaition (process belonging to another user)
and a terminated process, PROCESS_QUERY_INFORMATION must be enabled. But
TerminateProcess still raises error 5 in both cases. Therefore check before if
the process has already terminated.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Wed, 12 Feb 2014 15:38:59 +0100] rev 1331
tests: killdaemons.py for checks reason when getting no process handle
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Fri, 17 Jan 2014 21:13:20 +0100] rev 1330
tests: killdaemons.py for windows waits for killed process to terminate
After kill, wait for the process to terminate. When it does not in time,
write a debug message similar as in other os. But no 2nd forceful attempt
is done.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Fri, 17 Jan 2014 21:13:08 +0100] rev 1329
tests: kill for windows in killdaemons.py checks return values
The return values of the windll calls are checked and when an error is
indicated, it is raised. The handle is still closed properly.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 11 Feb 2014 22:50:56 +0100] rev 1328
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Tue, 11 Feb 2014 01:15:07 +0100] rev 1327
run-tests: fix typo and print out failing line
Instead of stripping the newline and printing the line, only the newline was
printed.
The output on buildbot will make more sense now.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 10 Feb 2014 14:08:42 +0100] rev 1326
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Wed, 05 Feb 2014 01:37:37 +0100] rev 1325
tests: ignore http tests that are known wontfix failures on python 2.4
As mentioned on http://bz.selenic.com/show_bug.cgi?id=2739#c17 , b3083042bdda
left test-http.t failing on Python < 2.4.3. That has not been noticed because
most 2.4 testing has been done with a patched 2.4.2.
This makes sure that the tests only are run for Python >= 2.4.3. That makes it
possible to verify that everything else works with Python 2.4.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 04 Feb 2014 00:22:20 +0100] rev 1324
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Mon, 20 Jan 2014 01:29:54 +0100] rev 1323
tests: 'hghave tic' also requires curses support in Python
test-status-color.t would fail when using a Python without curses.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 17 Jan 2014 15:32:21 +0000] rev 1322
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 12:08:57 +0100] rev 1321
run-tests: print more information on unnecessary glob matching
Extend the message with the test name and the approximate line number. (The
line number is the one of the command producing the output.)
Finding the line to fix is easier now.
old message:
......
Info, unnecessary glob: at a/b/c (glob)
..
new message:
......
Info, unnecessary glob in test-example.t (after line 9): at a/b/c (glob)
..
The test result is still pass as before.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 12:08:29 +0100] rev 1320
run-tests: suggest to append glob when only path sep does not match
When the line does not match because of \ instead of / (on windows), append
(glob) in the expected output.
This allows to rename test-bla.t.err to test-bla.t for getting a correct
output. This worked for other failures like missing (esc), but not here.
Output example (only +- lines of diff):
Before:
- path/with/local/sep
+ path\\with\\local/sep
Now:
- path/with/local/sep
+ path/with/local/sep (glob)
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 12:06:49 +0100] rev 1319
run-tests: test each line matching function on its own
This has several advantages.
* Each match function can return some information to the caller runone (used in
the next patch).
* It is not checked that the line ends in " (glob)" when rematch() returns
false.
* And it looks more readable.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 11:26:54 +0100] rev 1318
run-tests: set the thread name to the test name for info on error
This does not happen when running normal. But when fiddling around with
the test infrastructure, this helps a lot.
Old traceback messge
Exception in thread Thread-7:
Traceback (most recent call last):
...
new traceback message
Exception in thread test-something.t:
Traceback (most recent call last):
...
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Thu, 16 Jan 2014 18:55:35 +0100] rev 1317
run-tests: report tests as failed when run-test raises an error
Before no message was returned to the main thread. No result was registered
and no new thread was started.
This does not happen when running normal. But when fiddling around with
the test infrastructure, this helps a lot.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Tue, 07 Jan 2014 22:29:39 +0100] rev 1316
cleanup: Remove the only ever used skip-check-code pragma
Use the work-around suggested by the rule instead
[ original upstream message ]
Augie Fackler <raf@durin42.com> [Wed, 06 Nov 2013 18:19:04 -0500] rev 1315
pathutil: tease out a new library to break an import cycle from canonpath use
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 14 Jan 2014 15:51:15 +0000] rev 1314
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Mon, 25 Nov 2013 22:00:46 +0100] rev 1313
run-tests: better check for python version
Compare version by using pythons tuple comparison. So we do not match on python
3.0 or newer.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Nov 2013 12:59:05 +0000] rev 1312
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Sat, 23 Nov 2013 01:06:20 +0100] rev 1311
tests: fix `hghave root` on windows
This lets tests\test-hghave.t pass on windows where geteuid does not exist.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Nov 2013 12:57:12 +0000] rev 1310
Merge with default
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Nov 2013 12:55:08 +0000] rev 1309
wlock while setting branch in kwdemo
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Nov 2013 12:26:54 +0000] rev 1308
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Sun, 17 Nov 2013 10:59:35 -0500] rev 1307
tests: python hash seed is only relevant after failures - otherwise keep quiet
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Nov 2013 17:30:23 +0000] rev 1306
Merge with stable
Sean Farley <sean.michael.farley@gmail.com> [Fri, 15 Nov 2013 22:57:11 -0500] rev 1305
run-tests: remove files that we potentially create outside of $TMPDIR
[ original upstream message ]
Sean Farley <sean.michael.farley@gmail.com> [Fri, 15 Nov 2013 22:56:08 -0500] rev 1304
run-tests: remove code that creates a dummy 'diffstat'
This was introduced in fb1d7a42663c for an old test that is no longer the same.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 14 Nov 2013 18:07:43 -0600] rev 1303
tests: skip tests that require not having root (issue4089)
This adds a new root hghave to test against. Almost all of these are a
subset of unix-permissions, but that is also used for checking exec
bit handling.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 01 Nov 2013 17:14:49 +0000] rev 1302
Merge with stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 1301
hghave: add "py3k" feature to check whether test runs with Python 3.x
This patch adds "py3k" feature to check whether test runs with Python
3.x.
This check is needed for portability of test code: for example, in the
default, modules are imported relatively first with python 2.x, but
imported absolutely with Python 3.x.
[ original upstream message ]
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 05 Oct 2013 01:02:22 +0900] rev 1300
hghave: add "absimport" feature to check "absolute_import" in __future__
This patch adds "absimport" feature to check whether "absolute_import"
exists in __future__, which means supporting module loading by
absolute name.
This check is needed for portability of test code using
"absolute_import", because Python earlier than 2.5 doesn't support it.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Oct 2013 13:51:33 +0100] rev 1299
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Thu, 03 Oct 2013 14:50:47 +0200] rev 1298
run-tests: place the .t shell script next to $TESTTMP and with a useful name
--keep can thus keep it around - very convenient for debugging.
[ original upstream message ]
Javi Merino <cibervicho@gmail.com> [Wed, 02 Oct 2013 22:46:32 +0100] rev 1297
get-with-headers: don't block indefinitely if the server had an internal error
If the server had an internal error and returned 500, there's nothing
to read, so "response.read()" blocks indefinitely. Only output the
response if there's really a response.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 02 Oct 2013 01:22:11 +0100] rev 1296
Merge with stable
David Soria Parra <dsp@experimentalworks.net> [Thu, 29 Aug 2013 09:22:13 -0700] rev 1295
shelve: add a shelve extension to save/restore working changes
This extension saves shelved changes using a temporary draft commit,
and bundles the temporary commit and its draft ancestors, then
strips them.
This strategy makes it possible to use Mercurial's bundle and merge
machinery to resolve conflicts if necessary when unshelving, even
when the destination commit or its ancestors have been amended,
squashed, or evolved. (Once a change has been unshelved, its
associated unbundled commits are either rolled back or stripped.)
Storing the shelved change as a bundle also avoids the difficulty
that hidden commits would cause, of making it impossible to amend
the parent if it is a draft commits (a common scenario).
Although this extension shares its name and some functionality with
the third party hgshelve extension, it has little else in common.
Notably, the hgshelve extension shelves changes as unified diffs,
which makes conflict resolution a matter of finding .rej files and
conflict markers, and cleaning up the mess by hand.
We do not yet allow hunk-level choosing of changes to record.
Compared to the hgshelve extension, this is a small regression in
usability, but we hope to integrate that at a later point, once the
record machinery becomes more reusable and robust.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 24 Sep 2013 03:12:59 +0100] rev 1294
Merge with stable
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 15:29:28 -0400] rev 1293
run-tests: find mercurial path with syntax valid on both py2 and py3
[ original upstream message ]
Augie Fackler <raf@durin42.com> [Thu, 19 Sep 2013 15:29:04 -0400] rev 1292
run-tests: if run by python3, execute setup.py with --c2to3
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 05 Aug 2013 13:19:38 +0100] rev 1291
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Fri, 26 Jul 2013 21:18:40 -0400] rev 1290
run-tests: only check the common criteria once per test
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 18 Jul 2013 23:22:59 -0500] rev 1289
run-tests: backout 4f32747879d1 line endings change
It made the windows buildbot sad.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 19 Jul 2013 00:37:26 +0100] rev 1288
Merge with stable