[pacman-dev] [PATCH] pmtest: set LC_ALL=C in subprocess.call
Andrew Gregory
andrew.gregory.8 at gmail.com
Fri May 10 14:19:05 EDT 2013
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 at 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
More information about the pacman-dev
mailing list