Merge trunk HEAD (r46369)
[reactos.git] / reactos / tools / rbuild / test.h
index ee740fd..69e131f 100644 (file)
-#ifndef __TEST_H\r
-#define __TEST_H\r
-\r
-#include "rbuild.h"\r
-#include "backend/mingw/mingw.h"\r
-\r
-#define RBUILD_BASE "tools" SSEP "rbuild" SSEP\r
-       \r
-class BaseTest\r
-{\r
-public:\r
-       bool Failed;\r
-       BaseTest ();\r
-       virtual ~BaseTest ();\r
-       virtual void Run () = 0;\r
-protected:\r
-       void Assert ( const char *message,\r
-                     ... );\r
-       void IsNull ( void* reference,\r
-                     const char* file,\r
-                     int line );\r
-       void IsNotNull ( void* reference,\r
-                        const char* file,\r
-                        int line );\r
-       void IsTrue ( bool condition,\r
-                     const char* file,\r
-                     int line );\r
-       void IsFalse ( bool condition,\r
-                      const char* file,\r
-                      int line );\r
-       void AreEqual ( int expected,\r
-                       int actual,\r
-                       const char* file,\r
-                       int line );\r
-       void AreEqual ( const std::string& expected,\r
-                       const std::string& actual,\r
-                       const char* file,\r
-                       int line );\r
-       void AreNotEqual ( int expected,\r
-                          int actual,\r
-                          const char* file,\r
-                          int line );\r
-private:\r
-       void Fail ();\r
-};\r
-\r
-#define IS_NULL(reference) IsNull((void*)reference,__FILE__,__LINE__)\r
-#define IS_NOT_NULL(reference) IsNotNull((void*)reference,__FILE__,__LINE__)\r
-#define IS_TRUE(condition) IsTrue(condition,__FILE__,__LINE__)\r
-#define IS_FALSE(condition) IsFalse(condition,__FILE__,__LINE__)\r
-#define ARE_EQUAL(expected,actual) AreEqual(expected,actual,__FILE__,__LINE__)\r
-#define ARE_NOT_EQUAL(expected,actual) AreNotEqual(expected,actual,__FILE__,__LINE__)\r
-\r
-class ProjectTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class ModuleTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class DefineTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class IncludeTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class InvokeTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class LinkerFlagTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class IfTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class FunctionTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class SourceFileTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-       void IncludeTest ();\r
-       void FullParseTest ();\r
-private:\r
-       bool IsParentOf ( const SourceFile* parent,\r
-                         const SourceFile* child );\r
-\r
-};\r
-\r
-\r
-class CDFileTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-\r
-class SymbolTest : public BaseTest\r
-{\r
-public:\r
-       void Run ();\r
-};\r
-\r
-#endif /* __TEST_H */\r
+/*
+ * Copyright (C) 2005 Casper S. Hornstrup
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#pragma once
+
+#include "rbuild.h"
+#include "backend/mingw/mingw.h"
+
+#define SSEP DEF_SSEP
+
+#define RBUILD_BASE "tools" SSEP "rbuild" SSEP
+
+class BaseTest
+{
+public:
+       bool Failed;
+       BaseTest ();
+       virtual ~BaseTest ();
+       virtual void Run () = 0;
+protected:
+       void Assert ( const char *message,
+                     ... );
+       void IsNull ( void* reference,
+                     const char* file,
+                     int line );
+       void IsNotNull ( void* reference,
+                        const char* file,
+                        int line );
+       void IsTrue ( bool condition,
+                     const char* file,
+                     int line );
+       void IsFalse ( bool condition,
+                      const char* file,
+                      int line );
+       void AreEqual ( int expected,
+                       int actual,
+                       const char* file,
+                       int line );
+       void AreEqual ( const std::string& expected,
+                       const std::string& actual,
+                       const char* file,
+                       int line );
+       void AreNotEqual ( int expected,
+                          int actual,
+                          const char* file,
+                          int line );
+private:
+       void Fail ();
+};
+
+#define IS_NULL(reference) IsNull((void*)reference,__FILE__,__LINE__)
+#define IS_NOT_NULL(reference) IsNotNull((void*)reference,__FILE__,__LINE__)
+#define IS_TRUE(condition) IsTrue(condition,__FILE__,__LINE__)
+#define IS_FALSE(condition) IsFalse(condition,__FILE__,__LINE__)
+#define ARE_EQUAL(expected,actual) AreEqual(expected,actual,__FILE__,__LINE__)
+#define ARE_NOT_EQUAL(expected,actual) AreNotEqual(expected,actual,__FILE__,__LINE__)
+
+class ProjectTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class ModuleTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class DefineTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class IncludeTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class InvokeTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class LinkerFlagTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class IfTest : public BaseTest
+{
+public:
+       void Run ();
+private:
+       void TestProjectIf ( Project& project );
+       void TestModuleIf ( Project& project );
+};
+
+
+class FunctionTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class SourceFileTest : public BaseTest
+{
+public:
+       void Run ();
+       void IncludeTest ();
+       void FullParseTest ();
+private:
+       bool IsParentOf ( const SourceFile* parent,
+                         const SourceFile* child );
+
+};
+
+
+class CDFileTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+
+class SymbolTest : public BaseTest
+{
+public:
+       void Run ();
+};
+
+class CompilationUnitTest : public BaseTest
+{
+public:
+       void Run ();
+};