diff --git a/src/unit/engine/PhutilUnitTestEngine.php b/src/unit/engine/PhutilUnitTestEngine.php --- a/src/unit/engine/PhutilUnitTestEngine.php +++ b/src/unit/engine/PhutilUnitTestEngine.php @@ -205,12 +205,18 @@ continue; } - do { + while ($library_path) { + if ($library_path == '.') { + $library_path = ''; + } + $paths[$library_name.':'.$library_path] = array( 'library' => $library_name, - 'path' => $library_path.'/__tests__/', + 'path' => ($library_path ? $library_path.'/' : '').'__tests__/', ); - } while (($library_path = dirname($library_path)) != '.'); + + $library_path = dirname($library_path); + } } return $paths; diff --git a/src/unit/engine/__tests__/PhutilUnitTestEngineTestCase.php b/src/unit/engine/__tests__/PhutilUnitTestEngineTestCase.php --- a/src/unit/engine/__tests__/PhutilUnitTestEngineTestCase.php +++ b/src/unit/engine/__tests__/PhutilUnitTestEngineTestCase.php @@ -142,6 +142,7 @@ dirname(dirname(__FILE__)).'/__tests__/', dirname(dirname(dirname(__FILE__))).'/__tests__/', + phutil_get_library_root('arcanist').'/__tests__/', ), ), 'normal directory' => array( @@ -151,11 +152,12 @@ array( dirname(dirname(__FILE__)).'/__tests__/', dirname(dirname(dirname(__FILE__))).'/__tests__/', + phutil_get_library_root('arcanist').'/__tests__/', ), ), 'library root' => array( - array(phutil_get_library_root()), - array(phutil_get_library_root().'/__tests__/'), + array(phutil_get_library_root('arcanist')), + array(phutil_get_library_root('arcanist').'/__tests__/'), ), ); @@ -163,10 +165,10 @@ ->setWorkingCopy($this->getWorkingCopy()); foreach ($tests as $name => $test) { - list($paths, $tests) = $test; + list($paths, $test_paths) = $test; $expected = array(); - foreach ($tests as $path) { + foreach ($test_paths as $path) { $library_root = phutil_get_library_root_for_path($path); $library = phutil_get_library_name_for_root($library_root);