| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chromecast/crash/build_info.h" |
| |
| #include <string> |
| |
| #include "chromecast/base/version.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace chromecast { |
| |
| constexpr char kIncrementalUserBuild[] = "1.51.user.ldap.20200813.124713"; |
| constexpr char kIncrementalEngBuild[] = "1.51.eng.ldap.20200813.124713"; |
| constexpr char kReleaseBuild[] = "1.51.224083"; |
| |
| TEST(VersionStringTest, VersionStringIsNonEmpty) { |
| ASSERT_FALSE(GetVersionString().empty()); |
| } |
| |
| TEST(VersionStringTest, VersionStringIsCorrect) { |
| ASSERT_EQ(GetVersionString(kReleaseBuild, kIncrementalEngBuild), |
| "1.51.224083.1.51.eng"); |
| } |
| |
| TEST(VersionStringTest, EmptyVersionStringIsCorrect) { |
| ASSERT_FALSE(GetVersionString("", "").empty()); |
| } |
| |
| TEST(VersionStringTest, ReleaseVersionUnchanged) { |
| ASSERT_EQ(VersionToCrashString(kReleaseBuild), kReleaseBuild); |
| } |
| |
| TEST(VersionStringTest, IncrementalVersionTruncated) { |
| ASSERT_EQ(VersionToCrashString(kIncrementalEngBuild), "1.51.eng"); |
| ASSERT_EQ(VersionToCrashString(kIncrementalUserBuild), "1.51.user"); |
| } |
| |
| TEST(GetBuildVariantTest, InfixPresent) { |
| ASSERT_EQ(VersionToVariant(kIncrementalEngBuild), "eng"); |
| ASSERT_EQ(VersionToVariant(kIncrementalUserBuild), "user"); |
| } |
| |
| TEST(GetBuildVariantTest, InfixAbsent) { |
| // If infix is absent, will use debug macro to determine variant. |
| bool is_eng = CAST_IS_DEBUG_BUILD(); |
| ASSERT_EQ(VersionToVariant(kReleaseBuild) == "eng", is_eng); |
| } |
| |
| } // namespace chromecast |