normalizeRuntimeOwnershipAfterRootRun(); $this->assertTrue(true); } /** * 부모(CoreUpdateCommand)·자식(ExecuteUpgradeStepsCommand) 흐름 종료부가 * 정상화를 호출한다 — 로그 소유권 정상화(restoreUpgradeLogOwnership)와 * 항상 짝으로 (#519 소스 훑기 선례). */ public function test_update_flows_invoke_runtime_ownership_normalization(): void { foreach ([ app_path('Console/Commands/Core/CoreUpdateCommand.php'), app_path('Console/Commands/Core/ExecuteUpgradeStepsCommand.php'), ] as $file) { $source = (string) file_get_contents($file); $logCalls = substr_count($source, '$this->restoreUpgradeLogOwnership();'); $normalizeCalls = substr_count($source, 'normalizeRuntimeOwnershipAfterRootRun'); $this->assertGreaterThan(0, $logCalls, basename($file).': 로그 소유권 정상화 호출이 사라졌습니다'); $this->assertGreaterThanOrEqual( $logCalls, $normalizeCalls, basename($file).': 흐름 종료부(restoreUpgradeLogOwnership 호출 지점)마다 런타임 소유권 정상화가 짝으로 호출되어야 합니다' ); } } }