diff --git a/scripts/unit-test.py b/scripts/unit-test.py
index e9553b3..79ae521 100755
--- a/scripts/unit-test.py
+++ b/scripts/unit-test.py
@@ -1040,18 +1040,23 @@
 
 def find_file(filename, basedir):
     """
-    Finds all occurrences of a file in the base directory
-    and passes them back with their relative paths.
+    Finds all occurrences of a file (or list of files) in the base
+    directory and passes them back with their relative paths.
 
     Parameter descriptions:
-    filename              The name of the file to find
+    filename              The name of the file (or list of files) to
+                          find
     basedir               The base directory search in
     """
 
+    if not isinstance(filename, list):
+        filename = [ filename ]
+
     filepaths = []
     for root, dirs, files in os.walk(basedir):
-        if filename in files:
-            filepaths.append(os.path.join(root, filename))
+        for f in filename:
+            if f in files:
+                filepaths.append(os.path.join(root, f))
     return filepaths
 
 
@@ -1202,8 +1207,9 @@
 
     # Run any custom CI scripts the repo has, of which there can be
     # multiple of and anywhere in the repository.
-    ci_scripts = find_file('run-ci.sh', os.path.join(WORKSPACE, UNIT_TEST_PKG))
+    ci_scripts = find_file(['run-ci.sh', 'run-ci'],
+                           os.path.join(WORKSPACE, UNIT_TEST_PKG))
     if ci_scripts:
         os.chdir(os.path.join(WORKSPACE, UNIT_TEST_PKG))
         for ci_script in ci_scripts:
-            check_call_cmd('sh', ci_script)
+            check_call_cmd(ci_script)
