diff --git a/tests/bootstrap.php b/tests/bootstrap.php index eb7136b8..13a8e81b 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -9,14 +9,34 @@ // class files of phpseclib require() other dependencies. set_include_path(implode(PATH_SEPARATOR, array( dirname(__FILE__) . '/../phpseclib/', + dirname(__FILE__) . '/', get_include_path(), ))); +function phpseclib_is_includable($suffix) +{ + foreach (explode(PATH_SEPARATOR, get_include_path()) as $prefix) + { + $ds = substr($prefix, -1) == DIRECTORY_SEPARATOR ? '' : DIRECTORY_SEPARATOR; + $file = $prefix . $ds . $suffix; + + if (file_exists($file)) + { + return true; + } + } + + return false; +} + function phpseclib_autoload($class) { $file = str_replace('_', '/', $class) . '.php'; - require $file; + if (phpseclib_is_includable($file)) + { + require $file; + } } spl_autoload_register('phpseclib_autoload');