summaryrefslogtreecommitdiff
path: root/gtest/gtest-utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gtest/gtest-utils.cpp')
-rw-r--r--gtest/gtest-utils.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/gtest/gtest-utils.cpp b/gtest/gtest-utils.cpp
new file mode 100644
index 0000000..b6df7ab
--- /dev/null
+++ b/gtest/gtest-utils.cpp
@@ -0,0 +1,60 @@
+/*
+ * 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 "base/strings/utf_string_conversions.h"
+#include "gtest-utils.h"
+
+#if defined(OS_WIN)
+std::wstring GetTargetDirectory() {
+ base::FilePath path;
+ base::PathService::Get(base::DIR_CURRENT, &path);
+ return base::UTF8ToWide(path.MaybeAsASCII());
+}
+#else
+std::string GetTargetDirectory() {
+#if defined(ANDROID)
+ return "/sdcard";
+#else
+ base::FilePath path;
+ base::PathService::Get(base::DIR_CURRENT, &path);
+ return path.MaybeAsASCII();
+#endif
+}
+#endif
+
+void GetTestFilePath(base::FilePath* path, const std::string filename) {
+ ASSERT_TRUE(base::PathService::Get(base::DIR_SOURCE_ROOT, path));
+ *path = path->AppendASCII("third_party");
+ *path = path->AppendASCII("libjpeg_turbo");
+ *path = path->AppendASCII("testimages");
+ *path = path->AppendASCII(filename);
+ ASSERT_TRUE(base::PathExists(*path));
+}
+
+bool CompareFileAndMD5(const base::FilePath& path,
+ const std::string expected_md5) {
+ // Read the output file and compute the MD5.
+ std::string output;
+ if (!base::ReadFileToString(path, &output)) {
+ return false;
+ }
+ const std::string md5 = base::MD5String(output);
+ return expected_md5 == md5;
+}