[PATCH] run-tests: make sure to check if pygments is installed before using it
Jun Wu
quark at fb.com
Fri Jul 14 17:09:41 EDT 2017
Looks good to me.
Excerpts from Pulkit Goyal's message of 2017-07-15 02:35:28 +0530:
> # HG changeset patch
> # User Pulkit Goyal <7895pulkit at gmail.com>
> # Date 1500065225 -19800
> # Sat Jul 15 02:17:05 2017 +0530
> # Node ID 07928a5240e51e2cd44f7e05fccda32053ee0133
> # Parent 2cbccf36af1bd0d9ae9df1ad5fd4a7f8d870ae6c
> run-tests: make sure to check if pygments is installed before using it
>
> e80041832e introduced support to color the output of tests but used pygments
> without checking whether it's installed or not. That breaks test-run-tests.t for
> machines which don't have pygments installed. This patch conditionalize the
> color test in test-run-tests.t and also add a check to make sure pygments is
> installed before using that.
>
> diff --git a/tests/run-tests.py b/tests/run-tests.py
> --- a/tests/run-tests.py
> +++ b/tests/run-tests.py
> @@ -89,10 +89,12 @@
> processlock = threading.Lock()
>
> with_color = False
> +pygmentspresent = False
> try: # is pygments installed
> import pygments
> import pygments.lexers as lexers
> import pygments.formatters as formatters
> + pygmentspresent = True
> with_color = True
> except ImportError:
> pass
> @@ -1647,7 +1649,7 @@
> else:
> self.stream.write('\n')
> for line in lines:
> - if with_color:
> + if with_color and pygmentspresent:
> line = pygments.highlight(
> line,
> lexers.DiffLexer(),
> diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t
> --- a/tests/test-run-tests.t
> +++ b/tests/test-run-tests.t
> @@ -121,6 +121,8 @@
>
> test diff colorisation
>
> +#if pygments
> +
> $ rt test-failure.t --color always
>
> \x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc)
> @@ -138,6 +140,8 @@
> python hash seed: * (glob)
> [1]
>
> +#endif
> +
> $ rt test-failure.t 2> tmp.log
> [1]
> $ cat tmp.log
More information about the Mercurial-devel
mailing list