assertNotEmpty($bootstraps, 'No *_schema_bootstrap.php files found in classes/'); // Ensure no real $db is required: each ensureSchema() in the // existing classes guards with `if (!isset($db) ...) { return; }` // so they are no-ops without one. We just verify the runtime // doesn't throw. schema_bootstrap_runtime::runAll(); $this->assertTrue(true); // no exception } public function testRunAllIsIdempotent(): void { // First call already happened in test 1; calling again must // short-circuit and not throw. schema_bootstrap_runtime::runAll(); schema_bootstrap_runtime::runAll(); $this->assertTrue(true); } public function testNoOpWhenNoBootstrapsExist(): void { // Reflection: ensure runAll() is robust even if a different // classes dir somehow had no bootstraps. We just call it // again — it should be a no-op due to the static $ran flag. schema_bootstrap_runtime::runAll(); $this->assertTrue(true); } }