summaryrefslogtreecommitdiffstats
path: root/src/util/k5test.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/k5test.py')
-rw-r--r--src/util/k5test.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/util/k5test.py b/src/util/k5test.py
index 017aa0c7fb..aead832177 100644
--- a/src/util/k5test.py
+++ b/src/util/k5test.py
@@ -133,6 +133,9 @@ Scripts may use the following functions and variables:
added newline) in testlog, and write it to stdout if running
verbosely.
+* which(progname): Return the location of progname in the executable
+ path, or None if it is not found.
+
* password(name): Return a weakly random password based on name. The
password will be consistent across calls with the same name.
@@ -371,6 +374,16 @@ def output(msg, force_verbose=False):
sys.stdout.write(msg)
+# Return the location of progname in the executable path, or None if
+# it is not found.
+def which(progname):
+ for dir in os.environ["PATH"].split(os.pathsep):
+ path = os.path.join(dir, progname)
+ if os.access(path, os.X_OK):
+ return path
+ return None
+
+
def password(name):
"""Choose a weakly random password from name, consistent across calls."""
return name + str(os.getpid())