1 /* 2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors 3 * 4 * Squid software is distributed under GPLv2+ license and includes 5 * contributions from numerous individuals and organizations. 6 * Please see the COPYING and CONTRIBUTORS files for details. 7 */ 8 9 #ifndef SQUID_SRC_TEST_EVENTLOOP_H 10 #define SQUID_SRC_TEST_EVENTLOOP_H 11 12 #include <cppunit/extensions/HelperMacros.h> 13 14 /* 15 * test the EventLoop implementation 16 */ 17 18 class testEventLoop : public CPPUNIT_NS::TestFixture 19 { 20 CPPUNIT_TEST_SUITE( testEventLoop ); 21 CPPUNIT_TEST( testCreate ); 22 23 #if POLISHED_MAIN_LOOP 24 CPPUNIT_TEST( testRunOnce ); 25 CPPUNIT_TEST( testRegisterDispatcher ); 26 CPPUNIT_TEST( testRegisterEngine ); 27 CPPUNIT_TEST( testEngineTimeout ); 28 CPPUNIT_TEST( testStopOnIdle ); 29 #endif 30 31 CPPUNIT_TEST( testSetTimeService ); 32 CPPUNIT_TEST( testSetPrimaryEngine ); 33 CPPUNIT_TEST_SUITE_END(); 34 35 public: 36 void setUp(); 37 38 protected: 39 void testCreate(); 40 41 #if POLISHED_MAIN_LOOP 42 void testEngineTimeout(); 43 void testRunOnce(); 44 void testRegisterDispatcher(); 45 void testRegisterEngine(); 46 void testStopOnIdle(); 47 #endif 48 49 void testSetTimeService(); 50 void testSetPrimaryEngine(); 51 /* TODO: 52 * test that engine which errors a couple of times, then returns 0, then 53 * errors 10 times in a row triggers a fail on the 10th time around 54 */ 55 }; 56 57 #endif 58 59