Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restore execution of CaseActivityTest
Following eb92dd7, the `CaseActivityTest` started to run only intermittently. Why? __high-level__: `Civi\Core\ClassScanner` and `phpunit8` both do a scan over the folder `tests/phpunit/CRM/Case/WorkflowMessage` __low-level__: `Civi\Core\ClassScanner` has caching. Depending on the state of the cache, it may or may not do a scan: * If the cache is filled, then `ClassScanner` doesn't need to scan. * When `phpunit8` subsequently does a scan, it will load `CaseActivityTest.php` normally. * If the cache is empty, then `ClassScanner` does the first scan. It is the one that actually loads `CaseActivityTest.php`. * Later, `phpunit8` does a scan. Due to a quirk, it doesn't realize the class exists. The scanner in phpunit works roughly like this: ```php $tests = []; foreach (glob('*Test.php') as $file) { $before = get_declared_classes(); require_once $file; $after = get_declared_classes(); $tests = array_merge($tests, array_diff($before, $after)); } ``` So if the class was previously loaded, then phpunit doesn't see it.
- Loading branch information