public static bool startTest() { if (testStage != TestStage.NOT_RUNNING) { return(false); } // Reset counters numDataObjectsGenerated = 0; setTestStage(TestStage.STARTING); if (!startHaggle()) { setTestStage(TestStage.NOT_RUNNING); return(false); } // Start LuckyMe thread if (!LuckyMeLib.isLuckyMeRunning()) { int res = LuckyMeLib.startLuckyMe(); if (res < 0) { Debug.WriteLine("Error: Could not start LuckyMe!"); setTestStage(TestStage.NOT_RUNNING); return(false); } // Check again that LuckyMe and the Haggle event loop is running if (!LuckyMeLib.isLuckyMeRunning()) { Debug.WriteLine("Error: LuckyMe not running after start!"); setTestStage(TestStage.NOT_RUNNING); return(false); } } else { Debug.WriteLine("LuckyMe already running"); } Thread.Sleep(2000); if (!LuckyMeLib.isTestRunning()) { Debug.WriteLine("Starting LuckyMe test loop"); int res = LuckyMeLib.startTest(); if (res < 0) { Debug.WriteLine("Error: Could not start LuckyMe test loop!"); setTestStage(TestStage.NOT_RUNNING); LuckyMeLib.stopHaggle(); return(false); } } else { Debug.WriteLine("LuckyMe test already running"); } setTestStage(TestStage.RUNNING); return(true); }