#include "gtest/gtest.h"
#include "gmock/gmock.h"
#include <mockcpp/mockcpp.hpp>
#include "cms_work.h"
#include "cms_disk_lock.h"
#include "cm_malloc.h"
#include "cm_file.h"
using namespace std;
extern "C" {
extern status_t cms_disk_lock_init_file(cms_disk_lock_t* lock,
const char* dev, uint64 offset, int64 inst_id, bool32 is_write);
}
class CmsDiskLockTest : public testing::Test {
protected:
void InitGlobalCmsParam()
{
}
void UninitGlobalCmsParam()
{
}
void SetUp() override
{
InitGlobalCmsParam();
}
void TearDown() override
{
UninitGlobalCmsParam();
GlobalMockObject::reset();
}
};
TEST_F(CmsDiskLockTest, lock_init_fail)
{
cms_disk_lock_t lock = {0};
int64 node_id = 0;
lock.flock = malloc(sizeof(cms_flock_t));
int ret = cms_disk_lock_init_file(&lock, "./fake", 0, node_id, false);
EXPECT_EQ(ret, OG_SUCCESS);
}