From e9e4161ae7d64f3105cd29da7bc324f63b899944 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Wed, 23 Mar 2011 06:37:50 +0100 Subject: [PATCH] [tests] add shell trigger test to client --- libraries/tests/client.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/libraries/tests/client.py b/libraries/tests/client.py index ba6e6bb7c..68e8db595 100644 --- a/libraries/tests/client.py +++ b/libraries/tests/client.py @@ -180,7 +180,7 @@ class EntropyRepositoryTest(unittest.TestCase): dbconn = self.Client._init_generic_temp_repository( self.mem_repoid, self.mem_repo_desc, temp_file = ":memory:") test_pkg = _misc.get_test_package() - data = self.Spm.extract_package_metadata(test_pkg) + data = self.Spm.extract_package_metadata(test_pkg) idpackage = dbconn.addPackage(data) self.assertEqual(data, dbconn.getPackageData(idpackage)) self.Client.remove_repository(self.mem_repoid) @@ -213,6 +213,24 @@ class EntropyRepositoryTest(unittest.TestCase): for pkg_path, pkg_atom in self.test_pkgs: self._do_pkg_test(pkg_path, pkg_atom) + def test_shell_trigger(self): + dbconn = self.Client._init_generic_temp_repository( + self.mem_repoid, self.mem_repo_desc, temp_file = ":memory:") + test_pkg = _misc.get_test_package() + data = self.Spm.extract_package_metadata(test_pkg) + idpackage = dbconn.addPackage(data) + pkgdata = dbconn.getTriggerData(idpackage) + pkgdata['trigger'] = """\ +#!%s +echo $@ +exit 42 +""" % (etpConst['trigger_sh_interpreter'],) + trigger = self.Client.Triggers('postinstall', pkgdata) + trigger.prepare() + exit_st = trigger._do_trigger_call_ext_generic() + trigger.kill() + self.assertEqual(exit_st, 42) + def _do_pkg_test(self, pkg_path, pkg_atom): # this test might be considered controversial, for now, let's keep it