diff UnitTestsSources/MultiThreadingTests.cpp @ 2665:389d050a2e66 jobs

fix deadlock, speed up unit tests
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 08 Jun 2018 13:51:31 +0200
parents a21b244efb37
children 2540ac79ab6c
line wrap: on
line diff
--- a/UnitTestsSources/MultiThreadingTests.cpp	Thu Jun 07 21:37:40 2018 +0200
+++ b/UnitTestsSources/MultiThreadingTests.cpp	Fri Jun 08 13:51:31 2018 +0200
@@ -666,6 +666,7 @@
 TEST(JobsEngine, SubmitAndWait)
 {
   JobsEngine engine;
+  engine.SetThreadSleep(10);
   engine.SetWorkersCount(3);
   engine.Start();
 
@@ -679,6 +680,7 @@
 TEST(JobsEngine, DISABLED_SequenceOfOperationsJob)
 {
   JobsEngine engine;
+  engine.SetThreadSleep(10);
   engine.SetWorkersCount(3);
   engine.Start();
 
@@ -714,6 +716,7 @@
 TEST(JobsEngine, DISABLED_Lua)
 {
   JobsEngine engine;
+  engine.SetThreadSleep(10);
   engine.SetWorkersCount(2);
   engine.Start();
 
@@ -778,6 +781,8 @@
     values.Append(new NullOperationValue);
     values.Append(new StringOperationValue("hello"));
     values.Append(new StringOperationValue("world"));
+
+    s = 42;
     values.Serialize(s);
   }
 
@@ -801,6 +806,8 @@
 
   {
     NullOperationValue null;
+
+    s = 42;
     null.Serialize(s);
   }
 
@@ -815,6 +822,8 @@
 
   {
     StringOperationValue str("Hello");
+
+    s = 42;
     str.Serialize(s);
   }
 
@@ -833,6 +842,8 @@
 
   {
     LogJobOperation operation;
+
+    s = 42;
     operation.Serialize(s);
   }
 
@@ -868,6 +879,8 @@
     job.Start();
     job.ExecuteStep();
     job.ExecuteStep();
+
+    s = 42;
     ASSERT_TRUE(job.Serialize(s));
   }
 
@@ -891,8 +904,6 @@
     ASSERT_EQ("world", tmp.GetInstance(2));
     ASSERT_TRUE(tmp.IsFailedInstance("nope"));
   }
-
-  // TODO : Test SequenceOfOperationsJob.h
 }
 
 
@@ -927,6 +938,8 @@
     modification.Replace(DICOM_TAG_PATIENT_NAME, "Test 4", true);
 
     modification.Apply(*modified);
+
+    s = 42;
     modification.Serialize(s);
   }
 
@@ -959,6 +972,8 @@
 
   {
     DicomInstanceOrigin origin;
+
+    s = 42;
     origin.Serialize(s);
   }
 
@@ -973,6 +988,8 @@
 
   {
     DicomInstanceOrigin origin(DicomInstanceOrigin::FromDicomProtocol("host", "aet", "called"));
+
+    s = 42;
     origin.Serialize(s);
   }
 
@@ -987,6 +1004,8 @@
 
   {
     DicomInstanceOrigin origin(DicomInstanceOrigin::FromHttp("host", "username"));
+
+    s = 42;
     origin.Serialize(s);
   }
 
@@ -1001,6 +1020,8 @@
 
   {
     DicomInstanceOrigin origin(DicomInstanceOrigin::FromLua());
+
+    s = 42;
     origin.Serialize(s);
   }
 
@@ -1011,6 +1032,8 @@
 
   {
     DicomInstanceOrigin origin(DicomInstanceOrigin::FromPlugins());
+
+    s = 42;
     origin.Serialize(s);
   }
 
@@ -1041,7 +1064,7 @@
     OrthancJobsSerialization()
     {
       db_.Open();
-      context_.reset(new ServerContext(db_, storage_));
+      context_.reset(new ServerContext(db_, storage_, true /* running unit tests */));
     }
 
     virtual ~OrthancJobsSerialization()
@@ -1081,6 +1104,8 @@
 
   {
     DicomInstanceOperationValue instance(GetContext(), id);
+
+    s = 42;
     instance.Serialize(s);
   }
 
@@ -1113,6 +1138,8 @@
   
   {
     DeleteResourceOperation operation(GetContext());
+
+    s = 42;
     operation.Serialize(s);
   }
 
@@ -1136,6 +1163,8 @@
     peer.SetPkcs11Enabled(true);
 
     StorePeerOperation operation(peer);
+
+    s = 42;
     operation.Serialize(s);
   }
 
@@ -1159,6 +1188,8 @@
     modality.SetManufacturer(ModalityManufacturer_StoreScp);
 
     StoreScuOperation operation("TEST", modality);
+
+    s = 42;
     operation.Serialize(s);
   }
 
@@ -1180,6 +1211,8 @@
     operation.AddPreArgument("a");
     operation.AddPreArgument("b");
     operation.AddPostArgument("c");
+
+    s = 42;
     operation.Serialize(s);
   }
 
@@ -1202,6 +1235,8 @@
     modification->SetupAnonymization(DicomVersion_2008);
     
     ModifyInstanceOperation operation(GetContext(), RequestOrigin_Lua, modification.release());
+
+    s = 42;
     operation.Serialize(s);
   }
 
@@ -1240,7 +1275,8 @@
     job.SetLocalAet("LOCAL");
     job.SetRemoteModality(modality);
     job.SetMoveOriginator("MOVESCU", 42);
-    
+
+    s = 42;
     ASSERT_TRUE(job.Serialize(s));
   }
 
@@ -1273,6 +1309,7 @@
     OrthancPeerStoreJob job(GetContext());
     job.SetPeer(peer);
     
+    s = 42;
     ASSERT_TRUE(job.Serialize(s));
   }
 
@@ -1297,6 +1334,7 @@
     job.SetModification(modification.release(), true);
     job.SetOrigin(DicomInstanceOrigin::FromLua());
     
+    s = 42;
     ASSERT_TRUE(job.Serialize(s));
   }
 
@@ -1309,4 +1347,15 @@
     ASSERT_EQ(RequestOrigin_Lua, tmp.GetOrigin().GetRequestOrigin());
     ASSERT_TRUE(tmp.GetModification().IsRemoved(DICOM_TAG_STUDY_DESCRIPTION));
   }
+
+  // SequenceOfOperationsJob.h
+
+  {
+    SequenceOfOperationsJob job;
+    
+    s = 42;
+    ASSERT_TRUE(job.Serialize(s));
+  }
+
+  std::cout << s;
 }