blob: db04bcf3675b293756f124077cc896a32a457c6d [file] [log] [blame]
// Copyright 2020 The Chromium OS 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 "diagnostics/cros_healthd/utils/procfs_utils.h"
#include <sys/types.h>
#include <base/files/file_path.h>
#include <gtest/gtest.h>
#include "diagnostics/common/file_test_utils.h"
namespace diagnostics {
namespace {
// Production instances will use a root directory of "/".
constexpr char kProductionRootDir[] = "/";
// Process ID to test with.
constexpr pid_t kProcessId = 42;
} // namespace
TEST(ProcfsUtilsTest, GetProcProcessDirectoryPath) {
const auto process_dir = GetProcProcessDirectoryPath(
base::FilePath(kProductionRootDir), kProcessId);
EXPECT_EQ(process_dir.value(), "/proc/42");
}
TEST(ProcfsUtilsTest, GetProcCpuInfoPath) {
const auto cpuinfo_path =
GetProcCpuInfoPath(base::FilePath(kProductionRootDir));
EXPECT_EQ(cpuinfo_path.value(), "/proc/cpuinfo");
}
TEST(ProcfsUtilsTest, GetProcStatPath) {
const auto stat_path = GetProcStatPath(base::FilePath(kProductionRootDir));
EXPECT_EQ(stat_path.value(), "/proc/stat");
}
TEST(ProcfsUtilsTest, GetProcUptimePath) {
const auto uptime_path =
GetProcUptimePath(base::FilePath(kProductionRootDir));
EXPECT_EQ(uptime_path.value(), "/proc/uptime");
}
} // namespace diagnostics