blob: 0d2c26b22c7b6b9b8a65bf04513c2989ced76090 [file] [log] [blame]
// 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