MCPcopy Create free account
hub / github.com/Pagghiu/SaneCppLibraries / testEventObject

Method testEventObject

Tests/Libraries/Threading/ThreadingTest.cpp:85–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83}
84
85void SC::ThreadingTest::testEventObject()
86{
87 //! [eventObjectSnippet]
88 EventObject eventObject;
89
90 Thread threadWaiting;
91 auto waitingFunc = [&](Thread& thread)
92 {
93 thread.setThreadName(SC_NATIVE_STR("Thread waiting"));
94 eventObject.wait();
95 report.console.printLine("After waiting");
96 };
97 SC_TEST_EXPECT(threadWaiting.start(waitingFunc));
98
99 Thread threadSignaling;
100 auto signalingFunc = [&](Thread& thread)
101 {
102 thread.setThreadName(SC_NATIVE_STR("Signaling thread"));
103 report.console.printLine("Signal");
104 eventObject.signal();
105 };
106 SC_TEST_EXPECT(threadSignaling.start(signalingFunc));
107 SC_TEST_EXPECT(threadWaiting.join());
108 SC_TEST_EXPECT(threadSignaling.join());
109 // Prints:
110 // Signal
111 // After waiting
112 //! [eventObjectSnippet]
113}
114
115void SC::ThreadingTest::testMutex()
116{

Callers

nothing calls this directly

Calls 6

printLineMethod · 0.80
setThreadNameMethod · 0.45
waitMethod · 0.45
startMethod · 0.45
signalMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected