mirror of
				https://github.com/pocoproject/poco.git
				synced 2025-10-25 10:09:36 +02:00 
			
		
		
		
	fix(PollSetTest): avoid looping #1320
This commit is contained in:
		| @@ -343,28 +343,7 @@ void PollSetTest::testPollNoServer() | |||||||
| 	ss1.connectNB(SocketAddress("127.0.0.1", 0xFEFE)); | 	ss1.connectNB(SocketAddress("127.0.0.1", 0xFEFE)); | ||||||
| 	ss2.connectNB(SocketAddress("127.0.0.1", 0xFEFF)); | 	ss2.connectNB(SocketAddress("127.0.0.1", 0xFEFF)); | ||||||
|  |  | ||||||
| 	PollSet::SocketModeMap sm; | 	assertEqual(2, ps.poll(Timespan(1000000)).size()); | ||||||
| 	int signalledErrors = 0; |  | ||||||
| 	Stopwatch sw; sw.start(); |  | ||||||
| 	do |  | ||||||
| 	{ |  | ||||||
| 		sm = ps.poll(Timespan(1000000)); |  | ||||||
| 		for (auto s : sm) |  | ||||||
| 		{ |  | ||||||
| 			assertTrue(0 != (s.second & PollSet::POLL_ERROR)); |  | ||||||
| 			++signalledErrors; |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		sm.clear(); |  | ||||||
| 		int secs = sw.elapsedSeconds(); |  | ||||||
| 		if (secs > 10) |  | ||||||
| 		{ |  | ||||||
| 			fail(Poco::format("testPollNoServer() timed out after %ds, " |  | ||||||
| 				"sockets signalled=%d (expected 2)", |  | ||||||
| 				secs, signalledErrors), __LINE__); |  | ||||||
| 		} |  | ||||||
| 	} while (signalledErrors < 2); |  | ||||||
| 	assertEqual(2, signalledErrors); |  | ||||||
| 	 | 	 | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -422,21 +401,8 @@ void PollSetTest::testPollClosedServer() | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	int signalled = 0; | 	assertEqual(2, ps.poll(Timespan(1000000)).size()); | ||||||
| 	sw.restart(); |  | ||||||
| 	do |  | ||||||
| 	{ |  | ||||||
| 		signalled += static_cast<int>(ps.poll(Timespan(1000000)).size()); |  | ||||||
| 		int secs = sw.elapsedSeconds(); |  | ||||||
| 		if (secs > 10) |  | ||||||
| 		{ |  | ||||||
| 			fail(Poco::format("testPollClosedServer() timed out waiting on " |  | ||||||
| 				"signalled sockets after %ds, sockets signalled=%d (expected 2)", |  | ||||||
| 				secs, signalled), __LINE__); |  | ||||||
| 		} |  | ||||||
| 	} while (signalled < 2); |  | ||||||
|  |  | ||||||
| 	assertTrue(signalled == 2); |  | ||||||
| 	// socket closed or error | 	// socket closed or error | ||||||
| 	assertTrue(0 >= ss1.receiveBytes(0, 0)); | 	assertTrue(0 >= ss1.receiveBytes(0, 0)); | ||||||
| 	assertTrue(0 >= ss2.receiveBytes(0, 0)); | 	assertTrue(0 >= ss2.receiveBytes(0, 0)); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alex Fabijanic
					Alex Fabijanic