( )⚙ D466 run-tests: make per-line condition support testcase names

This is an archive of the discontinued Mercurial Phabricator instance.

run-tests: make per-line condition support testcase names
ClosedPublic

Authored by quark on Aug 21 2017, 7:19 PM.

Details

Summary

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.

Diff Detail

Repository
rHG Mercurial
Lint
Lint Skipped
Unit
Unit Tests Skipped