33//
44#include < string>
55#include < vector>
6- // #include <mutex>
7- // #include <condition_variable>
86#include < exception>
9- #include < unordered_map>
107#include < gtest/gtest.h>
118#include < VCELL/MessageEventManager.h>
129
1310#include " VCellSundialsSolver.h"
1411
1512static std::vector<std::string> eventTracker;
1613
17-
1814void appendNextIndex (const WorkerEvent* event);
1915std::vector<std::string> generateFibonacci (int length);
2016long sequenceComparison (const std::vector<std::string> &sequence1, const std::vector<std::string> &sequence2);
2117
22- static std::unordered_map<std::__thread_id, std::string> nameMap;
23-
24- // std::mutex& getMeyersMutex() {
25- // static std::mutex eventMutex;
26- // return eventMutex;
27- // }
2818
2919TEST (MessageProcessingTest, MessagesAreProcessed) {
3020 try {
31- nameMap[std::this_thread::get_id ()] = " Main Thread" ;
3221 MessageEventManager eventManager{[](WorkerEvent* event)->void {appendNextIndex (event);}};
3322 const int NUM_ITERATIONS = 100 ;
3423 for (int i = 0 ; i < NUM_ITERATIONS; ++i) {
35- // std::cerr << "Main PID = " << getpid() << "\n";
3624 JobEvent::Status status;
3725 switch (i + 1 ) {
3826 case 1 : status = JobEvent::JOB_STARTING; break ;
3927 case NUM_ITERATIONS: status = JobEvent::JOB_COMPLETED; break ;
4028 default : status = JobEvent::JOB_PROGRESS; break ;
4129 }
42- // std::cerr << "Locking mutex at " << &getMeyersMutex << " on thread " << nameMap[std::this_thread::get_id()] << "\n";
43- // getMeyersMutex().lock();//eventTrackerMutex->lock();
44- // std::cerr << "Obtained mutex at " << &getMeyersMutex << " on thread " << nameMap[std::this_thread::get_id()] << "\n";
4530 eventManager.enqueue (status, (i + 1 ) / 100.0 , i, std::to_string (i).c_str ());
46- // std::cerr << "Unlocking mutex at " << &getMeyersMutex << " on thread " << nameMap[std::this_thread::get_id()] << "\n";
47- // getMeyersMutex().unlock();//eventTrackerMutex->unlock();
4831 }
4932 eventManager.requestStopAndWaitForIt ();
5033 std::vector<std::string> expectedResults = generateFibonacci (NUM_ITERATIONS);
@@ -56,12 +39,7 @@ TEST(MessageProcessingTest, MessagesAreProcessed) {
5639}
5740
5841void appendNextIndex (const WorkerEvent* event) {
59- // std::cerr << "Event PID = " << getpid() << "\n";
60- if (!nameMap.contains (std::this_thread::get_id ())) nameMap[std::this_thread::get_id ()] = " Event Thread" ;
6142 try {
62- // std::cerr << "Locking mutex at " << &getMeyersMutex << " on thread " << nameMap[std::this_thread::get_id()] << "\n";
63- // getMeyersMutex().lock();//eventTrackerMutex->lock();
64- // std::cerr << "Obtained mutex at " << &getMeyersMutex << " on thread " << nameMap[std::this_thread::get_id()] << "\n";
6543 if (eventTracker.empty ()) {
6644 eventTracker.emplace_back (" 0" );
6745 } else if (1 == eventTracker.size ()) {
@@ -72,8 +50,6 @@ void appendNextIndex(const WorkerEvent* event) {
7250 const std::string nextValue{std::to_string (firstValue + secondValue)};
7351 eventTracker.push_back (nextValue);
7452 }
75- // std::cerr << "Unlocking mutex at " << &getMeyersMutex << " on thread " << nameMap[std::this_thread::get_id()] << "\n";
76- // getMeyersMutex().unlock();//eventTrackerMutex->unlock();
7753 } catch (const std::exception& e) {
7854 std::cerr << " Caught exception in event loop: " << e.what () << std::endl;
7955 exit (2 );
0 commit comments