Mercurial > hg
view tests/helpers-testrepo.sh @ 35854:568917059243
testrunner: make reading of test times work with #testcases
Due to a bug that will be fixed in the next patch, we never actually
read back .testcases, so we didn't notice that it could not be parsed
successfully when there are #testcases tests. The parsing failed on
lines like "test-amend-subrepo.t (case obsstore-off) 32.420" because
we used a simple string.split() call and expected all parts but the
first to be floating point numbers (and "(case" isn't, for
example). Fix by using a regex instead.
Differential Revision: https://phab.mercurial-scm.org/D1960
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 31 Jan 2018 23:12:45 -0800 |
parents | 45d6e2767a93 |
children | 4e6a6d0dccee |
line wrap: on
line source
# In most cases, the mercurial repository can be read by the bundled hg, but # that isn't always true because third-party extensions may change the store # format, for example. In which case, the system hg installation is used. # # We want to use the hg version being tested when interacting with the test # repository, and the system hg when interacting with the mercurial source code # repository. # # The mercurial source repository was typically orignally cloned with the # system mercurial installation, and may require extensions or settings from # the system installation. syshg () { ( syshgenv exec hg "$@" ) } # Revert the environment so that running "hg" runs the system hg # rather than the test hg installation. syshgenv () { . "$HGTEST_RESTOREENV" HGPLAIN=1 export HGPLAIN } # The test-repo is a live hg repository which may have evolution markers # created, e.g. when a ~/.hgrc enabled evolution. # # Tests may be run using a custom HGRCPATH, which do not enable evolution # markers by default. # # If test-repo includes evolution markers, and we do not enable evolution # markers, hg will occasionally complain when it notices them, which disrupts # tests resulting in sporadic failures. # # Since we aren't performing any write operations on the test-repo, there's # no harm in telling hg that we support evolution markers, which is what the # following lines for the hgrc file do: cat >> "$HGRCPATH" << EOF [experimental] evolution = createmarkers EOF # Use the system hg command if the bundled hg can't read the repository with # no warning nor error. if [ -n "`hg id -R "$TESTDIR/.." 2>&1 >/dev/null`" ]; then alias testrepohg=syshg alias testrepohgenv=syshgenv else alias testrepohg=hg alias testrepohgenv=: fi