summaryrefslogtreecommitdiffstats
path: root/Source/cmTest.h
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2005-04-24 19:59:51 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2005-04-24 19:59:51 (GMT)
commitd395b563ede173721c240df2daad23284f453c4a (patch)
tree84178ad0d725b16b92f84549bd106e05038c90d5 /Source/cmTest.h
parent3a8e7599b10806b43179e18c23218fe68a4d2eb5 (diff)
downloadCMake-d395b563ede173721c240df2daad23284f453c4a.zip
CMake-d395b563ede173721c240df2daad23284f453c4a.tar.gz
CMake-d395b563ede173721c240df2daad23284f453c4a.tar.bz2
ENH: Improve internal test handling by creating a test class. Command cmEnableTesting now only sets CMAKE_TESTING_ENABLED and cmAddTest only adds a test to the list. The actual test files are written by local generator. This way we can at some point in the future replace DartTestfile with some XML file
Diffstat (limited to 'Source/cmTest.h')
-rw-r--r--Source/cmTest.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/Source/cmTest.h b/Source/cmTest.h
new file mode 100644
index 0000000..e5dd1ed
--- /dev/null
+++ b/Source/cmTest.h
@@ -0,0 +1,64 @@
+/*=========================================================================
+
+ Program: CMake - Cross-Platform Makefile Generator
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+ See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#ifndef cmTest_h
+#define cmTest_h
+
+#include "cmCustomCommand.h"
+
+/** \class cmTest
+ * \brief Represent a test
+ *
+ * cmTest is representation of a test.
+ */
+class cmTest
+{
+public:
+ /**
+ */
+ cmTest();
+ ~cmTest();
+
+ ///! Set the test name
+ void SetName(const char* name);
+ const char* GetName() { return m_Name.c_str(); }
+ void SetCommand(const char* command);
+ const char* GetCommand() { return m_Command.c_str(); }
+ void SetArguments(const std::vector<cmStdString>& args);
+ std::vector<cmStdString>& GetArguments()
+ {
+ return m_Args;
+ }
+
+ /**
+ * Print the structure to std::cout.
+ */
+ void Print() const;
+
+ ///! Set/Get a property of this source file
+ void SetProperty(const char *prop, const char *value);
+ const char *GetProperty(const char *prop) const;
+ bool GetPropertyAsBool(const char *prop) const;
+
+private:
+ std::map<cmStdString,cmStdString> m_Properties;
+ cmStdString m_Name;
+ cmStdString m_Command;
+ std::vector<cmStdString> m_Args;
+};
+
+#endif
+