[pacman-dev] [PATCH] Run pacman test-suite with LC_ALL=C
Running the pacman test-suite in a non-English locale results in a few failures. Force the test-suite to run with LC_ALL=C. Signed-off-by: Allan McRae <allan@archlinux.org> --- Not sure if this is the best approach or whether we should just have the three tests that require it to run under the C locale. Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile.am b/Makefile.am index 75760bb..fb7a4d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,7 +22,7 @@ dist_pkgdata_DATA = \ # run the pactest test suite and vercmp tests check-local: test/pacman test/util src/pacman src/util - $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ + LC_ALL=C $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ --test $(top_srcdir)/test/pacman/tests/*.py \ -p $(top_builddir)/src/pacman/pacman $(SH) $(top_srcdir)/test/util/pacsorttest.sh \ -- 1.7.6.1
On Mon, Aug 29, 2011 at 6:32 AM, Allan McRae <allan@archlinux.org> wrote:
Running the pacman test-suite in a non-English locale results in a few failures. Force the test-suite to run with LC_ALL=C.
Signed-off-by: Allan McRae <allan@archlinux.org> ---
Not sure if this is the best approach or whether we should just have the three tests that require it to run under the C locale. I got query002, query005, and sync1100 to break under zh_CN.utf8. This is due to PACMAN_OUTPUT usage; ideally we should find ways to do these tests without that fragile rule. I'm surprised more don't break.
ldconfig isn't one that breaks (because it checks --debug untranslated outout), but wouldn't it be better to actually look for a file that ldconfig would spit out if we engineer the test to be a bit more realistic? And then follow some similar pattern for as many of these as possible. The three that don't pass above do look like we need to force the locale, however, so maybe this is the best approach.
Makefile.am | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 75760bb..fb7a4d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,7 +22,7 @@ dist_pkgdata_DATA = \
# run the pactest test suite and vercmp tests check-local: test/pacman test/util src/pacman src/util - $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ + LC_ALL=C $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ --test $(top_srcdir)/test/pacman/tests/*.py \ -p $(top_builddir)/src/pacman/pacman $(SH) $(top_srcdir)/test/util/pacsorttest.sh \ -- 1.7.6.1
This actually does something in a scriptlet we can check with our normal set of rules, rather than relying on pacman debug output. Signed-off-by: Dan McGee <dan@archlinux.org> --- test/pacman/tests/scriptlet001.py | 13 +++++-------- test/pacman/tests/scriptlet002.py | 13 +++++-------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/test/pacman/tests/scriptlet001.py b/test/pacman/tests/scriptlet001.py index 1cf9053..6f702eb 100644 --- a/test/pacman/tests/scriptlet001.py +++ b/test/pacman/tests/scriptlet001.py @@ -2,18 +2,15 @@ p1 = pmpkg("dummy") p1.files = ['etc/dummy.conf'] -pre = "OUTPUT FROM PRE_INSTALL" -post = "OUTPUT FROM POST_INSTALL" -p1.install['pre_install'] = "echo " + pre -p1.install['post_install'] = "echo " + post +p1.install['pre_install'] = "echo foobar > pre_install" +p1.install['post_install'] = "echo foobar > post_install" self.addpkg(p1) -# --debug is necessary to check PACMAN_OUTPUT -self.args = "--debug -U %s" % p1.filename() +self.args = "-U %s" % p1.filename() self.addrule("PACMAN_RETCODE=0") -self.addrule("PACMAN_OUTPUT=" + pre) -self.addrule("PACMAN_OUTPUT=" + post) +self.addrule("FILE_EXIST=pre_install") +self.addrule("FILE_EXIST=post_install") fakechroot = util.which("fakechroot") if not fakechroot: diff --git a/test/pacman/tests/scriptlet002.py b/test/pacman/tests/scriptlet002.py index 59f6042..907f419 100644 --- a/test/pacman/tests/scriptlet002.py +++ b/test/pacman/tests/scriptlet002.py @@ -2,18 +2,15 @@ p1 = pmpkg("dummy") p1.files = ['etc/dummy.conf'] -pre = "OUTPUT FROM PRE_REMOVE"; -post = "OUTPUT FROM POST_REMOVE"; -p1.install['pre_remove'] = "echo " + pre -p1.install['post_remove'] = "echo " + post +p1.install['pre_remove'] = "echo foobar > pre_remove" +p1.install['post_remove'] = "echo foobar > post_remove" self.addpkg2db("local", p1) -# --debug is necessary to check PACMAN_OUTPUT -self.args = "--debug -R %s" % p1.name +self.args = "-R %s" % p1.name self.addrule("PACMAN_RETCODE=0") -self.addrule("PACMAN_OUTPUT=" + pre) -self.addrule("PACMAN_OUTPUT=" + post) +self.addrule("FILE_EXIST=pre_remove") +self.addrule("FILE_EXIST=post_remove") fakechroot = util.which("fakechroot") if not fakechroot: -- 1.7.6
participants (3)
-
Allan McRae
-
Dan McGee
-
Dan McGee