24 |
CPPUNIT_TEST(testThreadKillableWhenWaiting); |
CPPUNIT_TEST(testThreadKillableWhenWaiting); |
25 |
CPPUNIT_TEST_SUITE_END(); |
CPPUNIT_TEST_SUITE_END(); |
26 |
|
|
27 |
private: |
public: |
28 |
// this is our test implementation of the abstract base class Thread which we will use to test class Thread |
// this is our test implementation of the abstract base class Thread which we will use to test class Thread |
29 |
class DummyThread : public Thread { |
class DummyThread : public LinuxSampler::Thread { |
30 |
public: |
public: |
31 |
bool wasRunning; // this variable is false on startup and will be switched to true by the thread, so we can check if the thread actually runs |
bool wasRunning; // this variable is false on startup and will be switched to true by the thread, so we can check if the thread actually runs |
32 |
int someVariable; // we constantly set this variable to -1 in the DummyThread Main() loop, so we can check in our main test thread if the DummyThread is still running by changing that value to something else than -1 |
volatile int someVariable; // we constantly set this variable to -1 in the DummyThread Main() loop, so we can check in our main test thread if the DummyThread is still running by changing that value to something else than -1 |
33 |
|
|
34 |
DummyThread(); |
DummyThread(); |
35 |
int Main(); |
int Main(); |
36 |
} dummythread; |
}; |
37 |
|
|
38 |
|
private: |
39 |
// this is only a helper thread to avoid that the entire test case run hangs when we try to stop the dummy thread |
// this is only a helper thread to avoid that the entire test case run hangs when we try to stop the dummy thread |
40 |
class HelperThread : public Thread { |
class HelperThread : public LinuxSampler::Thread { |
41 |
private: |
private: |
42 |
DummyThread* pDummyThread; |
DummyThread* pDummyThread; |
43 |
public: |
public: |
49 |
}; |
}; |
50 |
|
|
51 |
// this simulates a thread that is waiting for a condition (thus sleeping til then) |
// this simulates a thread that is waiting for a condition (thus sleeping til then) |
52 |
class WaitingThread : public Thread { |
class WaitingThread : public LinuxSampler::Thread { |
53 |
public: |
public: |
54 |
WaitingThread(); |
WaitingThread(); |
55 |
int Main(); |
int Main(); |
56 |
private: |
private: |
57 |
Condition condition; |
LinuxSampler::Condition condition; |
58 |
}; |
}; |
59 |
public: |
public: |
60 |
void setUp() { |
void setUp() { |