(name, default_exe_list, override_exe=None)
| 42 | |
| 43 | |
| 44 | def FindExeWithFallback(name, default_exe_list, override_exe=None): |
| 45 | result = override_exe |
| 46 | if result is not None: |
| 47 | if os.path.isdir(result): |
| 48 | result = os.path.join(result, name) |
| 49 | if IS_WINDOWS and os.path.splitext(result)[1] != '.exe': |
| 50 | result += '.exe' |
| 51 | if os.path.exists(result): |
| 52 | return os.path.abspath(result) |
| 53 | raise Error('%s executable not found.\nsearch path: %s\n' % (name, result)) |
| 54 | |
| 55 | for result in default_exe_list: |
| 56 | if os.path.exists(result): |
| 57 | return os.path.abspath(result) |
| 58 | |
| 59 | raise Error('%s executable not found.\n%s\n' % |
| 60 | (name, '\n'.join('search path: %s' % path |
| 61 | for path in default_exe_list))) |
| 62 | |
| 63 | |
| 64 | def FindExecutable(basename, override=None): |
no test coverage detected