[pacman-dev] [PATCH] pmtest: set LC_ALL=C in subprocess.call
LC_ALL=C is required to force pacman's output to English for tests that rely on that output, but setting it in Makefile.am results in those tests breaking under different locales when pactest.py is run directly. This will also ease an eventual transition to python3 which LC_ALL=C causes to default to ascii encoded strings, creating problems for tests with unicode strings. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> --- Makefile.am | 2 +- test/pacman/pmtest.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 7b53fd0..28f7f8f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,7 +27,7 @@ dist_pkgdata_DATA = \ check-local: test-pacman test-pacsort test-vercmp test-parseopts test-pacman: test/pacman src/pacman - LC_ALL=C $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ + $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ --test $(top_srcdir)/test/pacman/tests/*.py \ --scriptlet-shell $(SCRIPTLET_SHELL) \ --ldconfig $(LDCONFIG) \ diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index 2eafe68..f5a9680 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -241,7 +241,7 @@ def run(self, pacman): # archives are made available more easily. time_start = time.time() self.retcode = subprocess.call(cmd, stdout=output, stderr=output, - cwd=os.path.join(self.root, util.TMPDIR)) + cwd=os.path.join(self.root, util.TMPDIR), env={'LC_ALL': 'C'}) time_end = time.time() vprint("\ttime elapsed: %.2fs" % (time_end - time_start)) -- 1.8.2.2
participants (1)
-
Andrew Gregory