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 ]