summaryrefslogtreecommitdiff
path: root/gtest/tjunittest-gtest-wrapper.cpp
diff options
context:
space:
mode:
authorJonathan Wright <jonathan.wright@arm.com>2020-06-29 10:59:36 +0100
committerJonathan Wright <jonathan.wright@arm.com>2020-07-15 11:58:32 +0100
commit0f96902cfd49039cb19f15dc5dc883f3b911e63a (patch)
tree14e394c2b785200e072b4c767dca0845180968d0 /gtest/tjunittest-gtest-wrapper.cpp
parent62ba1598d53cd38fcb369762a952ba3445d1ecc7 (diff)
Move gtest files to separate folder
Move gtest files to a separate 'gtest' folder to separate the libjpeg-turbo C code and the gtest C++ code. Bug: 993876 Change-Id: I2d7511237a9cfdc0ccafd076e1881d32f5eb64f0
Diffstat (limited to 'gtest/tjunittest-gtest-wrapper.cpp')
-rw-r--r--gtest/tjunittest-gtest-wrapper.cpp201
1 files changed, 201 insertions, 0 deletions
diff --git a/gtest/tjunittest-gtest-wrapper.cpp b/gtest/tjunittest-gtest-wrapper.cpp
new file mode 100644
index 0000000..bef4e94
--- /dev/null
+++ b/gtest/tjunittest-gtest-wrapper.cpp
@@ -0,0 +1,201 @@
+/*
+ * Copyright 2020 The Chromium Authors. All Rights Reserved.
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+
+#include <gtest/gtest.h>
+
+extern "C" int testBmp(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testThreeByte444(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testFourByte444(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testThreeByte422(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testFourByte422(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testThreeByte420(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testFourByte420(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testThreeByte440(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testFourByte440(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testThreeByte411(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testFourByte411(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testOnlyGray(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testThreeByteGray(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testFourByteGray(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testBufSize(int yuv, int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyRGB444(int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyRGB422(int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyRGB420(int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyRGB440(int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyRGB411(int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyRGBGray(int noyuvpad, int autoalloc);
+extern "C" int testYUVOnlyGrayGray(int noyuvpad, int autoalloc);
+
+const int YUV = 1;
+const int NO_YUV = 0;
+const int NO_YUV_PAD = 1;
+const int YUV_PAD = 0;
+const int AUTO_ALLOC = 1;
+const int NO_AUTO_ALLOC = 0;
+
+class TJUnitTest : public
+ ::testing::TestWithParam<std::tuple<int, int, int>> {};
+
+TEST_P(TJUnitTest, BMP) {
+ EXPECT_EQ(testBmp(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, ThreeByte444) {
+ EXPECT_EQ(testThreeByte444(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, FourByte444) {
+ EXPECT_EQ(testFourByte444(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, ThreeByte422) {
+ EXPECT_EQ(testThreeByte422(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, FourByte422) {
+ EXPECT_EQ(testFourByte422(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, ThreeByte420) {
+ EXPECT_EQ(testThreeByte420(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, FourByte420) {
+ EXPECT_EQ(testFourByte420(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, ThreeByte440) {
+ EXPECT_EQ(testThreeByte440(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, FourByte440) {
+ EXPECT_EQ(testFourByte440(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, ThreeByte411) {
+ EXPECT_EQ(testThreeByte411(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, FourByte411) {
+ EXPECT_EQ(testFourByte411(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, OnlyGray) {
+ EXPECT_EQ(testOnlyGray(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, ThreeByteGray) {
+ EXPECT_EQ(testThreeByteGray(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, FourByteGray) {
+ EXPECT_EQ(testFourByteGray(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTest, BufSize) {
+ EXPECT_EQ(testBufSize(std::get<0>(GetParam()),
+ std::get<1>(GetParam()),
+ std::get<2>(GetParam())), 0);
+}
+
+INSTANTIATE_TEST_SUITE_P(
+ TJUnitTests,
+ TJUnitTest,
+ ::testing::Values(std::make_tuple(NO_YUV, YUV_PAD, NO_AUTO_ALLOC),
+ std::make_tuple(NO_YUV, YUV_PAD, AUTO_ALLOC),
+ std::make_tuple(NO_YUV, NO_YUV_PAD, NO_AUTO_ALLOC),
+ std::make_tuple(NO_YUV, NO_YUV_PAD, AUTO_ALLOC),
+ std::make_tuple(YUV, YUV_PAD, NO_AUTO_ALLOC),
+ std::make_tuple(YUV, YUV_PAD, AUTO_ALLOC),
+ std::make_tuple(YUV, NO_YUV_PAD, NO_AUTO_ALLOC),
+ std::make_tuple(YUV, NO_YUV_PAD, AUTO_ALLOC)));
+
+class TJUnitTestYUV : public ::testing::TestWithParam<std::tuple<int, int>> {};
+
+TEST_P(TJUnitTestYUV, YUVOnlyRGB444) {
+ EXPECT_EQ(testYUVOnlyRGB444(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTestYUV, YUVOnlyRGB422) {
+ EXPECT_EQ(testYUVOnlyRGB422(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTestYUV, YUVOnlyRGB420) {
+ EXPECT_EQ(testYUVOnlyRGB420(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTestYUV, YUVOnlyRGB440) {
+ EXPECT_EQ(testYUVOnlyRGB440(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTestYUV, YUVOnlyRGB411) {
+ EXPECT_EQ(testYUVOnlyRGB411(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTestYUV, YUVOnlyRGBGray) {
+ EXPECT_EQ(testYUVOnlyRGBGray(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+TEST_P(TJUnitTestYUV, YUVOnlyGrayGray) {
+ EXPECT_EQ(testYUVOnlyGrayGray(std::get<0>(GetParam()),
+ std::get<1>(GetParam())), 0);
+}
+
+INSTANTIATE_TEST_SUITE_P(
+ TJUnitTestsYUV,
+ TJUnitTestYUV,
+ ::testing::Values(std::make_tuple(YUV_PAD, NO_AUTO_ALLOC),
+ std::make_tuple(YUV_PAD, AUTO_ALLOC),
+ std::make_tuple(NO_YUV_PAD, NO_AUTO_ALLOC),
+ std::make_tuple(NO_YUV_PAD, AUTO_ALLOC)));