| // Copyright 2022 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include <fuchsia/buildinfo/cpp/fidl.h> |
| |
| #include "base/fuchsia/system_info.h" |
| #include "base/test/gtest_util.h" |
| |
| namespace base { |
| |
| // Ensures that when FetchAndCacheSystemInfo() has not been called in the |
| // process that a DCHECK fires to alert the developer. |
| // |
| // TODO(crbug.com/1326322) Ensure the test passes on Fuchsia bots and |
| // re-enable. |
| TEST(BuildInfoDeathTest, |
| DISABLED_GetCachedBuildInfo_DcheckIfNotAlreadyFetched) { |
| // Clear the cached build info to force an error condition. |
| ClearCachedSystemInfoForTesting(); |
| |
| EXPECT_DCHECK_DEATH_WITH( |
| { GetCachedBuildInfo(); }, |
| "FetchAndCacheSystemInfo\\(\\) has not been called in this process"); |
| |
| // All test processes have BuildInfo cached before tests are run. Re-fetch and |
| // cache the BuildInfo to restore that state for any tests that are |
| // subsequently run in the same process as this one. |
| FetchAndCacheSystemInfo(); |
| } |
| |
| // TODO(crbug.com/1326322) Ensure the test passes on Fuchsia bots and |
| // re-enable. |
| TEST(BuildInfoTest, DISABLED_GetCachedBuildInfo_CheckExpectedValues) { |
| // Ensure the cached BuildInfo is in a known state. |
| ClearCachedSystemInfoForTesting(); |
| FetchAndCacheSystemInfo(); |
| |
| // TODO(crbug.com/1310358): Check for specific values once Fuchsia |
| // completes the requested changes to the data returned from the fake. |
| EXPECT_TRUE(GetCachedBuildInfo().has_product_config()); |
| EXPECT_TRUE(GetCachedBuildInfo().has_board_config()); |
| EXPECT_TRUE(GetCachedBuildInfo().has_version()); |
| EXPECT_TRUE(GetCachedBuildInfo().has_latest_commit_date()); |
| } |
| |
| } // namespace base |