diff options
Diffstat (limited to 'Examples/test-suite/d/threads_runme.1.d')
-rw-r--r-- | Examples/test-suite/d/threads_runme.1.d | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/Examples/test-suite/d/threads_runme.1.d b/Examples/test-suite/d/threads_runme.1.d deleted file mode 100644 index 206875824..000000000 --- a/Examples/test-suite/d/threads_runme.1.d +++ /dev/null @@ -1,70 +0,0 @@ -module threads_runme; - -import tango.core.Thread; -import tango.io.Console; -import Integer = tango.text.convert.Integer; -import threads.Kerfuffle; - -// Spawn 8 threads. -const uint NUM_THREADS = 8; - -// Run test for a few seconds on a 1GHz machine. -const uint WORKER_LOOP_PASSES = 30000; - -void main() { - auto kerf = new Kerfuffle(); - TestThread[] threads; - - // Invoke the threads. - for (uint i = 0; i < NUM_THREADS; i++) { - auto thread = new TestThread(kerf); - threads ~= thread; - thread.name = Integer.toString(i); - thread.start(); - } - - // Wait for the threads to finish. - foreach(thread; threads) { - thread.join(); - } - - // Check if any thread has failed. - foreach(thread; threads) { - if (thread.failed) throw new Exception("Test failed."); - } -} - -class TestThread : Thread { -public: - this(Kerfuffle kerf) { - super(&run); - m_kerf = kerf; - } - - void run() { - failed = false; - try { - for (uint i = 0; i < WORKER_LOOP_PASSES; i++) { - char[] given = "This is the test char[] that should come back. A number: " ~ Integer.toString(i); - char[] received = m_kerf.StdString(given); - if (received != given) { - throw new Exception("StdString char[] does not match. Received: '" ~ received ~ "'. Expected: '" ~ given ~ "'."); - } - } - for (uint i = 0; i < WORKER_LOOP_PASSES; i++) { - char[] given = "This is the test char[] that should come back. A number: " ~ Integer.toString(i); - char[] received = m_kerf.CharString(given); - if (received != given) { - throw new Exception("StdString char[] does not match. Received: '" ~ received ~ "'. Expected: '" ~ given ~ "'."); - } - } - } catch (Exception e) { - Cerr("Test failed (thread " ~ name() ~ "): " ~ e.msg).newline; - failed = true; - } - } - - bool failed; -private: - Kerfuffle m_kerf; -} |