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 ]
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Jun 2012 14:04:15 +0100] rev 1111
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 1110
run-tests: replace inline python handling with more native scheme
Normally changes in tests are reported like this in diffs:
$ cat foo
- a
+ b
Using -i mode lets us update tests when the new results are correct
and/or populate tests with their output.
But with the standard doctest framework, inline Python sections in
tests changes instead result in a big failure report that's unhelpful.
So here, we replace the doctest calls with a simple compile/eval loop.
[ original upstream message - missed change to heredoctest ]
Brodie Rao <brodie@bitheap.org> [Tue, 01 Nov 2011 12:25:54 -0700] rev 1109
tests: fix readline escape characters in heredoctest.py/test-url.py
This fix mirrors the changes made to test-doctest.py in b856071435f7
and 967adcf5910d.
Without this change, tests running heredoctest.py can fail on certain
versions of OS X when TERM is set to xterm-256color:
$ /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m heredoctest <<EOF
> >>> open('b', 'w').write('this' * 1000)
> EOF
+ \x1b[?1034h (no-eol) (esc)
A similar problem occurs with test-url.py:
$ ./run-tests.py test-url.py
--- .../tests/test-url.py.out
+++ .../tests/test-url.py.err
@@ -0,0 +1 @@
+
ERROR: .../test-url.py output changed
!
Failed test-url.py: output changed
# Ran 1 tests, 0 skipped, 1 failed.
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:35 +0200] rev 1108
tests: remove temp doctest file when finished running it
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:13 +0200] rev 1107
tests: add helper script for processing doctests read from stdin
Writes stdin to a temp file and doctests it.
In the future we might want to spare the temp file and directly call into
doctest.
Also, with some tweaking it seems possible to adjust the line numbers reported
in an error report so they match the ones in the original file.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Thu, 21 Jun 2012 03:05:02 +0200] rev 1106
tests: prepare get-with-headers.py for MSYS
get-with-headers.py took the http GET parameter as a command line parameter
that had to start with '/'. MSYS on windows will mangle such paths.
Instead of applying a workaround everywhere (such as an extra '/') we let
get-with-headers.py add the mandatory '/'. That is consistent with the
url path handling in the Mercurial url class.
A few tests sent 'GET ?cmd=...' which is invalid. They will now send 'GET
/?cmd=...'.
This will not enable any tests for being run on windows - only remove one
reason they were disabled.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 1105
tests: hghave outer-repo should be true even if a bad repo is found
Only the abort message 'no repository found' is a reliable indication that
there is no outer repo.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Wed, 20 Jun 2012 23:41:21 +0200] rev 1104
tests: add missing no-outer-repo requirements
Outer repos (if any) will now never be touched by the tests. But it is better
to run without any repos around the tmp directory.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Jun 2012 16:00:31 +0100] rev 1103
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1102
tests: introduce hghave hardlinks
Some tests can't be run on FAT filesystems because it doesn't support
hardlinks.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1101
tests/hghave: test that the inotify unix socket actually can be created
Inotify do not work on FAT filesystems.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1100
tests/hghave: test that a fifo actually can be created on the filesystem
Some tests were failing on FAT filesystems.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 15 Jun 2012 00:02:27 +0200] rev 1099
tests/hghave: consistently use dir='.', prefix=tempprefix for tempfiles
Some feature tests were done in the wrong directory and could thus give the
wrong result.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Thu, 14 Jun 2012 12:54:54 +0200] rev 1098
tests/hghave: extract hghave.py
hghave is degraded to a bare script, moving the functions to hghave.py
so they can be shared later on.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 11 Jun 2012 13:56:02 +0100] rev 1097
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 11 Jun 2012 01:40:51 +0200] rev 1096
tests: add missing trailing 'cd ..'
Many tests didn't change back from subdirectories at the end of the tests ...
and they don't have to. The missing 'cd ..' could always be added when another
test case is added to the test file.
This change do that tests (99.5%) consistently end up in $TESTDIR where they
started, thus making it simpler to extend them or move them around.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1095
tests: convert some 'hghave symlink' to #if
This will enable some tests for windows.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1094
tests: use the right directory for running hghave from run-tests.py
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sun, 10 Jun 2012 18:50:42 +0200] rev 1093
tests: make .t tests stop immediately if a cd fails
This prevents tests from escaping from TESTTMP as a consequence of a failing
directory creation.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Jun 2012 16:32:22 +0100] rev 1092
Merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Jun 2012 15:11:05 +0200] rev 1091
tests/hghave: implement #if true / #if false
For unconditionally testing / skipping a section. Useful for testing the test
infrastructure in test-run-tests.t and for debugging/developing tests.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Sun, 10 Jun 2012 03:05:59 +0200] rev 1090
tests/run-tests: avoid C:/ in arguments
MSYS replaces C:/... in arguments with C;... as it interprets the C:/ as a
colon separated POSIX path list. The colon is replaced with ; (path separator
on Windows) according to
http://www.mingw.org/wiki/Posix_path_conversion
So we must not replace \ with / for neither $TESTTMP nor $TESTDIR, but we
have to keep replacing \ with / for the Popen4 call of function hghave. If we
don't do the latter, test-run-tests.t will fail with
$ python run-tests.py --local test-run-tests.t
--- C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t
+++ C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t.err
@@ -70,6 +70,7 @@
tested
#else
$ echo skipped
+ skipped
#endif
#if false
An additional tweak in test-ssh.t is needed that globs away an encoded path,
as it can't be translated back to $TESTTMP, because the backslashes in the
output have been already encoded as %5C.
This patch makes test-ssh.t pass in MSYS on Windows.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Sun, 27 May 2012 18:25:04 +0200] rev 1089
hghave: wrap command in 'sh -c "..."' for has_pyflakes()
Without this, the has_pyflakes() check always fails in MSYS on Windows.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Jun 2012 15:11:05 +0200] rev 1088
tests/run-tests: use $TMP on Windows (issue3490)
This is just a short-term workaround for that issue. More work needs to be
done on scmutil.canonpath & friends.
$TMP on Windows is specified to be defined, and it has correct casing, so we
can use that as the default dir for tempfile.mkdtemp on Windows.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 05 Jun 2012 00:20:53 +0100] rev 1087
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Fri, 01 Jun 2012 02:25:12 +0200] rev 1086
tests: introduce c-style conditional sections in .t tests
This makes it possible to have conditional sections like:
#if windows
$ echo foo
foo
#else
$ echo bar
bar
#endif
The directives and skipped sections are treated like comments, so don't
interleave them with commands and their output.
The parameters to #if are evaluated while preparing the test by passing them
over to hghave. Requirements can thus be negated with 'no-' prefix, and
multiple requirements must all be true to return true.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Wed, 30 May 2012 14:28:57 +0200] rev 1085
run-tests: don't add python lines to expected dict
For test input lines of *.t files starting with ' >>> ', the code block for
' >>> '
609: if l.startswith(' >>> '): # python inlines
610: after.setdefault(pos, []).append(l)
was (unsurprisingly) executed, but because there was an "if" instead of an
"elif" on the condition "l.startswith(' ... ')", program execution proceeded
to line 636
635: elif l.startswith(' '): # results
636: # queue up a list of expected results
637: expected.setdefault(pos, []).append(l[2:])
due to the fact that if l starts with ' >>> ' it also starts with ' '.
The net effect was that python command lines in *.t files were (surprisingly)
also added to the "expected" dict.
This caused no externally observable bad behavior, as the "expected" dict was
not consulted for these lines.
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Sun, 03 Jun 2012 19:35:23 +0200] rev 1084
run-test: replace backslashes in TESTDIR
This may cause troubles in MSYS on Windows.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 02 Jun 2012 10:09:59 +0200] rev 1083
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1082
Update copyleft
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1081
Wlock cmdutil.copy wrapper
Expanding/shrinking happens outside the wrapped copy function;
therefore write lock the repo.
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:50 +0200] rev 1080
Support commit --amend (issue3471)
Include a test as well.
Christian Ebert <blacktrash@gmx.net> [Thu, 31 May 2012 12:47:49 +0200] rev 1079
Rename kwt.record attribute to kwt.postcommit
A more general descriptive name, as the attribute will be used
for commit --amend as well.
Christian Ebert <blacktrash@gmx.net> [Fri, 18 May 2012 01:21:54 +0100] rev 1078
Merge with stable
Augie Fackler <raf@durin42.com> [Tue, 15 May 2012 14:37:49 -0500] rev 1077
hgext: mark all first-party extensions as such
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 18 May 2012 01:21:22 +0100] rev 1076
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 13 May 2012 14:26:26 +0100] rev 1075
Intentionally ignore check-code warning about unwrapped ui message
Christian Ebert <blacktrash@gmx.net> [Sun, 13 May 2012 14:39:47 +0100] rev 1074
Merge with stable
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:57 +0200] rev 1073
cleanup: "not x in y" -> "x not in y"
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:02:45 +0200] rev 1072
cleanup: replace naked excepts with more specific ones
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 16:00:53 +0200] rev 1071
cleanup: replace hasattr() usage with getattr() in hghave
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 15:56:23 +0200] rev 1070
cleanup: "x != None" -> "x is not None"
[ original upstream message ]
Brodie Rao <brodie@sf.io> [Sat, 12 May 2012 15:54:54 +0200] rev 1069
cleanup: eradicate long lines
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Tue, 08 May 2012 15:46:51 -0500] rev 1068
tests: set a standard terminal type
This makes test-ui-color.py happy when run in a dumb terminal.
Spotted by Jesse Glick <jesse.glick@oracle.com>
[ original upstream message ]
Patrick Mezard <patrick@mezard.eu> [Thu, 10 May 2012 18:21:15 +0200] rev 1067
repair: no need to call filterunknown() in strip()
Calling strip() will eventually trigger localrepo.destroyed() which will
invalidate _parseroots. It will call filterunknown() upon reload.
Changes to test-keyword.t are related to commit --debug running after
either qpop or rollback.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 29 Apr 2012 16:58:42 +0100] rev 1066
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 28 Apr 2012 01:22:47 +0200] rev 1065
tests: don't require 'hg' without extension on windows
Hackable uses hg.exe instead.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 06 Apr 2012 22:53:24 +0200] rev 1064
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Wed, 04 Apr 2012 15:59:56 +0200] rev 1063
hghave: remove symlink test made useless by ac0da5caebec
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 04 Apr 2012 09:31:47 +0200] rev 1062
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 03 Apr 2012 19:06:35 +0200] rev 1061
tests: make tests work if directory contains special characters
With this quoting tests will work e.g. in "/tmp/foo bar/mercurial/".
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 03 Apr 2012 16:34:50 +0100] rev 1060
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 02 Apr 2012 17:02:03 -0500] rev 1059
tests: shorten post-test sleeps
This helps expose races
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 02 Apr 2012 17:28:55 +0100] rev 1058
Merge with stable
A. S. Budden <abudden@gmail.com> [Fri, 30 Mar 2012 22:08:46 +0100] rev 1057
record: allow splitting of hunks by manually editing patches
It is possible that unrelated changes in a file are on sequential lines. The
current record extension does not allow these to be committed independently.
An example use case for this is in software development for deeply embedded
real-time systems. In these environments, it is not always possible to use a
debugger (due to time-constraints) and hence inline UART-based printing is
often used. When fixing a bug in a module, it is often convenient to add a
large number of 'printf's (linked to the UART via a custom fputc) to the module
in order to work out what is going wrong. printf is a very slow function (and
also variadic so somewhat frowned upon by the MISRA standard) and hence it is
highly undesirable to commit these lines to the repository. If only a partial
fix is implemented, however, it is desirable to commit the fix without deleting
all of the printf lines. This is also simplifies removal of the printf lines
as once the final fix is committed, 'hg revert' does the rest. It is likely
that the printf lines will be very near the actual fix, so being able to split
the hunk is very useful in this case.
There were two alternatives I considered for the user interface. One was to
manually edit the patch, the other to allow a hunk to be split into individual
lines for consideration. The latter option would require a significant
refactor of the record module and is less flexible. While the former is
potentially more complicated to use, this is a feature that is likely to only
be used in certain exceptional cases (such as the use case proposed above) and
hence I felt that the complexity would not be a considerable issue.
I've also written a follow-up patch that refactors the 'prompt' code to base
everything on the choices variable. This tidies up and clarifies the code a
bit (removes constructs like 'if ret == 7' and removes the 'e' option from the
file scope options as it's not relevant there. It's not really a necessity, so
I've excluded it from this submission for now, but I can send it separately if
there's a desire and it's on bitbucket (see below) in the meantime.
Possible future improvements include:
* Tidying up the 'prompt' code to base everything on the choices variable.
This would allow entries to be removed from the prompt as currently 'e' is
offered even for entire file patches, which is currently unsupported.
* Allowing the entire file (or even multi-file) patch to be edited manually:
this would require quite a large refactor without much benefit, so I decided
to exclude it from the initial submission.
* Allow the option to retry if a patch fails to apply (this is what Git does).
This would require quite a bit of refactoring given the current 'hg record'
implementation, so it's debatable whether it's worth it.
Output is similar to existing record user interface except that an additional
option ('e') exists to allow manual editing of the patch. This opens the
user's configured editor with the patch. A comment is added to the bottom of
the patch explaining what to do (based on Git's one).
A large proportion of the changeset is test-case changes to update the options
reported by record (Ynesfdaq? instead of Ynsfdaq?). Functional changes are in
record.py and there are some new test cases in test-record.t.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 1056
tests: make hghave handle exec bit on Linux with vfat
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sat, 31 Mar 2012 10:44:31 -0500] rev 1055
tests: teach hghave to actually test for symlink support
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 31 Mar 2012 17:14:32 +0100] rev 1054
Merge with stable
Dirkjan Ochtman <dirkjan@ochtman.nl> [Sat, 11 Sep 2010 10:57:35 +0200] rev 1053
tests: fix incompatibility with python-2.4 in test-hgweb
Thanks to lcantey for catching it.
[ original upstream message ]
Dirkjan Ochtman <dirkjan@ochtman.nl> [Wed, 08 Sep 2010 15:11:35 +0200] rev 1052
tests: extend get-with-headers to support cache testing
[ original upstream message ]
Nicolas Dumazet <nicdumz.commits@gmail.com> [Wed, 14 Apr 2010 17:58:10 +0900] rev 1051
pylint, pyflakes: remove unused or duplicate imports
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Feb 2012 14:18:19 +0000] rev 1050
Merge with stable
Patrick Mezard <patrick@mezard.eu> [Tue, 07 Feb 2012 18:47:16 +0100] rev 1049
mq: restore _branchtags() fast path (issue3223)
Since a5917346c72e, mq saves the nodeid of the first applied patch to
cache/branchheads, which breaks the optimized cache handling introduced in
fbf8320f25c8. The problem is the revision being committed is appended to
mqrepo.applied after the commit succeeds, which means mqrepo._branchtags()
performs a regular update and write the first applied patch to the branch
cache.
One solution is to set a context variable _committingpatch on the mqrepo while
it is committing a patch and to take it in account when deciding to fast-path
mqrepo._branchtags(). Not really elegant but it works.
The changes to test-mq-caches.t reverse changes introduced by a5917346c72e. The
cache should not have been updated with mq records.
The changes to test-keyword.t are indirectly caused by a5917346c72e.
Reported and analyzed by Yuya Nishihara <yuya@tcha.org>
Notes:
- qpush still makes a slow path _branchtags() call when checking heads. Maybe
this can be optimized.
- be careful when merging this patch in default as secretcommit() was renamed
newcommit() right after the end of the code freeze.
[ original upstream message ]
Jim Hague <jim.hague@acm.org> [Wed, 08 Feb 2012 16:56:00 +0000] rev 1048
tests: tighten checks for octal escapes in shell printf.
printf on AIX default shell ksh (89) says \1 is an invalid escape. It insists
on at least 2 digits. This causes failures in test-keyword.t and test-status.t.
check-code.py already looks out for \NNN and recommends using Python
for outputting octal values. Extend the check to \NN and \N and fix up
resulting failures.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 23 Jan 2012 16:21:12 +0100] rev 1047
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:56:27 +0100] rev 1046
run-tests: expand user in --with-hg
This makes it possible to run:
$ ./run-tests.py --with-hg=~/hg-bin/hg
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Fri, 20 Jan 2012 01:24:16 +0100] rev 1045
tests: let run-tests.py default to use 'sh' in $PATH instead of '/bin/sh'
This makes it easier to run tests on systems that have a usable sh in the
search path but not in the standard location.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sat, 14 Jan 2012 01:55:50 +0100] rev 1044
tests: add 'set -x' to the .t sh scripts in run-tests.py debug mode
This makes -d output much more readable when debugging the test framework or
very strange test failures.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jan 2012 02:01:05 +0100] rev 1043
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 15 Jan 2012 13:37:33 +0100] rev 1042
Update filectx.cmp monkeypatch to handle '\1\n' at start of file
Analogous to 012b285cf643 in mercurial main.
Sune Foldager <cryo@cyanite.org> [Wed, 18 Jan 2012 16:46:15 +0100] rev 1041
phases: use nodemap to check for missing nodes
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jan 2012 01:50:48 +0100] rev 1040
Merge with stable
Markus Zapke-Gr?ndemann <info@keimlink.de> [Wed, 11 Jan 2012 15:38:31 +0100] rev 1039
tests: add htmlcov option
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 12 Jan 2012 14:39:02 -0600] rev 1038
run-tests: use a list comprehension instead of map
[ original upstream message ]
Markus Zapke-Gr?ndemann <info@keimlink.de> [Wed, 11 Jan 2012 15:37:25 +0100] rev 1037
tests: fix omit path list
All directories need a trailing asterisk. Otherwise the files are not excluded
from coverage.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 09 Dec 2011 00:10:00 +0100] rev 1036
Merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 08 Dec 2011 14:32:44 -0600] rev 1035
branch: warn on branching
[ orginal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 24 Nov 2011 06:43:43 +0000] rev 1034
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 1033
tests: use an alias to make msys 'pwd' return paths with forward slashes
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 1032
tests: skip cvs tests with msys on windows
They will fail with weird 'ssh' errors.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 01:49:20 +0100] rev 1031
tests: introduce 'hghave msys' to skip tests that would fail because of msys
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 24 Nov 2011 06:42:48 +0000] rev 1030
Merge with default
Christian Ebert <blacktrash@gmx.net> [Wed, 23 Nov 2011 01:20:32 +0000] rev 1029
test-keyword: use inline doctest syntax
Christian Ebert <blacktrash@gmx.net> [Mon, 21 Nov 2011 11:52:11 +0000] rev 1028
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 21 Nov 2011 00:39:32 +0100] rev 1027
tests: skip color test on platforms without tic
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 21 Nov 2011 11:51:46 +0000] rev 1026
Merge with default
Make tests/hgave executable on stable branch too.
Christian Ebert <blacktrash@gmx.net> [Fri, 18 Nov 2011 11:06:59 +0000] rev 1025
Merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 16 Nov 2011 18:04:19 -0600] rev 1024
merge: give a special message for internal:merge failure (issue3105)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 16 Nov 2011 12:55:59 +0000] rev 1023
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Wed, 16 Nov 2011 03:45:14 +0100] rev 1022
tests: use the specified shell for running old fashioned sh tests
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Nov 2011 09:39:33 +0000] rev 1021
Merge with stable
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Nov 2011 09:38:45 +0000] rev 1020
Make hghave executable
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1019
run-tests: make $TESTTMP matching case-insensitive on windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1018
run-tests: don't quote command names - that do apparently not work with msys
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1017
tests: ignore \r on windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1016
run-tests: convert windows paths to unix
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:25:10 +0100] rev 1015
tests: make (glob) on windows accept \ instead of /
Globbing is usually used for filenames, so on windows it is reasonable and very
convenient that glob patterns accepts '\' or '/' when the pattern specifies
'/'.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:24:53 +0100] rev 1014
tests: use 'hghave serve' to guard tests that requires serve daemon management
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 1013
tests: use 'hghave system-sh' to guard tests that requires sh in system()
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 1012
tests: use 'hghave no-windows' to avoid testing reserved file names on windows
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:55 +0100] rev 1011
tests: use 'hghave unix-permissions' for tests that really use chmod
chmod of helper scripts is not included.
tests that exercise the x bit in the file system uses 'hghave execbit'.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 03:14:54 +0100] rev 1010
tests: use 'hghave symlink' for tests using symlinks
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Nov 2011 02:44:04 +0100] rev 1009
tests: make '(esc)' matching in run-tests.py work as intended
The code for match on (esc) lines didn't work, and it would thus always end up
emitting another suggestion ... which however would match the old one.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Nov 2011 13:45:20 +0000] rev 1008
Merge with default
Christian Ebert <blacktrash@gmx.net> [Wed, 09 Nov 2011 13:44:57 +0000] rev 1007
Add hghave test as of 5635a4017061
Christian Ebert <blacktrash@gmx.net> [Tue, 08 Nov 2011 18:13:53 +0000] rev 1006
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Nov 2011 13:46:41 -0600] rev 1005
run-tests: replace inline python handling with more native scheme
Normally changes in tests are reported like this in diffs:
$ cat foo
- a
+ b
Using -i mode lets us update tests when the new results are correct
and/or populate tests with their output.
But with the standard doctest framework, inline Python sections in
tests changes instead result in a big failure report that's unhelpful.
So here, we replace the doctest calls with a simple compile/eval loop.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Nov 2011 13:52:03 +0000] rev 1004
Merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:18:10 -0500] rev 1003
run-tests: minor cleanups
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 15:08:45 -0500] rev 1002
run-tests: pull out line matching function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:51:04 -0500] rev 1001
run-tests: pull out unified matching funcs
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:48:56 -0500] rev 1000
tests: add some comments to the unified test code
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 03 Nov 2011 14:30:00 -0500] rev 999
tests: rewrite inline Python support
Tests with inline Python could turn '>>>' into their underlying python
invocation if the test got updated with -i.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Nov 2011 13:48:11 +0000] rev 998
Backout b78cce2b1430 until a proper solution is found
Christian Ebert <blacktrash@gmx.net> [Mon, 24 Oct 2011 17:02:10 +0100] rev 997
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 22 Oct 2011 23:21:38 +0200] rev 996
run-tests: make sure no_proxy/NO_PROXY are empty to fix test-http-proxy.t
If no_proxy (or NO_PROXY) includes localhost, the test for detecting an
unreachable proxy fails, because the proxy setting is ignored.
[ original upstream message ]
Thomas Arendsen Hein <thomas@intevation.de> [Mon, 24 Oct 2011 13:54:59 +0200] rev 995
keyword: use util.realpath instead of os.path.realpath
This makes test-keyword.t pass on Python 2.4.1 (e.g. Debian sarge)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:45:19 +0100] rev 994
Merge with default
Christian Ebert <blacktrash@gmx.net> [Fri, 21 Oct 2011 12:07:27 +0100] rev 993
Correct grammar in iskwfile docstring
Christian Ebert <blacktrash@gmx.net> [Sat, 22 Oct 2011 15:43:48 +0100] rev 992
Merge with stable
Greg Ward <greg@gerg.ca> [Fri, 30 Sep 2011 21:58:54 -0400] rev 991
rollback: avoid unsafe rollback when not at tip (issue2998)
You can get into trouble if you commit, update back to an older
changeset, and then rollback. The update removes your valuable changes
from the working dir, then rollback removes them history. Oops: you've
just irretrievably lost data running nothing but core Mercurial
commands. (More subtly: rollback from a shared clone that was already
at an older changeset -- no update required, just rollback from the
wrong directory.)
The fix assumes that only "commit" transactions have irreplaceable
data, and allows rolling back non-commit transactions as always. But
when rolling back a commit, check that the working dir is checked out
to tip, i.e. the changeset we're about to destroy. If not, abort. You
can get back the old (dangerous) behaviour with --force.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Oct 2011 15:32:04 +0100] rev 990
Merge with stable
Idan Kamara <idankk86@gmail.com> [Thu, 13 Oct 2011 17:54:37 +0200] rev 989
run-tests: end doctest block when seeing a non-command
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 13 Oct 2011 17:48:29 +0100] rev 988
Merge with stable
Idan Kamara <idankk86@gmail.com> [Wed, 12 Oct 2011 22:01:14 +0200] rev 987
tests: add support for inline doctests in test files
This adds doctest like syntax to .t files, that can be interleaved with regular
shell code:
$ echo -n a > file
>>> print open('file').read()
a
>>> open('file', 'a').write('b')
$ cat file
ab
The syntax is exactly the same as regular doctests, so multiline statements
look like this:
>>> for i in range(3):
... print i
0
1
2
Each block has its own context, i.e.:
>>> x = 0
>>> print x
0
$ echo 'foo'
foo
>>> print x
will result in a NameError.
Errors are displayed in standard doctest format:
>>> print 'foo'
bar
--- /home/idan/dev/hg/default/tests/test-test.t
+++ /home/idan/dev/hg/default/tests/test-test.t.err
@@ -2,3 +2,16 @@
> >>> print 'foo'
> bar
> EOF
+ **********************************************************************
+ File "/tmp/tmps8X_0ohg-tst", line 1, in tmps8X_0ohg-tst
+ Failed example:
+ print 'foo'
+ Expected:
+ bar
+ Got:
+ foo
+ **********************************************************************
+ 1 items had failures:
+ 1 of 1 in tmps8X_0ohg-tst
+ ***Test Failed*** 1 failures.
+ [1]
As for the implementation, it's quite simple: when the test runner sees a line
starting with '>>>' it converts it, and all subsequent lines until the next
line that begins with '$' to a 'python -m heredoctest <<EOF' call with the
proper heredoc to follow. So if we have this test file:
>>> for c in 'abcd':
... print c
a
b
c
d
$ echo foo
foo
It gets converted to:
$ python -m heredoctest <<EOF
> >>> for c in 'abcd':
> ... print c
> a
> b
> c
> d
> EOF
$ echo foo
foo
And then processed like every other test file by converting it to a sh script.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 08 Oct 2011 00:24:35 +0100] rev 986
Merge with stable
Greg Ward <greg@gerg.ca> [Sun, 02 Oct 2011 14:34:28 -0400] rev 985
import: wrap a transaction around the whole command
Now 'rollback' after 'import' is less surprising: it rolls back all of
the imported changesets, not just the last one. As an extra added
benefit, you don't need 'rollback -f' after 'import --bypass', which
was an undesired side effect of fixing issue2998 (59e8bc22506e)..
Note that this is a different take on issue963, which complained that
rollback after importing multiple patches returned the working dir
parent to the starting point, not to the second-last patch applied.
Since we now rollback the entire import, returning the working dir to
the starting point is entirely logical. So this change also undoes
a732eebf1958, the fix to issue963, and updates its tests accordingly.
Bottom line: rollback after import was weird before issue963,
understandable since the fix for issue963, and even better now.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 16:19:33 +0100] rev 984
(0.9.2compat) merge with default
Adapt preserving filemode.
Fix a typo.
Clean up last merge.
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:34:32 +0100] rev 983
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sat, 10 Sep 2011 13:23:41 +0100] rev 982
Make status test after record and kwexpand/kwshrink reliable
This guarantees test failure when the dirstate code is omitted at
the end of the kwtemplater.overwrite method.
kwexpand/kwshrink:
Without a 1 second wait the test succeeds sometimes, even when
the dirstate of the overwritten file is not forced to normal.
record:
status after recording an added file allows to check whether
normallookup is needed after overwriting.
Christian Ebert <blacktrash@gmx.net> [Wed, 14 Sep 2011 15:30:21 +0100] rev 981
Preserve file mode when overwriting
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Aug 2011 12:56:43 +0200] rev 980
Merge with default
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Aug 2011 12:54:11 +0200] rev 979
Avoid x = a and b or c
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Aug 2011 09:38:40 +0100] rev 978
Merge with stable
Augie Fackler <durin42@gmail.com> [Mon, 25 Jul 2011 16:37:18 -0500] rev 977
tests: use getattr instead of hasattr
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Jul 2011 08:39:48 +0100] rev 976
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Wed, 13 Jul 2011 19:23:08 +0200] rev 975
run-tests: fix summary when accepting changes interactively
Accepted changes were not counted as success.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 07 Jul 2011 12:54:12 +0100] rev 974
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 03 Jul 2011 12:58:03 +0200] rev 973
Reuse already present working contexts for match
Shortens overlong line as side-effect.
Christian Ebert <blacktrash@gmx.net> [Fri, 01 Jul 2011 14:52:14 +0200] rev 972
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:36:38 +0200] rev 971
run-test: revert most of 439ed4721a6d, timeout uses fallback for terminate()
[ original upstream message ]
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 30 Jun 2011 16:25:05 +0200] rev 970
run-tests: fallback to SIGTERM if subprocess.Popen does not have terminate()
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 20 Jun 2011 12:02:52 +0200] rev 969
Merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 18 Jun 2011 16:52:51 -0500] rev 968
scmutil: switch match users to supplying contexts
The most appropriate context is not always clearly defined. The obvious cases:
For working directory commands, we use None
For commands (eg annotate) with single revs, we use that revision
The less obvious cases:
For commands (eg status, diff) with a pair of revs, we use the second revision
For commands that take a range (like log), we use None
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 14 Jun 2011 20:35:21 +0200] rev 967
Merge with stable
Idan Kamara <idankk86@gmail.com> [Sun, 12 Jun 2011 17:26:20 +0300] rev 966
run-tests: verbose log ignored test
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Jun 2011 15:03:58 +0200] rev 965
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sat, 11 Jun 2011 14:17:25 +0200] rev 964
patch: generalize the use of patchmeta in applydiff()
- Add patchmeta.copy() and emit copies from iterhunks. Modifying patchmeta
instances in applydiff() makes things simpler.
- Rename selectfile() into makepatchmeta(). It is responsible for creating
patchmeta for regular patches.
- Pass patchmeta objects to patchfile() directly
patchmeta instances were associated with git patches, for regular patches we
had to pass additional variables to tell the patch intent to patchfile().
Instead, we generate patchmeta for regular patches and pass them. This will
also help with patch filtering by matcher objects.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Jun 2011 00:12:10 +0100] rev 963
Merge with stable
Augie Fackler <durin42@gmail.com> [Tue, 31 May 2011 20:39:04 -0500] rev 962
run-tests: allow whitelisting tests that should always run
It's desirable to run some tests all the time, for example
test-check-pyflakes.t and test-check-code-hg.py. This allows passing
--whitelist as a path to a file (flag can be specified more than once)
which contains a list of files to whitelist. Whitelisted tests are run
even if they're blacklisted or wouldn't match a --keyword test
run. For example, to do a quick test of usehttp2, one can now do
$ cat > test-whitelist <<EOF
> test-check-pyflakes.t
> test-check-code-hg.py
> EOF
$ (cd tests && ./run-tests.py --extra-config-opt 'ui.usehttp2=true'
> -k http -j 8 --whitelist test-whitelist)
and have all http-specific tests run as well as the two code linters.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 28 May 2011 15:16:55 +0100] rev 961
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sat, 28 May 2011 11:44:27 +0200] rev 960
run-tests: fix --blacklist (broken by 95715c2f90bf)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 28 May 2011 03:19:16 +0100] rev 959
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:10 +0200] rev 958
patch: use temporary files to handle intermediate copies
git patches may require copies to be handled out-of-order. For instance, take
the following sequence:
* modify a
* copy a into b
Here, we have to generate b from a before its modification. To do so,
applydiff() was scanning for copy metadata and performing the copies before
processing the other changes in-order. While smart and efficient, this approach
complicates things by handling file copies and file creations at different
places and times. While a new file must not exist before being patched a copied
file already exists before applying the first hunk.
Instead of copying the files at their final destination before patching, we
store them in a temporary file location and retrieve them when patching. The
filestore always stores file content in real files but nothing prevents adding
a cache layer. The filestore class was kept separate from fsbackend for at
least two reasons:
- This class is likely to be reused as a temporary result store for a future
repository patching call (entries just have to be extended to contain copy
sources).
- Delegating this role to backends might be more efficient in a repository
backend case: the source files are already available in the repository itself
and do not need to be copied again. It also means that third-parties backend
would have to implement two other methods. If we ever decide to merge the
filestore feature into backend, a minimalistic approach would be to compose
with filestore directly. Keep in mind this copy overhead only applies for
copy/rename sources, and may even be reduced to copy sources which have to
handled ahead of time.
[ original upstream message ]
Patrick Mezard <pmezard@gmail.com> [Fri, 27 May 2011 21:50:09 +0200] rev 957
patch: refactor file creation/removal detection
The patcher has to know if a file is being created or removed to check if the
target already exists, or to actually unlink the file when a hunk emptying it
is applied. This was done by embedding the creation/removal information in the
first (and only) hunk attached to the file.
There are two problems with this approach:
- creation/removal is really a property of the file being patched and not its
hunk.
- for regular patches, file creation cannot be deduced at parsing time: there
are case where the *stripped* file paths must be compared. Modifying hunks
after their creation is clumsy and prevent further refactorings related to
copies handling.
Instead, we delegate this job to selectfile() which has all the relevant
information, and remove the hunk createfile() and rmfile() methods.
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:48 +0300] rev 956
run-tests: fix --blacklist with jobs > 1
filter blacklisted tests before partitioning them
to the children.
maintains the 'Skipped...' output but not the 's'.
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Fri, 27 May 2011 17:46:47 +0300] rev 955
run-tests: slightly simplify blacklist check
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 19 May 2011 00:51:06 +0200] rev 954
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Wed, 18 May 2011 23:48:13 +0200] rev 953
patch: set desired mode when patching, not in updatedir()
This patch and the following aim at merging _updatedir() actions into
_applydiff().
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 18 May 2011 23:30:45 +0200] rev 952
Merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 May 2011 15:45:57 +0200] rev 951
run-tests: print a newline after all warnings
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 18 May 2011 00:44:15 +0200] rev 950
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Tue, 17 May 2011 23:46:15 +0200] rev 949
patch: extract fs access from patchfile into fsbackend
Most filesystem calls are already isolated in patchfile but this is not enough:
renames are performed before patchfile is available and some chmod calls are
even done outside of the applydiff call. Once all these calls are extracted
into a backend class, we can provide cleaner APIs to write to a working
directory context directly into the repository.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 17 May 2011 13:45:25 +0200] rev 948
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:56:26 +0200] rev 947
run-tests: replace chdir() with Popen cwd option
[ original upstream message ]
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:54:43 +0200] rev 946
run-tests: make --debug run in the temporary test directory
[ original upstream message ]
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:52:28 +0200] rev 945
run-tests: use the common test path on Windows and Java
The alternate one did not run in the test directory and controlling
the jobs execution with threads instead of process made it harder
to fix.
[ original upstream message ]
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:41:46 +0200] rev 944
run-tests: ignore timeout when Popen.terminate is unavailable
Popen.terminate was introduced in python 2.6
[ original upstream message ]
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:26:50 +0200] rev 943
run-tests: fix hg.bat python reference
hg.bat expects to live in pythonxx/scripts and the python interpreter
to be in pythonxx. run-tests.py file layout is a little different and
python location must be fixed.
[ original upstream message ]
Patrick Mezard <pmezard@gmail.com> [Mon, 16 May 2011 21:24:14 +0200] rev 942
run-tests: fix python executable detection and copy on Windows
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 14 May 2011 13:26:49 +0200] rev 941
Merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 13 May 2011 14:58:24 -0500] rev 940
scmutil: drop aliases in cmdutil for match functions
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 12 May 2011 19:45:46 +0200] rev 939
Merge with stable
Martin Geisler <mg@aragost.com> [Thu, 12 May 2011 14:31:07 +0200] rev 938
keyword: use cmdutil.command decorator
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 10 May 2011 01:44:09 +0200] rev 937
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 09 May 2011 17:20:15 +0200] rev 936
run-tests: remove check on --shell argument
No shell is needed when executing Python tests and finding a good
shell might be difficult/impossible on some platforms (e.g., Windows).
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Sat, 07 May 2011 21:01:15 +0300] rev 935
run-tests: take the basepath when constructing the test temp dir
so it's possible to run tests that are outside the test/ dir
[ original upstream message ]
Idan Kamara <idankk86@gmail.com> [Sat, 07 May 2011 20:56:43 +0300] rev 934
run-tests: compare absolute paths in _checkhglib
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 06 May 2011 20:13:10 +0200] rev 933
Merge with stable
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 20:04:49 +0200] rev 932
run-tests: add --shell command line flag
This makes it easy to test with, say, both /bin/bash and /bin/dash
instead of changing the system-wide /bin/sh.
[ original upstream message ]
Martin Geisler <mg@lazybytes.net> [Thu, 05 May 2011 20:03:43 +0200] rev 931
run-tests: use type of default to convert environment variable
Before, defaults could only be integers, they can now also be strings,
floats and what have you.
[ original upstream message ]
Augie Fackler <durin42@gmail.com> [Wed, 04 May 2011 10:39:10 -0500] rev 930
run-tests.py: correctly handle list options with parallel tasks
[ original upstream message ]
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:18 +0200] rev 929
prevent transient leaks of file handle by using new helper functions
These leaks may occur in environments that don't employ a reference
counting GC, i.e. PyPy.
This implies:
- changing opener(...).read() calls to opener.read(...)
- changing opener(...).write() calls to opener.write(...)
- changing open(...).read(...) to util.readfile(...)
- changing open(...).write(...) to util.writefile(...)
[ original upstream description ]
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:20:29 +0200] rev 928
localrepo: reuse parent manifest in commitctx if no files have changed
This speeds up the in-memory version of debugbuilddag that I'm
working on considerably for the case where we want to build just
a 00changelog.i (for discovery tests, for instance).
There are a couple of test changes because node ids in tests
have changed.
The changes to the patch names in test-mq-qdelete.t were required
because they could collide with nodeid abbreviations and newly
actually do (patch "c" collides with id "cafe..." for patch "b").
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Sun, 01 May 2011 18:18:31 +0100] rev 927
Merge with stable
Augie Fackler <durin42@gmail.com> [Sun, 01 May 2011 08:00:25 -0500] rev 926
run-tests: add flag to provide extra hgrc options for test runs
[ original upstream message ]
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 925
tests: move test bundles in a bundles/ subdirectory
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 01 May 2011 10:37:57 +0100] rev 924
Merge with stable
Idan Kamara <idankk86@gmail.com> [Sat, 30 Apr 2011 15:20:27 +0300] rev 923
run-tests: print a new line before writing the diff
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 30 Apr 2011 11:41:20 +0100] rev 922
Merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 20:29:22 +0300] rev 921
run-tests: don't count test as succeeded if it failed
regressed around ec4ae5727f07
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sat, 30 Apr 2011 01:25:43 +0100] rev 920
Merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 25 Apr 2011 17:01:34 -0500] rev 919
run-tests: do chdir for tests under a lock for thread safety
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Mon, 25 Apr 2011 16:17:08 -0500] rev 918
run-tests: add iolock to vlog
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Apr 2011 23:09:47 +0100] rev 917
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 18:42:31 +0200] rev 916
run-tests: display diff before prompting with --interactive
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 17:52:46 -0500] rev 915
run-tests: fix some missing i/o locks
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:46:37 -0500] rev 914
run-tests: add a lock for console I/O
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:15 -0500] rev 913
run-tests: switch timeout handling from alarm to helper thread
This should be slightly more portable than signals and be compatible
with threaded dispatch.
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:11 -0500] rev 912
run-tests: add locking on results struct
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Apr 2011 01:42:21 +0100] rev 911
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:33:48 +0200] rev 910
run-tests: fix --interactive (after 994ad067ac6e)
- Do not prompt if there is no .err file
- Fix source and target paths
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 14:04:34 -0500] rev 909
run-tests: move test loop into a helper function
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 12:24:22 -0500] rev 908
run-tests: use a results dict
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:36:40 -0500] rev 907
run-tests: move blacklist and retest filtering to runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:32:05 -0500] rev 906
run-tests: keep a list of passed tests
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:24:27 -0500] rev 905
run-tests: move keyword checking into runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:22:02 -0500] rev 904
run-tests: add ignores list
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 18:38:30 -0500] rev 903
run-tests: move existence/name format check into runone
[ original upstream message ]
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 18:19:45 -0500] rev 902
run-tests: move interactive handling into runone
[ original upstream message ]
Adrian Buehlmann <adrian@cadifra.com> [Wed, 20 Apr 2011 21:41:41 +0200] rev 901
move canonpath from util to scmutil
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Apr 2011 20:51:39 +0200] rev 900
Merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 09 Apr 2011 15:52:19 -0500] rev 899
tests: better output on timeouts
Formerly, timeouts would generate huge scrollback-destroying diffs and
weird -15 return codes in the summary. Now we simply report "timed
out".
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 05 Apr 2011 16:35:41 +0200] rev 898
Merge with stable
Martin Geisler <mg@aragost.com> [Tue, 05 Apr 2011 11:07:25 +0200] rev 897
keyword: convert a verbatim block to a field list
[ orginal upstream message ]
Christian Ebert <blacktrash@gmx.net> [Sun, 27 Mar 2011 13:15:35 +0200] rev 896
Merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 25 Mar 2011 22:15:37 +0200] rev 895
tests: set HOME to the test temp dir (issue2707)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 14 Mar 2011 23:11:14 +0100] rev 894
Merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 14 Mar 2011 12:26:50 +0100] rev 893
Offer additional datefilters when the extension is enabled
Before the additional datefilters (utcdate, svnisodate, svnutcdate)
were used when kwtemplater was initialized. Now they always be used
once the extension is enabled.
Christian Ebert <blacktrash@gmx.net> [Mon, 14 Mar 2011 12:19:59 +0100] rev 892
Docstrings for additional date filters
Christian Ebert <blacktrash@gmx.net> [Sat, 12 Mar 2011 13:19:55 +0100] rev 891
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sat, 12 Mar 2011 12:46:31 +0100] rev 890
templates: document missing keywords or filters
Keywords keywords are not documented yet but are turned into function
definitions to avoid lambda docstring weirdness.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 10 Mar 2011 22:02:02 +0100] rev 889
Merge with stable
Martin Geisler <mg@aragost.com> [Thu, 10 Mar 2011 13:43:47 +0100] rev 888
tests: use $TESTTMP more and use (glob) less
This locks down the test output a little more.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Thu, 10 Mar 2011 22:01:08 +0100] rev 887
stable: merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Mar 2011 14:43:27 +0100] rev 886
README: minimal test command line
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Mar 2011 14:41:14 +0100] rev 885
Merge with stable
Gilles Moris <gilles.moris@free.fr> [Thu, 10 Feb 2011 09:03:06 +0100] rev 884
rollback: clarifies the message about the reverted state (issue2628)
Previously, when rolling back a transaction, some users could be confused
between the level to which the store is rolled back, and the new parents
of the working directory.
$ hg rollback
rolling back to revision 4 (undo commit)
With this change:
$ hg rollback
repository tip rolled back to tip revision 4 (undo commit)
working directory now based on revision 2 and 1
So now the user can realize that the store has been rolled back to an older
tip, but also that the working directory may not on the tip (here we are
rolling back the merge of the heads 2 and 1)
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 07 Mar 2011 14:34:27 +0100] rev 883
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sun, 06 Mar 2011 14:19:57 +0100] rev 882
run-tests: handle mixed comment lines in blacklists
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 15 Feb 2011 10:40:29 +0100] rev 881
Merge with stable
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:23:01 +0100] rev 880
explicitly close files
Add missing calls to close() to many places where files are
opened. Relying on reference counting to catch them soon-ish is not
portable and fails in environments with a proper GC, such as PyPy.
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Fri, 11 Feb 2011 04:55:00 +0100] rev 879
Merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 02 Feb 2011 23:21:13 +0100] rev 878
run-tests: only call WIFEXITED on systems it exists
not on Windows or in jython
[ original upstream message ]
Simon Heimberg <simohe@besonet.ch> [Tue, 01 Feb 2011 20:47:05 +0100] rev 877
run-tests: loadable as module
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 26 Jan 2011 17:49:11 +0000] rev 876
stable: merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 23 Jan 2011 03:15:44 +0100] rev 875
Move repo.__class__ assignment out of monkeypatch context
A cosmetic change to improve readability.
Christian Ebert <blacktrash@gmx.net> [Sun, 23 Jan 2011 03:15:39 +0100] rev 874
Inform user about current keywordset in kwdemo
The kwdemo --default output now looks roughly like this:
configuration using default cvs keywordset
[extensions]
keyword =
[keyword]
demo.txt =
[keywordset] * section added with this change
svn = False
[keywordmaps]
...
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Jan 2011 15:45:26 +0100] rev 873
Update documentation for kwshrink
* remove obsolete reference to potential problems with merge and import
* emphasize that running kwshrink before configuration changes which
affect active/expanded keywords is mandatory
Christian Ebert <blacktrash@gmx.net> [Sat, 11 Dec 2010 12:49:10 +0100] rev 872
Merge with default
Christian Ebert <blacktrash@gmx.net> [Sun, 05 Dec 2010 13:07:28 +0100] rev 871
Make kwfiles show deleted files configured for expansion
Christian Ebert <blacktrash@gmx.net> [Sun, 05 Dec 2010 13:07:24 +0100] rev 870
Colorize hg kwfiles output
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Dec 2010 09:44:01 +0100] rev 869
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Dec 2010 09:42:21 +0100] rev 868
Copy: when copied source is a symlink, follow it
1) hg cp symlink copy -> copy is a symlink.
2) cp symlink copy; hg cp -A symlink copy -> copy is a regular file.
In the second case we have to follow the symlink to its target
to find out whether we have to unexpand keywords in the copy.
Add test covering the case where the copied link's target is ignored
by keyword but has content which would match the regex for expanded
keywords to check whether we indeed leave the destination alone.
Christian Ebert <blacktrash@gmx.net> [Thu, 02 Dec 2010 09:41:56 +0100] rev 867
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 22 Nov 2010 18:15:58 +0100] rev 866
code style: prefer 'is' and 'is not' tests with singletons
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Mon, 22 Nov 2010 20:45:42 +0100] rev 865
Merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 22 Nov 2010 20:44:36 +0100] rev 864
s/config/configuration/ in help
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Nov 2010 16:59:06 +0100] rev 863
Merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 16 Nov 2010 10:33:19 +0900] rev 862
run-tests: fix --debug for .t tests
When --debug is given to the test runner, run() returns (retcode, None).
Do not try to use None output as a string, and return directly, similarly
as other testers.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Nov 2010 10:31:54 +0000] rev 861
Merge with stable
Erik Zielke <ez@aragost.com> [Mon, 08 Nov 2010 10:56:47 +0100] rev 860
run-test: fixed wrong parenthesis
Fixed wrong placement of end parenthesis, from b911cb80c671
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Nov 2010 11:11:23 +0000] rev 859
Merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:41 +0100] rev 858
tests: use (esc) markup for string-escape
This makes test output less ambiguous.
Failing test output will be escaped and marked up if necessary. A Python
string-escape compatible encoding is used, but not everything is encoded -
especially not \n and \t and '.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Mon, 08 Nov 2010 01:35:40 +0100] rev 857
tests: (no-eol) markup for command output without trailing LF
Output chunks without a trailing LF will now work but get (no-eol) appended.
This change mostly moves code around so we can handle that an output line
starts with data from previous command, followed by salt and the next command.
[ original upstream message ]
Mads Kiilerich <mads@kiilerich.com> [Sat, 06 Nov 2010 00:31:44 +0100] rev 856
tests: handle .t files without trailing LF
9a2de8dae27b made this simple test-test.t succeed silently:
$ printf ' $ true' > test-test.t
but did not give a usable .err in this case:
$ printf ' $ false' > test-test.t
The missing LF will now be fixed in the test output and it will thus give a
test failure and a solution in the .err file.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 05 Nov 2010 10:01:23 +0000] rev 855
Merge with default
Christian Ebert <blacktrash@gmx.net> [Fri, 05 Nov 2010 10:00:11 +0000] rev 854
Turn regexes and escaped keywords into a propertycache
Christian Ebert <blacktrash@gmx.net> [Tue, 02 Nov 2010 14:04:21 +0100] rev 853
Merge with stable
Martin Geisler <mg@aragost.com> [Mon, 01 Nov 2010 10:24:07 +0100] rev 852
run-tests: use regex when searching for $HGPORT in test output
This prevents spurious errors when a changeset hash happens to match
the port number. Before, this invocation gave a test failure:
$ ./run-tests.py test-log.t --port 24427
ERROR: /home/mg/src/mercurial-crew/tests/test-log.t output changed
--- /home/mg/src/mercurial-crew/tests/test-log.t
+++ /home/mg/src/mercurial-crew/tests/test-log.t.err
@@ -626,12 +626,12 @@
$ hg log -b default
changeset: 2:c3a4f03cc9a7
- parent: 0:24427303d56f
+ parent: 0:$HGPORT303d56f
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: commit on default
...
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Wed, 27 Oct 2010 11:15:31 +0100] rev 851
Merge with stable
Kevin Bullock <kbullock@ringworld.org> [Wed, 20 Oct 2010 17:38:21 -0500] rev 850
pull: silence spurious 'requesting all changes' message
When issuing `hg pull -r REV` in a repo with no common ancestor with the
remote repo, the message 'requesting all changes' is printed, even though only
the changese that are ancestors of REV are actually requested. This can be
confusing for users (see
http://www.selenic.com/pipermail/mercurial/2010-October/035508.html).
This silences the message if (and only if) the '-r' option was passed.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 19:21:06 +0100] rev 849
Function to look up changectx for expansion
Similarly rename variable in kwtemplater.overwrite().
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 19:21:06 +0100] rev 848
Compile regexes on demand
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 20:00:18 +0100] rev 847
Merge with default
Christian Ebert <blacktrash@gmx.net> [Mon, 25 Oct 2010 19:21:06 +0100] rev 846
Fix regressions introduced in 9d01f9cab5e2
- dirstate of overwritten files must be forced to normal
with kwexpand/kwshrink, not commit.
- recorded files must be weeded before overwriting.
- add test cases.
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Oct 2010 22:46:09 +0100] rev 845
Merge with stable
Yuya Nishihara <yuya@tcha.org> [Sat, 02 Oct 2010 22:57:25 +0900] rev 844
tests: accept \-escaped test output
It changes tsttest to accept expected outputs in python-style \-escapes.
It aims to avoid trouble with outputs for non-ascii, color and progress
tests.
[ original upstream message ]
Christian Ebert <blacktrash@gmx.net> [Fri, 15 Oct 2010 00:36:45 +0200] rev 843
Merge with default
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Oct 2010 22:53:17 +0200] rev 842
Only use expensive fctx.cmp when needed
Restrict expensive cmp to cases when:
- comparing against working directory
and
- encode filters active
or
- path is configured for keyword expansion
Christian Ebert <blacktrash@gmx.net> [Wed, 13 Oct 2010 09:21:19 +0100] rev 841
Merge with stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 27 Jul 2010 23:07:30 +0900] rev 840
filectx: use ctx.size comparisons to speed up ctx.cmp
Comparing sizes is cheaper than comparing file contents, as it does not
involve reading the file on disk or from the filelog.
It is however not always possible: some extensions, or encode filters,
change data when extracting it to the working directory.
[ original upstream description ]
Christian Ebert <blacktrash@gmx.net> [Wed, 13 Oct 2010 09:18:46 +0100] rev 839
Merge with stable
Christian Ebert <blacktrash@gmx.net> [Tue, 12 Oct 2010 16:29:32 +0100] rev 838
Code cleanup
- move preselection of expansion candidates for rollback
and record into helper function
- same overwrite order in rollback and record:
1. modified, 2. added
- self.wlock() inside kwrepo class instead of repo.wlock()
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Oct 2010 01:07:16 +0100] rev 837
enforce subn method via boolean switch
There are only 2 patterns to choose, and so far only 1 case
where kwtemplater.re_kw.subn is applied on data read from
the working directory: when recording added files.
With this change the code reflects more closely the boolean
character of the switch and underlines the special case.
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Oct 2010 01:07:16 +0100] rev 836
Fix weeding of expansion candidates when recording
Rearrange tests to check this, i.e. that there are changes
in other files, not only the recorded one.
Christian Ebert <blacktrash@gmx.net> [Sun, 10 Oct 2010 01:10:13 +0100] rev 835
Merge with stable
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 09 Oct 2010 16:27:10 -0500] rev 834
run-tests.py: remove support for .bat files
[ original upstream message ]