FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux Pacman Development

 
 
LinkBack Thread Tools
 
Old 09-20-2012, 01:19 PM
Allan McRae
 
Default pactest: fix when specifying scriptlet shell

When pacman is configured with --with-scriptlet-shell other than "sh",
the two scriptlet pactests fail. This copies /bin/sh into /bin/<shell>,
where <shell> is the specified shell, as the test rely on a sh
compatible shell being used.

Fixes FS#31552.

Signed-off-by: Allan McRae <allan@archlinux.org>
---
Makefile.am | 1 +
test/pacman/pactest.py | 5 +++++
test/pacman/pmenv.py | 2 +-
test/pacman/pmtest.py | 5 +++--
4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 0f15ec5..37a3c20 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,6 +29,7 @@ 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
--test $(top_srcdir)/test/pacman/tests/*.py
+ --scriptlet-shell $(SCRIPTLET_SHELL)
-p $(top_builddir)/src/pacman/pacman

test-pacsort: test/util src/util
diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py
index 2fb64ed..fcad160 100755
--- a/test/pacman/pactest.py
+++ b/test/pacman/pactest.py
@@ -3,6 +3,7 @@
# pactest : run automated testing on the pacman binary
#
# Copyright (c) 2006 by Aurelien Foret <orelien@chez.com>
+# Copyright (c) 2006-2012 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -81,6 +82,9 @@ def create_parser():
parser.add_option("--manual-confirm", action = "store_true",
dest = "manualconfirm", default = False,
help = "do not use --noconfirm for pacman calls")
+ parser.add_option("--scriptlet-shell", type = "string",
+ dest = "scriptletshell", default = "sh",
+ help = "specify shell used for install scriptlets")
return parser


@@ -99,6 +103,7 @@ def create_parser():
env.pacman["gdb"] = opts.gdb
env.pacman["valgrind"] = opts.valgrind
env.pacman["manual-confirm"] = opts.manualconfirm
+ env.pacman["scriptlet-shell"] = opts.scriptletshell

if opts.testcases is None or len(opts.testcases) == 0:
print "no tests defined, nothing to do"
diff --git a/test/pacman/pmenv.py b/test/pacman/pmenv.py
index 0e455ce..04948c1 100644
--- a/test/pacman/pmenv.py
+++ b/test/pacman/pmenv.py
@@ -66,7 +66,7 @@ def run(self):
print t.description
print "----------"*8

- t.generate()
+ t.generate(self.pacman)

t.run(self.pacman)

diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py
index 00a0b96..b69275b 100644
--- a/test/pacman/pmtest.py
+++ b/test/pacman/pmtest.py
@@ -1,6 +1,7 @@
#! /usr/bin/python2
#
# Copyright (c) 2006 by Aurelien Foret <orelien@chez.com>
+# Copyright (c) 2006-2012 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -102,7 +103,7 @@ def load(self):
else:
raise IOError("file %s does not exist!" % self.name)

- def generate(self):
+ def generate(self, pacman):
print "==> Generating test environment"

# Cleanup leftover files from a previous test session
@@ -126,7 +127,7 @@ def generate(self):
vprint(" %s" % sys_dir[len(self.root)+1:])
os.makedirs(sys_dir, 0755)
# Only the dynamically linked binary is needed for fakechroot
- shutil.copy("/bin/sh", bindir)
+ shutil.copy("/bin/sh", os.path.join(sbindir, pacman["scriptlet-shell"]))
shutil.copy(os.path.join(util.SELFPATH, "ldconfig.stub"),
os.path.join(sbindir, "ldconfig"))
ld_so_conf = open(os.path.join(etcdir, "ld.so.conf"), "w")
--
1.7.12
 

Thread Tools




All times are GMT. The time now is 10:24 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org