From 668662307016bc9b46618c89d1f5e13423e49c69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 13 Mar 2006 15:59:58 +0000 Subject: [PATCH] * Fixed possible crashing bug, since fWindow was never initialized. * Fixed another BMessageRunner leak. * Added an optional second parameter which you can use to limit the run time of the app. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16764 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/servers/app/stress_test/main.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/tests/servers/app/stress_test/main.cpp b/src/tests/servers/app/stress_test/main.cpp index 5281f1f173..e37f03bab1 100644 --- a/src/tests/servers/app/stress_test/main.cpp +++ b/src/tests/servers/app/stress_test/main.cpp @@ -4,6 +4,11 @@ #include #include +#include + + +int32 gMaxCount = 0; + enum { TEST_MANY_WINDOWS = 0, TEST_SINGLE_WINDOW, @@ -41,6 +46,7 @@ TestApp::TestApp(uint32 testMode) fPulse(NULL), fFrame(10.0, 30.0, 150.0, 100.0), fScreenFrame(0.0, 0.0, 640.0, 480.0), + fWindow(NULL), fTestMode(testMode) { } @@ -55,13 +61,18 @@ TestApp::~TestApp() void TestApp::ReadyToRun() { - fPulse = new BMessageRunner(be_app_messenger, new BMessage('tick'), 100L); + BMessage message('tick'); + fPulse = new BMessageRunner(be_app_messenger, &message, 100L); } void TestApp::MessageReceived(BMessage* message) { + static int32 count = 0; + if (gMaxCount != 0 && ++count > gMaxCount) + PostMessage(B_QUIT_REQUESTED); + switch (message->what) { case 'tick': switch (fTestMode) { @@ -129,6 +140,9 @@ main(int argc, char** argv) else if (strcmp(argv[1], "-single") == 0) testMode = TEST_SINGLE_WINDOW; } + if (argc > 2) { + gMaxCount = atol(argv[2]); + } TestApp app(testMode); app.Run();