mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-12-23 05:50:54 +01:00
Improve the ArcanistInfrastructureTestCase
unit tests
Summary: Improve the `ArcanistInfrastructureTestCase` unit tests such that they will fail if any of the following conditions are satisfied: - A symbol referenced in the `__phutil_library_map__.php` file no longer exists. - A symbol exists in the library but is not referenced within the `__phutil_library_map__.php` file. - A symbol extends from a different parent symbol than that declared in the `__phutil_library_map.php` file. Test Plan: See D9824 Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D9826
This commit is contained in:
parent
ae680d9114
commit
9bac06cf60
1 changed files with 24 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
final class ArcanistInfrastructureTestCase extends ArcanistTestCase {
|
||||
|
||||
/**
|
||||
* This is more of an acceptance test case instead of a unit test. It verifies
|
||||
* that all symbols can be loaded correctly. It can catch problems like
|
||||
|
@ -10,4 +11,27 @@ final class ArcanistInfrastructureTestCase extends ArcanistTestCase {
|
|||
id(new PhutilSymbolLoader())->selectAndLoadSymbols();
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is more of an acceptance test case instead of a unit test. It verifies
|
||||
* that all the library map is up-to-date.
|
||||
*/
|
||||
public function testLibraryMap() {
|
||||
$root = phutil_get_library_root('arcanist');
|
||||
|
||||
$new_library_map = id(new PhutilLibraryMapBuilder($root))
|
||||
->setQuiet(true)
|
||||
->setDryRun(true)
|
||||
->buildMap();
|
||||
|
||||
$bootloader = PhutilBootloader::getInstance();
|
||||
$old_library_map = $bootloader->getLibraryMap('arcanist');
|
||||
unset($old_library_map[PhutilLibraryMapBuilder::LIBRARY_MAP_VERSION_KEY]);
|
||||
|
||||
$this->assertEqual(
|
||||
$new_library_map,
|
||||
$old_library_map,
|
||||
'The library map does not appear to be up-to-date. Try '.
|
||||
'rebuilding the map with `arc liberate`.');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue