void ServerTest::InitRunResetRunTerminateLeaderFollowerTest() { StartTrace(ServerTest.InitRunResetRunTerminateLeaderFollowerTest); TestCaseType::DoUnloadConfig(); for (long i = 0; i < 3; i++) { TestCaseType::DoLoadConfig("ServerTest", "InitRunResetRunTerminateLeaderFollowerTest"); Server *server = Server::FindServer("LeaderFollowerServer"); if (t_assertm(server != NULL, "expected LeaderFollowerServer to be there")) { server = (Server *) server->ConfiguredClone("Server", "LeaderFollowerServerMaster", true); if (t_assertm(server != NULL, "expected server-clone to succeed")) { ServerThread mt(server); if (t_assert(mt.Start()) && t_assert(mt.CheckState(Thread::eRunning, 5))) { if (t_assertm(mt.serverIsInitialized(), "expected initialization to succeed")) { mt.SetWorking(); if (t_assertm(mt.IsReady(true, 5), "expected server to become ready within 5 seconds")) { // --- run various request // sequences RunTestSequence(); if (t_assertm(server->GlobalReinit() == 0, "expected server to reinit ok")) { RunTestSequence(); } mt.PrepareShutdown(0); } } if (t_assertm(mt.IsReady(false, 5), "expected server to become terminated within 5 seconds")) { mt.Terminate(10); } } mt.CheckState(Thread::eTerminated, 5); server->Finalize(); delete server; } } TestCaseType::DoUnloadConfig(); } }
//===================================================================================== void Frame::KillServer( void ) { Server* server = wxGetApp().GetServer(); if( server ) { server->Finalize(); delete server; wxGetApp().SetServer(0); } }