project, $fromCore->project); self::assertSame($fromRoot->project, $fromConsole->project); self::assertSame($fromRoot->modules(), $fromCore->modules()); self::assertSame($fromRoot->logs(), $fromConsole->logs()); } #[Test] #[TestDox('Missing project roots are rejected')] public function rejectsMissingRoots(): void { $this->expectException(\InvalidArgumentException::class); ProjectPaths::resolve(sys_get_temp_dir()); } #[Test] #[TestDox('Empty kernel environments are rejected')] public function rejectsEmptyEnvironments(): void { $this->expectException(\InvalidArgumentException::class); new KernelOptions(ProjectPaths::resolve(dirname(__DIR__, 4)), ''); } }