-#ifndef __TEST_H\r
-#define __TEST_H\r
-\r
-#include "rbuild.h"\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
- 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 AreNotEqual(int expected,\r
- int actual,\r
- const char* file,\r
- int line );\r
-private:\r
- void Fail();\r
-};\r
-\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 ModuleTest : 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 ();
+};