Page MenuHomePhabricator

D13185.id32111.diff
No OneTemporary

D13185.id32111.diff

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
@@ -197,20 +197,21 @@
continue;
}
- if ($path == $library_root) {
- $paths[$library_name.':.'] = array(
- 'library' => $library_name,
- 'path' => '__tests__/',
- );
- continue;
+ foreach (Filesystem::walkToRoot($path, $library_root) as $subpath) {
+ if ($subpath == $library_root) {
+ $paths[$library_name.':.'] = array(
+ 'library' => $library_name,
+ 'path' => '__tests__/',
+ );
+ } else {
+ $library_subpath = Filesystem::readablePath($subpath, $library_root);
+
+ $paths[$library_name.':'.$library_subpath] = array(
+ 'library' => $library_name,
+ 'path' => $library_subpath.'/__tests__/',
+ );
+ }
}
-
- do {
- $paths[$library_name.':'.$library_path] = array(
- 'library' => $library_name,
- 'path' => $library_path.'/__tests__/',
- );
- } while (($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,25 +152,26 @@
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__/'),
),
);
$test_engine = id(new PhutilUnitTestEngine())
->setWorkingCopy($this->getWorkingCopy());
+ $library = phutil_get_current_library_name();
+ $library_root = phutil_get_library_root($library);
+
foreach ($tests as $name => $test) {
- list($paths, $tests) = $test;
+ list($paths, $test_paths) = $test;
$expected = array();
- foreach ($tests as $path) {
- $library_root = phutil_get_library_root_for_path($path);
- $library = phutil_get_library_name_for_root($library_root);
-
+ foreach ($test_paths as $path) {
$expected[] = array(
'library' => $library,
'path' => Filesystem::readablePath($path, $library_root),

File Metadata

Mime Type
text/plain
Expires
Wed, Mar 19, 1:33 AM (5 d, 19 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7386987
Default Alt Text
D13185.id32111.diff (2 KB)

Event Timeline