diff options
author | Petr Viktorin <pviktori@redhat.com> | 2013-06-03 15:04:58 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-03-13 15:52:18 +0100 |
commit | 05f612e58a4954162dcaa724585869819ca77672 (patch) | |
tree | 8dccfd72710db010599a01bdd514c332aa807bed /ipatests/test_cmdline | |
parent | 65bde3ecd7dc0b2d51fd7c3faf49edbe662151e2 (diff) | |
download | freeipa-05f612e58a4954162dcaa724585869819ca77672.tar.gz freeipa-05f612e58a4954162dcaa724585869819ca77672.tar.xz freeipa-05f612e58a4954162dcaa724585869819ca77672.zip |
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 <mkosek@redhat.com>
Diffstat (limited to 'ipatests/test_cmdline')
-rw-r--r-- | ipatests/test_cmdline/cmdline.py | 13 | ||||
-rw-r--r-- | ipatests/test_cmdline/test_ipagetkeytab.py | 2 |
2 files changed, 11 insertions, 4 deletions
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() |