Christian Ebert <blacktrash@gmx.net> [Sat, 12 Apr 2014 18:13:57 +0100] rev 1367
Merge with stable
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 22:12:37 -0700] rev 1366
run-tests: allow test paths in other directories
Previously, test paths were assumed to be in the same directory and
wouldn't have a directory component. If a path with a directory
component was specified, it would be filtered out. This change allow
paths to contain directories. This in turn allows tests from other
directories to be executed.
Executing tests in other directories may break assumptions elsewhere in
the testing code. However, on initial glance, things appear to "just
work." This approach of running tests from other directories is
successfully being used at
https://hg.mozilla.org/hgcustom/version-control-tools/file/7085790ff3af/run-mercurial-tests.py
[ original upstream message ]
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
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
Brendan Cully <brendan@kublai.com> [Thu, 18 Jul 2013 09:42:44 -0700] rev 1287
run-tests: revert previous commit, run() waits after a timeout
[ original upstream message ]
Brendan Cully <brendan@kublai.com> [Thu, 18 Jul 2013 09:39:01 -0700] rev 1286
run-tests: reap timed-out zombies
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Jul 2013 23:58:01 +0200] rev 1285
run-tests: generally handle line endings on windows by re
Recently this regexp was only appended when running a python test. When running
a tsttest there was a separate handling for each line type. Simplify and unify
this.
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Sat, 13 Jul 2013 23:57:55 +0200] rev 1284
run-tests: test for os.altsep instead of os.name when checking \ for /
This tells more explicitly what it is about
[ original upstream message ]
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 13:42:08 -0700] rev 1283
run-tests: replace popen locking with a noop _cleanup handler on py24
This also avoids the race condition, and isn't detrimental to job scheduling.
[ original upstream message ]
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 13:02:12 -0700] rev 1282
run-tests: only lock Popen wait/poll on python 2.4
It can cause scheduling bubbles and is not necessary on newer pythons.
[ original upstream message ]
Brendan Cully <brendan@kublai.com> [Wed, 17 Jul 2013 12:45:12 -0700] rev 1281
run-tests: lock popen wait/poll
In python2.4, any call to Popen() may attempt to wait on any active
process, and wait is not thread-safe. Make it thread-safe.
See http://bugs.python.org/issue1731717 for details.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Tue, 16 Jul 2013 12:44:11 -0500] rev 1280
run-tests: patch over py2.4 proc.wait() race
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Mon, 01 Jul 2013 20:48:56 +0200] rev 1279
cleanup: drop unused variables and an unused import
[ original upstream message ]
Jim Hague <jim.hague@acm.org> [Tue, 30 Apr 2013 14:56:33 +0100] rev 1278
tests: AIX can't handle negative date in test-dirstate.t
test-dirstate.t fails on AIX in the absurd date test. AIX touch errors on
any date prior to 1970. AIX mktime() gives an error on such dates, so the
problem is deeper than touch and attempts to work around touch in Python
failed.
Give up. Add an AIX test to hghave and skip the absurd date test on AIX.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 01 Jul 2013 14:19:04 +0100] rev 1277
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Thu, 13 Jun 2013 01:36:58 +0200] rev 1276
cleanup: remove unused imports
detected by pyflakes
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Jun 2013 19:37:59 +0100] rev 1275
Merge with stable
simon@laptop-tosh [Tue, 11 Jun 2013 23:39:48 +0200] rev 1274
run-tests: sort missing files first instead of raising an error
sort first for early telling typos in test names
[ original upstream message ]
simon@laptop-tosh [Sun, 09 Jun 2013 16:49:08 +0200] rev 1273
run-tests: call Threads constructor with keyword arguments
This is suggested in the python documentation
(on http://docs.python.org/2/library/threading.html#thread-objects)
[ original upstream message ]
simon@laptop-tosh [Sun, 09 Jun 2013 16:42:55 +0200] rev 1272
run-tests: ignoring tests works again
running with --retest did not work anymore because runone still returned None
for this case. But this is not allowed since 6a127fa5de23.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 08 Jun 2013 13:46:05 +0100] rev 1271
Merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 16:04:11 -0500] rev 1270
run-tests: simplify interrupted message
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 15:58:14 -0500] rev 1269
run-tests: remove spurious disable of --time with --debug
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 07 Jun 2013 15:56:16 -0500] rev 1268
run-tests: always gather runtimes
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:05:29 +0200] rev 1267
run-tests: when interrupted report time in failure message
When --time is specified, the interruption message of an interrupted test is
extended with the time the test has run
INTERRUPTED: /path/to/tests/test-example.t (after 513 seconds)
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:05:02 +0200] rev 1266
run-tests: report interrupted tests
When the test run is aborted, a message is printed for each interrupted test.
This is helpful when a test is hanging.
example failure message:
INTERRUPTED: /path/to/tests/test-example.t
The message can appear before or after the line with the number of tests
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Jun 2013 22:42:43 +0200] rev 1265
run-tests: open hgrc file only for writing
The file is not read here. Opening with "w+" is unnecessary.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 06 Jun 2013 22:36:18 +0100] rev 1264
Merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 06 Jun 2013 14:40:26 -0500] rev 1263
run-tests: make --noskips work
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 03 Jun 2013 09:59:32 +0100] rev 1262
Merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 18:09:06 -0500] rev 1261
run-tests: add --loop support
This makes it easy to run tests repeatedly at high loads to look for test failures.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:58:51 -0500] rev 1260
run-tests: --interactive and --jobs no longer conflict
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:58:49 -0500] rev 1259
run-tests: sort certain slow tests earlier by keyword
There are a few tests that evade the size heuristic
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:57:37 -0500] rev 1258
run-tests: drop unused resultslock
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:57:36 -0500] rev 1257
run-tests: drop options.child and users
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:56:53 -0500] rev 1256
run-tests: remove runchildren, now unused
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 17:56:51 -0500] rev 1255
run-tests: schedule largest tests first
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:58:22 -0500] rev 1254
run-tests: introduce thread scheduler
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:55:19 -0500] rev 1253
run-tests: use count to calculate port to use
This will keep threads from using the same server ports
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:38:15 -0500] rev 1252
run-tests: introduce threadtmp directory
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:35 -0500] rev 1251
run-tests: add abort flag
This will be used to help threads clean up gracefully
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:22 -0500] rev 1250
run-tests: move more variables to env
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:29:20 -0500] rev 1249
run-tests: simplify env deletion
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 1248
run-tests: move most of remaining environment tweaks
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 1247
run-tests: move environment creation to a separate function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 1246
run-tests: move HGRCPATH to env
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:51 -0500] rev 1245
run-tests: move DAEMON_PIDS to env
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 16:22:34 -0500] rev 1244
run-tests: move HGPORT setting to env
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 15:33:41 -0500] rev 1243
run-tests: write tmp paths into env copy
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 14:04:55 -0500] rev 1242
run-tests: use env dict to kill daemons
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 02 Jun 2013 13:45:08 -0500] rev 1241
run-tests: add env dict to isolate test environment
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Mon, 27 May 2013 15:24:19 -0500] rev 1240
run-tests: remove some unnecessary globals
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 1239
run-tests: add a log function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 1238
run-tests: make vlog a proper function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:43 -0500] rev 1237
run-tests: unify marks and result codes
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 14:30:35 -0500] rev 1236
run-tests: change return code of runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:53:56 -0500] rev 1235
run-tests: regroup some initialization checks
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:52:05 -0500] rev 1234
run-tests: fix a path existence check
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:51:20 -0500] rev 1233
run-tests: regroup some variable initialization
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:48:25 -0500] rev 1232
run-tests: regroup nested functions
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:47:17 -0500] rev 1231
run-tests: regroup temp dir creation
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:41:20 -0500] rev 1230
run-tests: pull hgrc creation out as function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:34:22 -0500] rev 1229
tests: simplify handling of unknown test types
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:31:44 -0500] rev 1228
run-tests: filter out non-tests from default list
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:23:19 -0500] rev 1227
run-tests: make a table of test types
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 24 May 2013 13:02:00 -0500] rev 1226
run-tests: don't need to test shebang any more
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 05 May 2013 01:25:36 +0100] rev 1225
Merge with stable
Siddharth Agarwal <sid0@fb.com> [Fri, 03 May 2013 15:18:21 -0700] rev 1224
run-tests: when running in parallel, delete tmpdirs immediately
This is especially important if extensions that use inotify are enabled,
because it's very easy to hit the inotify max_user_instances limit without
this.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 20 Apr 2013 13:48:54 +0100] rev 1223
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 10 Oct 2012 21:55:49 +0200] rev 1222
repo: repo isolation, do not pass on repo.ui for creating new repos
A repo should not get the configuration from an other repo, so create it with
the global configuration in repo.baseui.
This is done too when recreating a repo. The repo configuration is reread
anyway. And now deleted repo configuration does not persist.
[ orginal upstream message ]
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:34 +0200] rev 1221
run-tests: introduce --random for running tests in random error
This is convenient when investigating failures one by one to avoid running the
same fixed tests first every time.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 23 Mar 2013 14:43:30 +0000] rev 1220
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Thu, 21 Mar 2013 08:56:21 +0100] rev 1219
run-tests: only sort files when not given as argument
os.listdir returns the files in any order. This has to be sorted.
But when given as argument, the user should be allowed to set any order.
This restores the behaviour before 9848a94e2a.
[ original upstream message ]
Durham Goode <durham@fb.com> [Tue, 12 Mar 2013 10:37:48 -0700] rev 1218
tests: fix test-profile to not depend on HGPROF environment variable
The test-profile test would fail if the user had HGPROF set to another
profiler in their environment. This fix makes the test independent of
that environment variable.
Reverts the previous attempt to fix this, which was not cross platoform.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Feb 2013 11:33:19 +0000] rev 1217
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Mon, 15 Oct 2012 23:28:45 +0200] rev 1216
tests: inform on Windows about unnecessary glob lines
When glob lines directly match on windows, "/" (and not "\") was output in the
path on the line. No glob matching is necessary in this case.
The test output will look like this (when 5 tests have passed and no 4 has an
unnecessary glob):
...
Info, unnecessary glob: info about some/thing (glob)
..
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Wed, 13 Feb 2013 21:58:52 +0100] rev 1215
tests: quickly check if the glob line already matches the output
This happens when a path with "/" as only glob char is matched on a non windows
platform. (Currently one third of all glob matches.)
The slowdown on windows and the speedup on other os are neglectable.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 08 Feb 2013 22:54:17 +0100] rev 1214
export: show 'Date' header in a format that also is readable for humans
'export' is the official export format and used by patchbomb, but it would only
show date as a timestamp that most humans might find it hard to relate to. It
would be very convenient when reviewing a patch to be able to see what
timestamp the patch will end up with.
Mercurial has always used util.parsedate for parsing these headers. It can
handle 'all' date formats, so we could just as well use a readable one.
'export' will now use the format used by 'log' - which is the format described
as 'Unix date format' in the templating help. We assume that all parsers of '#
HG changeset patch'es can handle that.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Feb 2013 01:51:28 +0000] rev 1213
Merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 30 Jan 2013 01:24:04 +0100] rev 1212
test: display used python hash seed
We keep using a random seed for each run, but we "compute" it ourself to be able
to reproduce a failed test run.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 08 Feb 2013 12:11:51 +0000] rev 1211
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 24 Oct 2012 23:09:31 +0200] rev 1210
run-tests: do not fail on empty tsttest file
Initialize n for not failing on empty tsttest files.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 29 Jan 2013 22:19:10 +0000] rev 1209
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Tue, 29 Jan 2013 20:03:51 +0100] rev 1208
run-tests.py: inherit PYTHONHASHSEED from environment if set
This makes it possible to fix the seed by using for instance
PYTHONHASHSEED=7 ./run-tests.py ...
This can be very convenient when trying to debug problems that are influenced
by hash values. Try different seed values until you find one that triggers the
bad behaviour and then keep that while debugging.
The value 0 will restore default Python behavior and disable randomization.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 23 Jan 2013 22:30:58 +0000] rev 1207
Merge with stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 21 Jan 2013 19:40:15 +0100] rev 1206
documentation: update to new filter names
Changeset f3b21beb9802 change filter names but forgot some documentation
updates.
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Sat, 19 Jan 2013 09:40:50 +0000] rev 1205
Merge with stable
Mads Kiilerich <madski@unity3d.com> [Fri, 18 Jan 2013 01:23:51 +0100] rev 1204
run-tests.py: don't let hg run interactively in debug mode
In normal test mode stdin is closed and hg is thus not interactive. In --debug
mode stdin is inherited from the running console and to the tests, and hg could
thus wait in prompts when running on Windows.
See http://selenic.com/pipermail/mercurial-devel/2013-January/047548.html .
Instead set ui.interactive=False to make Mercurial non-interactive. Other
commands might still work differently in the --debug environment.
This should solve the problem with hg waiting for input but still make it
possible to add --debugger to hg in a test and run run-tests.py with --debug.
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Fri, 18 Jan 2013 01:16:16 +0100] rev 1203
run-tests.py: backout "don't use console for stdin when running in debug mode"
f5842787a958 caused that some kind of interactive debugging no longer was
possible - such as running hg with --debugger in a test run with run-tests.py
--debug .
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 16 Jan 2013 20:56:02 +0000] rev 1202
Merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 16 Jan 2013 14:26:19 +0100] rev 1201
get-with-headers: add a --headeronly switch
In some case we do not care about the actual rendering.
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Wed, 16 Jan 2013 02:01:11 +0100] rev 1200
tests: make test-hgweb.t output stable
Instability introduced in combination of a4d7fd7ad1f7 and e389a25e7e60.
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Tue, 15 Jan 2013 20:54:57 +0100] rev 1199
serve: don't send any content headers with 304 responses
Fixes HTTP protocol violation introduced in cf5c76017e11. 'hg serve' would show
a stacktrace when loading pages that not had been modified.
There was test coverage for this, but the wrong response headers wasn't shown
and thus not detected.
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 16 Jan 2013 00:09:26 +0100] rev 1198
destroyed: drop complex branchcache rebuilt logic
The strip code used a trick to lower the cost of branchcache update after a
strip. However is less necessary since we have branchcache collaboration.
Invalid branchcache are likely to be cheaply rebuilt again a near subset of the
repo.
Moreover, this trick would need update to be relevant in the now filtered
repository world. It currently update the unfiltered branchcache that few people
cares about. Make it smarter on that aspect would need complexes update of the
calling logic
So this mechanism is:
- Arguably needed,
- Currently irrelevant,
- Hard to update
and I'm dropping it.
We now update the branchcache in all case by courtesy of the read only reader.
This changeset have a few expected impact on the testsuite are different cache
are updated.
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 16 Jan 2013 00:08:08 +0100] rev 1197
branchmap: update cache of 'unserved' filter on new changesets
The `commitctx` and `addchangegroup` methods of repo upgrade branchcache after
completion. This behavior aims to keep the branchcache in sync for read only
process as hgweb. See ee317dbfb9d0 for details.
Since changelog filtering is used, those calls only update the cache for unfiltered repo.
One of no interest for typical read only process like hgweb.
Note: By chance in basic case, `repo.unfiltered() == repo.filtered('unserved')`
This changesets have the "unserved" cache updated instead. I think this is the
only cache that matter for hgweb.
We could imagine updating all possible branchcaches instead but:
- I'm not sure it would have any benefit impact. It may even increase the odd of
all cache being invalidated.
- This is more complicated change.
So I'm going for updating a single cache only which is already better that
updating a cache nobody cares about.
This changeset have a few expected impact on the testsuite are different cache
are updated.
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Tue, 15 Jan 2013 23:30:10 +0100] rev 1196
tests: run with PYTHONHASHSEED=random
Python set and dict iteration order is in principle undefined but usually
'quite stable'. Setting PYTHONHASHSEED=random will make the iteration order
more random in Python 2.6.8 and 2.7.3 and where it has been backported. This
can thus help spot dependencies on undefined behaviour and prevent future
problems.
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Tue, 15 Jan 2013 13:33:28 -0800] rev 1195
run-tests: exit cleanly if parallel run is interrupted
If interrupted while running with "--jobs N", run-tests asynchronously
spewed a bunch of output and backtraces from both the master and
slave processes, leaving the terminal full of goop. This patch makes
it behave more sensibly.
[ original upstream message ]
Kevin Bullock <kbullock@ringworld.org> [Sun, 13 Jan 2013 01:39:16 -0600] rev 1194
filtering: rename filters to their antonyms
Now that changelog filtering is in place, it's become evident that
naming the filters according to the set of revs _not_ included in the
filtered changelog is confusing. This is especially evident in the
collaborative branch cache scheme.
This changes the names of the filters to reflect the revs that _are_
included:
hidden -> visible
unserved -> served
mutable -> immutable
impactable -> base
repoview.filteredrevs is renamed to filterrevs, so that callers read a
bit more sensibly, e.g.:
filterrevs('visible') # filter revs according to what's visible
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Jan 2013 18:33:15 +0000] rev 1193
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 10 Jan 2013 16:25:06 +0000] rev 1192
test: improve grammar and spelling in branchcache note
See: 769eb1b179b5
Christian Ebert <blacktrash@gmx.net> [Thu, 10 Jan 2013 16:02:08 +0000] rev 1191
Merge with stable
Bryan O'Sullivan <bryano@fb.com> [Wed, 09 Jan 2013 13:16:54 -0800] rev 1190
hghave: introduce a test (unused) for cvs >= 1.12
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 08 Jan 2013 20:37:37 +0100] rev 1189
clfilter: enforce hidden changeset globally
The dispatch code now enables filtering of "hidden" changesets globally. The
filter is installed before command and extension invocation. The `--hidden`
switch is now global and disables this filtering for any command.
Code in log dedicated to changeset exclusion is removed as this global filtering
has the same effect.
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 08 Jan 2013 12:41:51 +0100] rev 1188
branchcache: add note about cache invalidation to test-keyword.t
[Should've been included in aff706b3a21c.]
--Kevin Bullock <kbullock@ringworld.org>
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 02 Jan 2013 01:57:46 +0100] rev 1187
clfilter: add mutable filtering
It filters all mutable changesets, leaving only public changeset unfiltered.
This filtering set is expected to be much more stable that the previous one as
public changeset are unlikely to disapear.
The only official use of this filter is for branchcache.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:14:41 +0100] rev 1186
run-tests.py: fix handling of symlink to the right python
Before: a symlink for python in BINDIR was sometimes created, but it was never
updated when a different Python was used and it was never removed. An invalid
python could thus be left around and used when testing with --local.
Now: the symlink is removed when wrong and created when necessary.
The mechanism for finding the right name (python or python.exe) also had to be
simplified and made more explicit.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Jan 2013 23:30:00 +0000] rev 1185
Merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 07 Jan 2013 17:23:25 +0100] rev 1184
branchmap: allow to use cache of subset
Filtered repository are *subset* of unfiltered repository. This means that a
filtered branchmap could be use to compute the unfiltered version.
And filtered version happen to be subset of each other:
- "all() - unserved()" is a subset of "all() - hidden()"
- "all() - hidden()" is a subset of "all()"
This means that branchmap with "unfiltered" filter can be used as a base for
"hidden" branchmap that itself could be used as a base for unfiltered
branchmap.
unserved < hidden < None
This changeset implements this mechanism. If the on disk branchcache is not valid
we use the branchcache of the nearest subset as base instead of computing it from
scratch. Such fallback can be cascaded multiple time is necessary.
Note that both "hidden" and "unserved" set are a bit volatile. We will add more
stable filtering in next changesets.
This changeset enables collaboration between no filtering and "unserved"
filtering. Fixing performance regression introduced by 47f00b0de337
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:00:43 +0100] rev 1183
run-tests.py: don't use console for stdin when running in debug mode
Tests would wait for input instead of using non-interactive mode.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Jan 2013 02:00:43 +0100] rev 1182
tests: make hghave and run-tests exit on unknown feature requirements
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 04 Jan 2013 20:12:31 +0000] rev 1181
Merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 21 Dec 2012 17:19:52 +0100] rev 1180
localrepo: filter unknown nodes from the phasecache on destroyed
When commit is followed by strip (qrefresh), phasecache contains nodes that were
removed from the changelog. Since phasecache is filecached with .hg/store/phaseroots
which doesn't change as a result of stripping, we have to filter it manually.
If we don't write it immediately, the next time it is read from disk the nodes
will be filtered again. That's what happened before, but there's no reason not
to write it immediately.
The change in test-keyword.t is caused by the above.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 29 Dec 2012 02:35:54 +0000] rev 1179
Merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Dec 2012 00:02:40 +0100] rev 1178
strip: do not update branchcache during strip (issue3745)
At this moment, the cache is invalid, and will be thrown away.
Later the strip function will call the `localrepo.destroyed` method
that will update the branchmap cache.
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 24 Dec 2012 02:49:59 +0100] rev 1177
branchmap: move validity logic in the object itself
In several place, We check if a branchcache is still valid regarding the current
state of the repository. This changeset puts this logic in a method of the object
that can be reused when necessary.
A branch map is considered valid whenever it is up to date or a strict subset of
the repository state.
The change will help making branchcache aware of filtered revision.
The change in keyword is expected. the branch cache is actually invalid after
the amend. The previous check did not detected it.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 21 Dec 2012 15:21:55 +0000] rev 1176
Merge with stable
Bryan O'Sullivan <bos@serpentine.com> [Wed, 12 Dec 2012 15:17:18 -0800] rev 1175
run-tests: fix whitespace nonsense
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Wed, 12 Dec 2012 14:52:58 -0800] rev 1174
run-tests: on windows, put correct python at front of PATH
The older approach of trying to copy the python executable into the test
directory was doomed to fail.
There remains one weakness with this approach: if you've run "make local",
tests may pick up the wrong extension DLLs from inside the source tree. I
don't know why this happens.
A reasonable workaround for now is to test either using --local or with
a working directory that does not contain built DLLs.
[ original upstream message ]
Mads Kiilerich <madski@unity3d.com> [Sun, 09 Dec 2012 23:33:16 +0100] rev 1173
tests: kill daemons early, making breaking at "Accept" prompt safe
[ original upstream message ]
Siddharth Agarwal <sid0@fb.com> [Tue, 11 Dec 2012 15:38:42 -0800] rev 1172
run-tests: fix exename on Windows
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Tue, 11 Dec 2012 15:13:23 -0800] rev 1171
run-tests: support running tests in parallel on windows
Previously, we used os.spawnvp, which doesn't exist on Windows, and
isn't needed anyway (the command line begins with an absolute path).
We also need a slightly more convoluted way to wait for processes
without specifying an order on Windows, as it lacks os.wait.
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Mon, 10 Dec 2012 12:14:55 -0800] rev 1170
run-tests: use correct python safely under --jobs
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Mon, 10 Dec 2012 12:09:02 -0800] rev 1169
run-tests: check for the correct python when starting
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Mon, 10 Dec 2012 12:07:42 -0800] rev 1168
run-tests: use correct python when run with --local
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 28 Nov 2012 23:59:39 +0000] rev 1167
Merge with stable
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 13:09:05 -0800] rev 1166
run-tests: fix an unnoticed check-code violation
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 11:18:33 -0800] rev 1165
run-tests: add a --compiler option
Without this option, it is not possible to run the test suite on Windows
using mingw's gcc as the compiler.
[ original upstream message ]
Bryan O'Sullivan <bryano@fb.com> [Tue, 27 Nov 2012 11:18:31 -0800] rev 1164
run-tests: make build command line less intimidating
Use a dict for parameters to the format string, instead of a
ridiculous number of positional parameters.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Wed, 14 Nov 2012 18:08:39 -0600] rev 1163
run-tests: backout 4a4173519b63
This deleted work in progress to eliminate child processes for -j.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Nov 2012 13:25:00 +0000] rev 1162
Merge with stable
Siddharth Agarwal <sid0@fb.com> [Thu, 08 Nov 2012 14:10:04 -0800] rev 1161
run-tests.py: remove runqueue's results parameter since it is now a global
[ original upstream message ]
Siddharth Agarwal <sid0@fb.com> [Sat, 10 Nov 2012 11:37:41 -0800] rev 1160
run-tests: open child-parent pipes in binary mode
Python's pickle is a binary format.
[ original upstream message ]
Siddharth Agarwal <sid0@fb.com> [Fri, 09 Nov 2012 14:49:30 -0800] rev 1159
run-tests: add --time option to log times for each test
--time also prints out the wall-clock time each test takes in descending order.
[ original upstream message ]
Siddharth Agarwal <sid0@fb.com> [Fri, 09 Nov 2012 15:09:35 -0800] rev 1158
run-tests: remove resultslock since it serves no useful purpose
Each child process has its own copy of the results dict, so all access to the results dict is serial.
[ original upstream message ]
Siddharth Agarwal <sid0@fb.com> [Fri, 09 Nov 2012 14:42:36 -0800] rev 1157
run-tests: use pickle to send results from children to parent
JSON would probably be preferable, but it isn't available for Python 2.4 or 2.5.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 08 Nov 2012 18:35:43 +0000] rev 1156
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 24 Oct 2012 23:09:31 +0200] rev 1155
run-tests: skip unnecessary operations on the args in the child proces
The arguments are already sorted and never empty.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 21 Oct 2012 16:10:25 +0100] rev 1154
Merge with stable
Christian Ebert <blacktrash@gmx.net> [Sun, 21 Oct 2012 16:10:04 +0100] rev 1153
Merge with default
Mads Kiilerich <mads@kiilerich.com> [Thu, 18 Oct 2012 00:44:32 +0200] rev 1152
run-tests: remove dead code for supporting old test scripts
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Thu, 18 Oct 2012 00:33:29 +0200] rev 1151
run-tests: handle windows crlf in .py tests again
Before af7c6bc48d8d all crlf occurrences in test output on Windows were simply
changed to lf. In af7c6bc48d8d it was replaced by more clever handling in the
.t test runner ... but the .py runner was forgotten and many .py tests were
failing on Windows.
The crlf/lf replacement is now reintroduced in the py test runner.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 14 Oct 2012 18:30:42 +0200] rev 1150
run-tests: make it possible to combine (esc) with (glob) and (re)
This makes it possible to combine the annotations ... if done in the right
order.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 15 Oct 2012 02:33:12 +0200] rev 1149
run-tests: alternative way of handling \r on Windows
After f71d60da58fb all \r was stripped from output on Windows, and the places
where a \r explicitly was expected it was accepted that it was missing. Ugly
hack.
Instead we now accept that an extra \r might appear at the end of lines on
Windows. That is more to the point and less ugly.
[ original upstream message ]
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Oct 2012 22:12:15 +0200] rev 1148
amend: add noise in extra to avoid creating obsolescence cycle (issue3664)
Obsolescence cycle are bad and should be avoided as much as possible. The
current amend implemented touch changeset meta data as few as possible. This
make is easy for amend to result in the same node than a precursors. We add some
deterministic noise in extra to avoid this. In practice, the hex of the amended
changeset is stored in 'amend_source' extra key.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 18 Oct 2012 16:28:04 +0200] rev 1147
Move commands.inferrepo for code maintenance
Christian Ebert <blacktrash@gmx.net> [Wed, 17 Oct 2012 17:19:48 +0200] rev 1146
Merge with stable
Siddharth Agarwal <sid0@fb.com> [Tue, 16 Oct 2012 11:43:15 -0700] rev 1145
commands: don't infer repo for commands like update (issue2748)
Maintain a whitelist of commands to infer the repo for instead. The whitelist
contains those commands that take file(s) in the working dir as arguments.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Oct 2012 23:47:40 +0200] rev 1144
Merge with stable
Bryan O'Sullivan <bryano@fb.com> [Thu, 11 Oct 2012 16:05:14 -0700] rev 1143
tests: correctly report a test killed by a signal
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Oct 2012 23:46:19 +0200] rev 1142
Merge with default
Christian Ebert <blacktrash@gmx.net> [Fri, 10 Aug 2012 20:37:20 +0100] rev 1141
Avoid traceback caused by bogus date input (issue3344)
Wrap datefilters which split date texts with util.parsedate.
We do not abort, as the bogus date must have been given by the user.
Christian Ebert <blacktrash@gmx.net> [Thu, 11 Oct 2012 19:46:25 +0200] rev 1140
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 26 Sep 2012 00:56:27 +0200] rev 1139
run-tests: allow test output lines to be terminated with \r in addition to \n
str.splitlines could not be used in 546c76e5a3e6, but _now_ we would like to
have lines with other line endings than \n.
Some fine occurences of (esc) markup of \r is replaced with multiple lines
ending with '\r (no-eol) (esc)'. That is no win but also no significant loss.
This change makes it possible to drop filtercr.py - _that_ is a win.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:37:53 +0200] rev 1138
run-tests: use more explicit criteria for detecting no-eol
Preparing for the situation where there could be unsalted lines not terminated
with \n.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 10 Oct 2012 11:31:01 +0200] rev 1137
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 04 Oct 2012 16:52:20 +0200] rev 1136
subrepo, hghave: use "svn --version --quiet" to determine version number
svn --version --quiet is implemented since svn 0.14.1 (August 2002)
and prints just the version number, not the long output (21 lines)
of "svn --version".
Additionally I expect this output format to be more stable, at least
it is not changed with different translations.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 10 Oct 2012 01:30:45 +0200] rev 1135
run-tests: drop unused enumerate
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 19 Sep 2012 00:59:23 +0100] rev 1134
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Sun, 09 Sep 2012 12:31:14 +0200] rev 1133
test-http-branchmap: enable on Windows
Tests using "hg serve --daemon" are currently disabled on Windows for
lack of proper kill utility. The one shipped with MinGW operates on
internal process identifiers and not on the ones recorded by hg serve.
Fortunately we can replace most of them by calls to killdaemons.py.
This patch is a proof of concept on how to run these tests on Windows.
The plan is:
- Check test-http-branchmap.t does not fail/hang on the buildbot
- Convert all kill utility calls to killdaemons.py calls.
- Add a rule in check-code.py to forbid kill calls, or ignore the
remaining ones (test-hup.t, etc.).
- Possibly drop the 'serve' rule from hghave.
The:
listening at http://*:$HGPORT1/
line does not appear on Windows because the detached process can no
longer write on its parent streams. Grepping hg serve stdout directly
causes the parent process to never return and hangs the test. This is a
bug, but I have no simple solution and prefer to pay this small price
and enable hg serve tests on Windows.
[ orginal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Sep 2012 23:02:29 +0100] rev 1132
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Sat, 28 Jul 2012 23:28:17 +0200] rev 1131
tests: unset variable HG if it is set
When hg tries to call itself it can call a different hg executable when this
variable is set. Some tests fail when the called hg version is different.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 12 Sep 2012 18:44:43 +0100] rev 1130
Merge with stable
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 1129
spelling: destination
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Mon, 20 Aug 2012 22:36:51 +0200] rev 1128
killdaemons: take file argument explicitely
It makes it easier to use as a generic replacement for kill utility,
mostly for Windows tests.
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Sun, 19 Aug 2012 18:06:15 +0200] rev 1127
killdaemons: add windows implementation
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Sun, 19 Aug 2012 16:41:09 +0200] rev 1126
run-tests: do not duplicate killdaemons() code
[ original upstream message ]
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 14 Apr 2010 17:58:10 +0900] rev 1125
pylint, pyflakes: remove unused or duplicate imports
[ original upstream message, already done for run-tests.py ]
Alejandro Santos <alejolp@alejolp.com> [Sun, 05 Jul 2009 11:01:30 +0200] rev 1124
compat: use open() instead of file() everywhere
[ original upstream message only for killdaemons here ]
Matt Mackall <mpm@selenic.com> [Fri, 07 Nov 2008 16:28:53 -0600] rev 1123
tests: add killdaemons helper script
[ orgininal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 30 Aug 2012 16:18:03 +0100] rev 1122
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 15 Aug 2012 22:38:42 +0200] rev 1121
fix trivial spelling errors
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 09 Aug 2012 12:52:34 +0100] rev 1120
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 08 Aug 2012 18:10:16 +0200] rev 1119
check-code: fix check for trailing whitespace on sh command lines
The $ has been without necessary escaping since introduced in c7d23b4ca4ba.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Jul 2012 12:06:34 +0100] rev 1118
Merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 03 Jul 2012 18:02:07 +0200] rev 1117
test-keyword: adapt for Windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 04 Jul 2012 02:04:58 +0200] rev 1116
tests: don't use dates before epoch in test-keyword.t
Timezone offsets of less than a minute is not shown but can cause displayed
dates to be before epoch start - and dates before epoch start is not shown
correctly on Windows (see also 4d5b12a5517b).
These 'negative' dates could be considered undefined behaviour so we don't care
and swap the tests values for timestamp and timezone.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Jul 2012 12:04:06 +0100] rev 1115
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Jun 2012 23:19:35 +0100] rev 1114
Use ui.formatter for kwfiles output
Christian Ebert <blacktrash@gmx.net> [Fri, 22 Jun 2012 13:40:23 +0100] rev 1113
Merge with stable
Joshua Redstone <joshua.redstone@fb.com> [Fri, 18 May 2012 12:45:47 -0700] rev 1112
strip: incrementally update the branchheads cache after a strip
This function augments strip to incrementally update the branchheads cache
rather than recompute it from scratch. This speeds up the performance of strip
and rebase on repos with long history. The performance optimization only
happens if the revisions stripped are all on the same branch and the parents of
the stripped revisions are also on that same branch.
This adds a few test cases, particularly one that reproduces the extra heads
that mpm observed.
[ original upstream message ]