diff options
Diffstat (limited to 'gtest/gtest-utils.cpp')
-rw-r--r-- | gtest/gtest-utils.cpp | 60 |
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; +} |