From 05f612e58a4954162dcaa724585869819ca77672 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 3 Jun 2013 15:04:58 +0200 Subject: Do not hardcode path to ipa-getkeytab in tests Using the in-tree binary makes testing outside the source tree impossible. Use ipa-getkeytab from $PATH, and add the directory to $PATH when running the in-tree tests. Part of the work for https://fedorahosted.org/freeipa/ticket/3654 Reviewed-By: Martin Kosek --- ipatests/test_cmdline/cmdline.py | 13 ++++++++++--- ipatests/test_cmdline/test_ipagetkeytab.py | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'ipatests/test_cmdline') diff --git a/ipatests/test_cmdline/cmdline.py b/ipatests/test_cmdline/cmdline.py index 6f3541d27..0ef0137a6 100644 --- a/ipatests/test_cmdline/cmdline.py +++ b/ipatests/test_cmdline/cmdline.py @@ -23,12 +23,13 @@ Base class for all cmdline tests import nose import krbV +import distutils.spawn +import os from ipalib import api from ipalib import errors from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test from ipaserver.plugins.ldap2 import ldap2 -from ipapython import ipautil # See if our LDAP server is up and we can talk to it over GSSAPI ccache = krbV.default_context().default_ccache() @@ -51,11 +52,17 @@ class cmdline_test(XMLRPC_test): command = '/bin/ls' def setUp(self): + # Find the executable in $PATH + # This is neded because ipautil.run resets the PATH to + # a system default. + original_command = self.command + if not os.path.isabs(self.command): + self.command = distutils.spawn.find_executable(self.command) # raise an error if the command is missing even if the remote # server is not available. - if not ipautil.file_exists(self.command): + if not self.command: raise AssertionError( - 'Command %r not available' % self.command + 'Command %r not available' % original_command ) super(cmdline_test, self).setUp() if not server_available: diff --git a/ipatests/test_cmdline/test_ipagetkeytab.py b/ipatests/test_cmdline/test_ipagetkeytab.py index cb46fd23b..ee2fdecf0 100644 --- a/ipatests/test_cmdline/test_ipagetkeytab.py +++ b/ipatests/test_cmdline/test_ipagetkeytab.py @@ -59,7 +59,7 @@ class test_ipagetkeytab(cmdline_test): """ Test `ipa-getkeytab`. """ - command = "ipa-client/ipa-getkeytab" + command = "ipa-getkeytab" host_fqdn = u'ipatest.%s' % api.env.domain service_princ = u'test/%s@%s' % (host_fqdn, api.env.realm) [keytabfd, keytabname] = tempfile.mkstemp() -- cgit