Преглед изворни кода

ENH: try and debug the failed test on the continuous

Bill Hoffman пре 20 година
родитељ
комит
16b65d86c9

+ 15 - 5
Source/cmOrderLinkDirectories.cxx

@@ -4,6 +4,12 @@
 
 
 
+//-------------------------------------------------------------------
+cmOrderLinkDirectories::cmOrderLinkDirectories()
+{
+  m_Debug = false;
+}
+
 //-------------------------------------------------------------------
 bool cmOrderLinkDirectories::LibraryInDirectory(const char* dir, 
                                                 const char* libIn)
@@ -272,7 +278,11 @@ bool cmOrderLinkDirectories::DetermineLibraryPathOrder()
     }
   this->FindIndividualLibraryOrders();
   m_SortedSearchPaths.clear();
-  
+  if(m_Debug)
+    {
+    this->PrintMap("m_LibraryToDirectories", m_LibraryToDirectories);
+    this->PrintMap("m_DirectoryToAfterList", m_DirectoryToAfterList);
+    }
   this->OrderPaths(m_SortedSearchPaths); 
   // now turn libfoo.a into foo and foo.a into foo
   // This will prepare the link items for -litem 
@@ -317,18 +327,18 @@ void
 cmOrderLinkDirectories::PrintMap(const char* name,
                        std::map<cmStdString, std::vector<cmStdString> >& m)
 {
-  std::cerr << name << "\n";
+  std::cout << name << "\n";
   for(std::map<cmStdString, std::vector<cmStdString> >::iterator i =
         m.begin(); i != m.end();
       ++i)
     {
-    std::cerr << i->first << ":  ";
+    std::cout << i->first << ":  ";
     for(std::vector<cmStdString>::iterator l = i->second.begin();
         l != i->second.end(); ++l)
       {
-      std::cerr << *l << " ";
+      std::cout << *l << " ";
       }
-    std::cerr << "\n";
+    std::cout << "\n";
     }
 }
 

+ 7 - 1
Source/cmOrderLinkDirectories.h

@@ -47,6 +47,7 @@
 class cmOrderLinkDirectories
 {
 public:
+  cmOrderLinkDirectories();
   ///! set link information from the target
   void SetLinkInformation(const cmTarget&, cmTarget::LinkLibraryType,
                           const char* targetLibrary);
@@ -79,6 +80,11 @@ public:
     cmStdString Path;
   };
   friend struct cmOrderLinkDirectoriesCompare;
+  void DebugOn() 
+    {
+      m_Debug = true;
+    }
+  
 private:
   void CreateRegularExpressions();
   void DetermineLibraryPathOrder(std::vector<cmStdString>& searchPaths,
@@ -119,7 +125,7 @@ private:
   cmsys::RegularExpression m_RemoveLibraryExtension;
   cmsys::RegularExpression m_ExtractBaseLibraryName;
   cmsys::RegularExpression m_ExtractBaseLibraryNameNoPrefix;
-  
+  bool m_Debug;
 };
 
 #endif

+ 1 - 0
Tests/Complex/Executable/complex.cxx

@@ -52,6 +52,7 @@ bool TestLibraryOrder(bool shouldFail)
   std::vector<cmStdString> sortedpaths;
   std::vector<cmStdString> linkItems;
   cmOrderLinkDirectories orderLibs;
+  orderLibs.DebugOn();
   orderLibs.AddLinkExtension(".so");
   orderLibs.AddLinkExtension(".a");
   orderLibs.SetLinkInformation(target, cmTarget::GENERAL, "A");

+ 1 - 0
Tests/ComplexOneConfig/Executable/complex.cxx

@@ -52,6 +52,7 @@ bool TestLibraryOrder(bool shouldFail)
   std::vector<cmStdString> sortedpaths;
   std::vector<cmStdString> linkItems;
   cmOrderLinkDirectories orderLibs;
+  orderLibs.DebugOn();
   orderLibs.AddLinkExtension(".so");
   orderLibs.AddLinkExtension(".a");
   orderLibs.SetLinkInformation(target, cmTarget::GENERAL, "A");

+ 1 - 0
Tests/ComplexRelativePaths/Executable/complex.cxx

@@ -52,6 +52,7 @@ bool TestLibraryOrder(bool shouldFail)
   std::vector<cmStdString> sortedpaths;
   std::vector<cmStdString> linkItems;
   cmOrderLinkDirectories orderLibs;
+  orderLibs.DebugOn();
   orderLibs.AddLinkExtension(".so");
   orderLibs.AddLinkExtension(".a");
   orderLibs.SetLinkInformation(target, cmTarget::GENERAL, "A");