blob: 400598b50ee1b3cf68f3439f6defa1b156ae9169 [file] [log] [blame] [edit]
// Copyright 2024 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "heartd/daemon/heartd.h"
#include <sysexits.h>
#include <gtest/gtest.h>
namespace heartd {
// This unittests only test the scenario when heartd fails to open the
// /proc/sysrq-trigger file.
//
// For the left part, we can test them in each class except for the mojo service
// manager registration. But that is covered by Tast test: heartd.Registration.
class HeartdDaemonTest : public testing::Test {
public:
HeartdDaemonTest() {}
~HeartdDaemonTest() override = default;
int StartService(int sysrq_fd) {
heartd_ = std::make_unique<HeartdDaemon>(-1);
return heartd_->OnEventLoopStarted();
}
protected:
std::unique_ptr<HeartdDaemon> heartd_;
};
TEST_F(HeartdDaemonTest, InvalidFd) {
EXPECT_EQ(StartService(-1), EX_UNAVAILABLE);
}
} // namespace heartd