void error(char *fmt, ...) { va_list ap; cpuExit(); mmuExit(); memoryExit(); timerExit(); displayExit(); keyboardExit(); termExit(); diskExit(); outputExit(); graphExit(); cExit(); va_start(ap, fmt); fprintf(stderr, "Error: "); vfprintf(stderr, fmt, ap); fprintf(stderr, "\n"); va_end(ap); exit(1); }
void EvtloopTestCase::TestExit() { // Test that simply exiting the loop works. wxEventLoop loopOuter; ScheduleLoopExitTimer timerExit(loopOuter, EXIT_CODE_OUTER_LOOP); timerExit.StartOnce(1); CPPUNIT_ASSERT_EQUAL( EXIT_CODE_OUTER_LOOP, loopOuter.Run() ); // Test that exiting the outer loop before the inner loop (outer duration // parameter less than inner duration in the timer ctor below) works. ScheduleLoopExitTimer timerExitOuter(loopOuter, EXIT_CODE_OUTER_LOOP); RunNestedAndExitBothLoopsTimer timerRun(timerExitOuter, 5, 10); timerRun.StartOnce(1); CPPUNIT_ASSERT_EQUAL( EXIT_CODE_OUTER_LOOP, loopOuter.Run() ); // Test that exiting the inner loop before the outer one works too. ScheduleLoopExitTimer timerExitOuter2(loopOuter, EXIT_CODE_OUTER_LOOP); RunNestedAndExitBothLoopsTimer timerRun2(timerExitOuter, 10, 5); timerRun2.StartOnce(1); CPPUNIT_ASSERT_EQUAL( EXIT_CODE_OUTER_LOOP, loopOuter.Run() ); }