[PATCH] tests: more completely restore the environment in syshgenv
Yuya Nishihara
yuya at tcha.org
Fri Jun 30 10:00:10 EDT 2017
On Thu, 29 Jun 2017 12:53:51 -0700, Adam Simpkins wrote:
> On Jun 29, Yuya Nishihara wrote:
> > On Wed, 28 Jun 2017 12:34:56 -0700, Adam Simpkins wrote:
> > > # HG changeset patch
> > > # User Adam Simpkins <simpkins at fb.com>
> > > # Date 1498677802 25200
> > > # Wed Jun 28 12:23:22 2017 -0700
> > > # Node ID 236c593941ab8034c500039c54bee0b3a19a0cef
> > > # Parent 649cb52c8cd94ab98068004e40bf9947de62a0ce
> > > tests: more completely restore the environment in syshgenv
> >
> ...
>
> > + *** failed to import extension evolve: No module named evolve
> > + *** failed to import extension textful: No module named textful
> > + *** failed to import extension textful.encoding: No module named textful.encoding
> > + obsolete feature not enabled but 135142 markers found!
> >
> > I haven't investigated the problem yet.
> >
> > Honestly I don't understand why using the system hg is more reliable. IMHO,
> > depending externals introduces more possible instabilities. And with more
> > heuristics, more painful debugging required.
>
> The goal of this change is to ensure that, when they are trying to
> examine your local repository, the tests invoke "hg" with the same set
> of extensions and configs that are used when you run "hg" by hand.
>
> Without this the tests may fail to interact with the repository at
> all if they do not have the correct set of extensions. For instance,
> without this patch set I get this error:
>
> $ ./run-tests.py -l test-check-commit.t
>
> --- /data/users/simpkins/facebook-hg-rpms/hg-crew/tests/test-check-commit.t
> +++ /data/users/simpkins/facebook-hg-rpms/hg-crew/tests/test-check-commit.t.err
> @@ -17,5 +17,7 @@
> > echo
> > fi
> > done
> + abort: repository requires features unknown to this Mercurial: lz4revlog!
> + (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
>
> On my system, the lz4revlog extension is enabled by configs in
> /etc/mercurial/hgrc.d/
I got it, thanks. But still I don't think it's better to blindly pick hg in
PATH. I'd rather want to add --with-syshg option.
> It's interesting that in your case the tests were able to find the
> evolve extension before, but not afterwards.
Before, obsolete markers were forcibly enabled.
> I would be interested to
> help track down why this is. Previously the tests ran hg without the
> normal system configs, but the new syshg should ideally be running
> with the exact same configs and environment that is used when you run
> hg by hand.
Well, the problem is PATH. I'll send a follow-up patch shortly.
More information about the Mercurial-devel
mailing list