src/core/test.cc
changeset 5481 de01c67af975
parent 5458 15fcd24f8b1e
child 5483 ad83d869c08c
--- a/src/core/test.cc	Wed Nov 04 21:08:32 2009 -0800
+++ b/src/core/test.cc	Thu Nov 05 19:14:37 2009 -0800
@@ -87,6 +87,7 @@
     m_continueOnFailure (false), 
     m_detailsReported (false), 
     m_basedir ("invalid"), 
+    m_tempdir ("invalid"), 
     m_ofs (0), 
     m_error (false)
 {
@@ -203,7 +204,14 @@
 void 
 TestCase::SetBaseDir (std::string basedir)
 {
-  m_basedir = basedir;
+  if (basedir[basedir.length () - 1] != '/')
+    {
+      m_basedir = basedir + "/";
+    }
+  else
+    {
+      m_basedir = basedir;
+    }
 }
 
 std::string 
@@ -212,13 +220,32 @@
   return m_basedir;
 }
 
+void 
+TestCase::SetTempDir (std::string tempdir)
+{
+  if (tempdir[tempdir.length () - 1] != '/')
+    {
+      m_tempdir = tempdir + "/";
+    }
+  else
+    {
+      m_tempdir = tempdir;
+    }
+}
+
+std::string 
+TestCase::GetTempDir (void)
+{
+  return m_tempdir;
+}
+
 std::string 
 TestCase::GetSourceDir (std::string file)
 {
   std::string::size_type relPathBegin = file.find_first_of ("/");
-  NS_ABORT_MSG_IF (relPathBegin == std::string::npos, "TestCase::GetSrouceDir(): Internal Error");
+  NS_ABORT_MSG_IF (relPathBegin == std::string::npos, "TestCase::GetSourceDir(): Internal Error");
   std::string::size_type relPathEnd = file.find_last_of ("/");
-  NS_ABORT_MSG_IF (relPathEnd == std::string::npos, "TestCase::GetSrouceDir(): Internal Error");
+  NS_ABORT_MSG_IF (relPathEnd == std::string::npos, "TestCase::GetSourceDir(): Internal Error");
 
   return GetBaseDir () + file.substr (relPathBegin, relPathEnd + 1 - relPathBegin);
 }
@@ -353,6 +380,7 @@
   : m_name (name), 
     m_verbose (false), 
     m_basedir ("invalid"), 
+    m_tempdir ("invalid"), 
     m_ofs (0), 
     m_error (false), 
     m_type (type)
@@ -476,7 +504,14 @@
 void 
 TestSuite::SetBaseDir (std::string basedir)
 {
-  m_basedir = basedir;
+  if (basedir[basedir.length () - 1] != '/')
+    {
+      m_basedir = basedir + "/";
+    }
+  else
+    {
+      m_basedir = basedir;
+    }
 }
 
 std::string 
@@ -486,6 +521,25 @@
 }
 
 void 
+TestSuite::SetTempDir (std::string tempdir)
+{
+  if (tempdir[tempdir.length () - 1] != '/')
+    {
+      m_tempdir = tempdir + "/";
+    }
+  else
+    {
+      m_tempdir = tempdir;
+    }
+}
+
+std::string 
+TestSuite::GetTempDir (void)
+{
+  return m_tempdir;
+}
+
+void 
 TestSuite::SetStream (std::ofstream *ofs)
 {
   m_ofs = ofs;
@@ -589,6 +643,7 @@
       (*i)->SetVerbose (m_verbose);
       (*i)->SetContinueOnFailure (m_continueOnFailure);
       (*i)->SetBaseDir (m_basedir);
+      (*i)->SetTempDir (m_tempdir);
       (*i)->SetStream (m_ofs);
 
       //