Use gtest for testing Subzero.
Change-Id: If2a5c51991bd60e1b6545799cd50f9520c85f21e
Reviewed-on: https://swiftshader-review.googlesource.com/7570
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/Reactor/Main.cpp b/src/Reactor/Main.cpp
index e1887b5..f12b9ac 100644
--- a/src/Reactor/Main.cpp
+++ b/src/Reactor/Main.cpp
@@ -14,7 +14,7 @@
#include "Reactor.hpp"
-#include <cassert>
+#include "gtest/gtest.h"
using namespace sw;
@@ -29,11 +29,11 @@
}
int sum = x + y + z;
-
+
return sum;
}
-int main()
+TEST(SubzeroReactorSample, SubzeroReactor)
{
Routine *routine = nullptr;
@@ -66,11 +66,15 @@
int (*callable)(int*, int) = (int(*)(int*,int))routine->getEntry();
int one[2] = {1, 0};
int result = callable(&one[1], 2);
- assert(result == reference(&one[1], 2));
+ EXPECT_EQ(result, reference(&one[1], 2));
}
}
delete routine;
+}
- return 0;
+int main(int argc, char **argv)
+{
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
}
diff --git a/src/Reactor/SubmoduleCheck/gtest/gtest.h b/src/Reactor/SubmoduleCheck/gtest/gtest.h
new file mode 100644
index 0000000..4861ef3
--- /dev/null
+++ b/src/Reactor/SubmoduleCheck/gtest/gtest.h
@@ -0,0 +1,2 @@
+// These are not the headers you're looking for
+#error "Missing googletest submodule. Run git submodule update --init"
\ No newline at end of file
diff --git a/src/Reactor/SubzeroTest.vcxproj b/src/Reactor/SubzeroTest.vcxproj
index ba02fc8..a64f454 100644
--- a/src/Reactor/SubzeroTest.vcxproj
+++ b/src/Reactor/SubzeroTest.vcxproj
@@ -93,6 +93,8 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\googletest\googletest\include\;$(SolutionDir)third_party\googletest\googletest\;SubmoduleCheck;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>gtest/gtest.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -107,6 +109,8 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\googletest\googletest\include\;$(SolutionDir)third_party\googletest\googletest\;SubmoduleCheck;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>gtest/gtest.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -123,6 +127,8 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\googletest\googletest\include\;$(SolutionDir)third_party\googletest\googletest\;SubmoduleCheck;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>gtest/gtest.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -141,6 +147,8 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\googletest\googletest\include\;$(SolutionDir)third_party\googletest\googletest\;SubmoduleCheck;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ForcedIncludeFiles>gtest/gtest.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -158,6 +166,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
+ <ClCompile Include="..\..\third_party\googletest\googletest\src\gtest-all.cc" />
<ClCompile Include="Main.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/src/Reactor/SubzeroTest.vcxproj.filters b/src/Reactor/SubzeroTest.vcxproj.filters
index 661f3fb..7c19272 100644
--- a/src/Reactor/SubzeroTest.vcxproj.filters
+++ b/src/Reactor/SubzeroTest.vcxproj.filters
@@ -18,5 +18,8 @@
<ClCompile Include="Main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\third_party\googletest\googletest\src\gtest-all.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
</Project>
\ No newline at end of file