From fe03dbd87e047d3628088cd93521b974d57144f9 Mon Sep 17 00:00:00 2001
From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org>
Date: Tue, 29 Sep 2009 15:41:28 +0800
Subject: [PATCH] BUG: TestHelper: the diff output can't assume that either the
 baseline or the output is longer

---
 Testing/Code/otbTestHelper.cxx | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/Testing/Code/otbTestHelper.cxx b/Testing/Code/otbTestHelper.cxx
index fb02d660e6..19a53fcb30 100644
--- a/Testing/Code/otbTestHelper.cxx
+++ b/Testing/Code/otbTestHelper.cxx
@@ -243,11 +243,23 @@ int TestHelper::RegressionTestAsciiFile(const char * testAsciiFileName, const ch
     std::cout << "Tolerance value     : " << epsilon << std::endl;
     std::cout << "Tolerance max check : " << m_EpsilonBoundaryChecking << std::endl;
 
-    std::cout << "Nb lines differents : " << listStrDiffLineFileRef.size() << std::endl;
-    for (unsigned int i = 0; i < listStrDiffLineFileRef.size(); ++i)
+    //FIXME won't be intuitive for the non order case
+    unsigned int numLineDiff = std::min(listStrDiffLineFileRef.size(), listStrDiffLineFileTest.size());
+    std::cout << "Nb lines differents : " << numLineDiff << std::endl;
+    for (unsigned int i = 0; i < numLineDiff; ++i)
+    {
+      std::cout << "   -------------------------------" << std::endl;
+      std::cout << "   Base << " << listStrDiffLineFileRef[i] << std::endl;
+      std::cout << "   Test >> " << listStrDiffLineFileTest[i] << std::endl;
+    }
+    for (unsigned int i = numLineDiff; i < listStrDiffLineFileRef.size(); ++i)
     {
       std::cout << "   -------------------------------" << std::endl;
       std::cout << "   Base << " << listStrDiffLineFileRef[i] << std::endl;
+    }
+    for (unsigned int i = numLineDiff; i < listStrDiffLineFileTest.size(); ++i)
+    {
+      std::cout << "   -------------------------------" << std::endl;
       std::cout << "   Test >> " << listStrDiffLineFileTest[i] << std::endl;
     }
   }
-- 
GitLab