<?phpnamespaceDoctrine\Tests\DBAL\Functional;useDoctrine\DBAL\Platforms\MySqlPlatform;useDoctrine\Tests\DbalFunctionalTestCase;usefunctionsleep;classTransactionTestextendsDbalFunctionalTestCase{protectedfunctionsetUp():void{parent::setUp();if($this->connection->getDatabasePlatform()instanceofMySqlPlatform){return;}$this->markTestSkipped('Restricted to MySQL.');}protectedfunctiontearDown():void{$this->resetSharedConn();parent::tearDown();}publicfunctiontestCommitFalse():void{$this->connection->query('SET SESSION wait_timeout=1');$this->assertTrue($this->connection->beginTransaction());sleep(2);// during the sleep mysql will close the connection$this->assertFalse(@$this->connection->commit());// we will ignore `MySQL server has gone away` warnings}}