Mercurial > hg
view tests/test-sparse-requirement.t @ 33934:6cc8f848b4c3
run-tests: make per-line condition support testcase names
7340465bd added multiple test cases support. The latter has a problem -
output lines cannot be made conditional with `#if`:
```
# COUNTEREXAMPLE: DOES NOT WORK
#testcases A B
$ command-foo
common ouput
#if A
A's ouput
#else
B's ouput
#endif
common ouput
```
That's not trivial to fix (even if it works in test, `run-tests.py -i` may
be suboptimal because diff algorithm does not know how to skip the `#if`
lines, even if it does, it may have trouble figuring out whether a changed
line belongs to inside a `#if` block or outside).
Matching output lines conditionally is useful. 4eec2f04a added per-line
condition support for hghave. This patch extends that to also support test
case names.
Differential Revision: https://phab.mercurial-scm.org/D466
author | Jun Wu <quark@fb.com> |
---|---|
date | Sun, 20 Aug 2017 09:46:27 -0700 |
parents | 22371eabb3b1 |
children | c2c8962a9465 |
line wrap: on
line source
$ hg init repo $ cd repo $ touch a.html b.html c.py d.py $ cat > frontend.sparse << EOF > [include] > *.html > EOF $ hg -q commit -A -m initial $ echo 1 > a.html $ echo 1 > c.py $ hg commit -m 'commit 1' Enable sparse profile $ cat .hg/requires dotencode fncache generaldelta revlogv1 store $ hg debugsparse --config extensions.sparse= --enable-profile frontend.sparse $ ls a.html b.html Requirement for sparse added when sparse is enabled $ cat .hg/requires dotencode exp-sparse fncache generaldelta revlogv1 store Client without sparse enabled reacts properly $ hg files abort: repository is using sparse feature but sparse is not enabled; enable the "sparse" extensions to access! [255] Requirement for sparse is removed when sparse is disabled $ hg debugsparse --reset --config extensions.sparse= $ cat .hg/requires dotencode fncache generaldelta revlogv1 store And client without sparse can access $ hg files a.html b.html c.py d.py frontend.sparse