From af579d5f9d163197709fe30e7e41631f0bbf39cc Mon Sep 17 00:00:00 2001
From: Jonathan Guinet <jonathan.guinet@c-s.fr>
Date: Wed, 9 Nov 2011 15:11:46 +0100
Subject: [PATCH] ENH: explicit setseed for rand() and itkMersenneTwister for
 Testing.

---
 Code/Testing/otbTestMain.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Code/Testing/otbTestMain.h b/Code/Testing/otbTestMain.h
index 01fd9c54e6..8daee5c11c 100644
--- a/Code/Testing/otbTestMain.h
+++ b/Code/Testing/otbTestMain.h
@@ -28,6 +28,9 @@
 
 #include "otbTestHelper.h"
 
+#include "itkMersenneTwisterRandomVariateGenerator.h"
+
+
 typedef int (*MainFuncPointer)(int, char*[]);
 std::map<std::string, MainFuncPointer> StringToTestFunctionMap;
 
@@ -49,6 +52,14 @@ void PrintAvailableTests()
     }
 }
 
+//apply dedicated treatment to test
+void LoadTestEnv()
+{
+  //Set seed for rand and itk mersenne twister
+  srand(1);
+  itk::Statistics::MersenneTwisterRandomVariateGenerator::GetInstance()->SetSeed(1234);
+}
+
 int main(int ac, char* av[])
 {
   bool   lFlagRegression(false);
@@ -77,6 +88,8 @@ int main(int ac, char* av[])
   otb::TestHelper::Pointer testHelper = otb::TestHelper::New();
 
   RegisterTests();
+
+  LoadTestEnv(); // load specific treatments for testing
   std::string testToRun;
   if (ac < 2)
     {
-- 
GitLab