Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 21:52:28 -0700] rev 1365
run-tests: allow option parser to be extended
This patch moves the OptionParser population into its own function so
consumers may modify the OptionParser before arguments are evaluated.
This will allow consumers to add custom options, set different defaults,
etc.
[ original upstream message ]
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 21:41:56 -0700] rev 1364
run-tests: use return values instead of sys.exit
[ original upstream message ]
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 21:37:33 -0700] rev 1363
run-tests: Pass arguments into argument parser
Before, arguments were not passed into the optparse.OptionParser
instance and were coming from sys.argv. This patch enables consumers to
define the list of arguments to parse without having to adjust sys.argv.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Mar 2014 08:44:07 +0000] rev 1362
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Fri, 28 Feb 2014 02:09:00 +0100] rev 1361
tests: add run-tests --changed option for running tests changed in revisions
Convenient when polishing patches and changing details of how they change test
output.
This will probably break in weird ways for revsets with special quoting ... but
it is good enough for run-tests.
Usage example:
yes | ./run-tests.py -li --changed qparent
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 20 Mar 2014 01:02:04 +0000] rev 1360
Merge with stable
Augie Fackler <raf@durin42.com> [Mon, 10 Mar 2014 17:52:42 -0400] rev 1359
killdaemons: drop superfluous L suffix from constant
As far as I'm aware PEP 237[0] means this suffix is superfluous even
on Python 2.4, and we can just drop it, which makes this code happy on
Python 3.
0: http://legacy.python.org/dev/peps/pep-0237/
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 00:19:54 +0100] rev 1358
tests: small refactoring of run-tests' handling of tests list
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Wed, 19 Mar 2014 02:45:14 +0100] rev 1357
config: set a 'source' in most cases where config don't come from file but code
Some extensions set configuration settings that showed up in 'hg showconfig
--debug' with 'none' as source. That was confusing.
Instead, they will now tell which extension they come from.
This change tries to be consistent and specify a source everywhere - also where
it perhaps is less relevant.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Mar 2014 11:19:32 +0000] rev 1356
Merge with stable
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:19:43 -0400] rev 1355
run-tests: move from dict() construction to {} literals
The latter are both faster and more consistent across Python 2 and 3.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 08 Mar 2014 17:38:50 -0600] rev 1354
templating: make -T much more flexible
It can now accept styles and paths and references to settings in
[templates].
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 08 Mar 2014 16:14:08 -0600] rev 1353
changeset_templater: remove use_template method
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 04 Mar 2014 17:24:44 +0000] rev 1352
Merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 04 Mar 2014 09:56:59 -0600] rev 1351
tests: fix unused imports from inotify removal caught by pyflakes
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 01 Mar 2014 16:20:15 -0600] rev 1350
extensions: remove the inotify extension (BC)
This extension has always had correctness issues and has been
unmaintained for years. It is now removed in favor of the third-party
hgwatchman which is maintained and appears to be correct.
Users with inotify enabled in their config files will fall back to
standard status performance.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 02 Mar 2014 13:53:07 +0000] rev 1349
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Sun, 16 Feb 2014 23:41:24 +0100] rev 1348
run-tests: fixed warn detection on failures with too many output
The state "warned" was reported too often. The problem fixed here is that
warnonly was only reset when a line did not match. When there was a line too
much, warnonly remained set.
Fix this by setting more states to warnonly.
More negative testing (testing on result "Failed") has been done this time.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Sun, 16 Feb 2014 23:36:02 +0100] rev 1347
run-tests: fixed warn detection on detecting warn only for lines
The state "warned" was reported too often. The main problem was that
"False == 0" is true in python. Therefore use an empty string instead of 0
for reporting warn only for a line.
The other problem is fixed in the next patch.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 02 Mar 2014 13:51:01 +0000] rev 1346
Merge with default
Christian Ebert <blacktrash@gmx.net> [Tue, 25 Feb 2014 11:11:46 +0000] rev 1345
test can be run without option now
As per c559280de767
Christian Ebert <blacktrash@gmx.net> [Mon, 24 Feb 2014 22:56:19 +0000] rev 1344
Merge with stable
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