Skip to content

Commit

Permalink
check condition
Browse files Browse the repository at this point in the history
  • Loading branch information
osalyk committed Jul 18, 2024
1 parent d287953 commit bb93bba
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 11 deletions.
26 changes: 16 additions & 10 deletions src/tests/ras/unsafe_shutdown/local_move_tests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,7 @@ std::ostream& operator<<(std::ostream& stream, move_param const& m) {
return stream;
}

/* Change the status of the shutdown state */
void set_sds_at_create_func(bool state) {
int ret = pmemobj_ctl_set(NULL, "sds.at_create", &state);
if (ret) {
std::cerr << "Failed to set sds.at_create: " << pmemobj_errormsg() << std::endl;
exit(1);
}
}
bool pmem;

std::vector<move_param> GetMoveParams() {
std::vector<move_param> ret_vec;
Expand All @@ -60,6 +53,7 @@ std::vector<move_param> GetMoveParams() {
tc.enough_dimms = true;
tc.src_pool_dir = unsafe_dn[0].GetTestDir();
tc.dest_pool_dir = test_phase.GetTestDir();
tc.pmem = true;
} else {
tc.enough_dimms = false;
}
Expand All @@ -74,6 +68,7 @@ std::vector<move_param> GetMoveParams() {
tc.enough_dimms = true;
tc.src_pool_dir = test_phase.GetTestDir();
tc.dest_pool_dir = unsafe_dn[0].GetTestDir();
tc.pmem = false;
} else {
tc.enough_dimms = false;
}
Expand All @@ -84,6 +79,7 @@ std::vector<move_param> GetMoveParams() {
{
move_param tc;
tc.description = "from unsafely shutdown DIMM to safely shutdown DIMM";
tc.pmem = true;
if (unsafe_dn.size() >= 1 && safe_dn.size() >= 1) {
tc.enough_dimms = true;
tc.src_pool_dir = unsafe_dn[0].GetTestDir();
Expand All @@ -98,6 +94,7 @@ std::vector<move_param> GetMoveParams() {
{
move_param tc;
tc.description = "from unsafely shutdown DIMM to unsafely shutdown DIMM";
tc.pmem = true;
if (unsafe_dn.size() >= 2) {
tc.enough_dimms = true;
tc.src_pool_dir = unsafe_dn[1].GetTestDir();
Expand All @@ -112,6 +109,7 @@ std::vector<move_param> GetMoveParams() {
{
move_param tc;
tc.description = "From safely shutdown DIMM to non-pmem";
tc.pmem = true;
if (safe_dn.size() >= 1) {
tc.enough_dimms = true;
tc.src_pool_dir = safe_dn[0].GetTestDir();
Expand All @@ -126,6 +124,7 @@ std::vector<move_param> GetMoveParams() {
{
move_param tc;
tc.description = "From non-pmem to safely shutdown DIMM";
tc.pmem = false;
if (safe_dn.size() >= 1) {
tc.enough_dimms = true;
tc.src_pool_dir = test_phase.GetTestDir();
Expand All @@ -145,6 +144,7 @@ void MovePoolClean::SetUp() {
<< "Insufficient number of DIMMs to run this test";
src_pool_path_ = param.src_pool_dir + GetNormalizedTestName() + "_pool";
dest_pool_path_ = param.dest_pool_dir + GetNormalizedTestName() + "_pool";
pmem = param.pmem;
}

/**
Expand All @@ -165,12 +165,14 @@ void MovePoolClean::SetUp() {
*/
TEST_P(MovePoolClean, TC_MOVE_POOL_CLEAN_phase_1) {
/* Step1 */
set_sds_at_create_func(false);
if (pmem == false)
set_sds_at_create_func(false);
pop_ = pmemobj_create(src_pool_path_.c_str(), nullptr, PMEMOBJ_MIN_POOL, 0644);
ASSERT_TRUE(pop_ != nullptr) << "Pool creating failed. Errno: " << errno
<< std::endl
<< pmemobj_errormsg();
set_sds_at_create_func(true);
if (pmem == false)
set_sds_at_create_func(true);

/* Step2 */
ObjData<int> pd{pop_};
Expand Down Expand Up @@ -227,9 +229,13 @@ void MovePoolDirty::SetUp() {
*/
TEST_P(MovePoolDirty, TC_MOVE_POOL_DIRTY_phase_1) {
/* Step1 */
if (pmem == false)
set_sds_at_create_func(false);
pop_ = pmemobj_create(src_pool_path_.c_str(), nullptr, PMEMOBJ_MIN_POOL, 0644);
ASSERT_TRUE(pop_ != nullptr) << "Pool creating failed" << std::endl
<< pmemobj_errormsg();
if (pmem == false)
set_sds_at_create_func(true);

/* Step2 */
ObjData<int> pd{pop_};
Expand Down
3 changes: 2 additions & 1 deletion src/tests/ras/unsafe_shutdown/local_move_tests.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2018, Intel Corporation
* Copyright 2018-2024, Intel Corporation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
Expand Down Expand Up @@ -40,6 +40,7 @@ struct move_param {
std::string src_pool_dir;
std::string dest_pool_dir;
bool enough_dimms;
bool pmem;
};

std::ostream& operator<<(std::ostream& stream, move_param const& m);
Expand Down
2 changes: 2 additions & 0 deletions src/tests/ras/unsafe_shutdown/local_replicas_tests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,12 @@ TEST_P(SyncLocalReplica, TC_SYNC_LOCAL_REPLICA_phase_1) {
ASSERT_TRUE(p_mgmt.PoolsetFileExists(ps))
<< "Poolset file " << ps.GetFullPath() << " does not exist";

set_sds_at_create_func(false);
pop_ = pmemobj_create(ps.GetFullPath().c_str(), nullptr, 0, 0644);
ASSERT_TRUE(pop_ != nullptr)
<< "Error while creating the pool. Errno:" << errno << std::endl
<< pmemobj_errormsg();
set_sds_at_create_func(true);

/* Step2 */
ObjData<int> pd{pop_};
Expand Down
9 changes: 9 additions & 0 deletions src/tests/ras/unsafe_shutdown/unsafe_shutdown.cc
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,12 @@ int UnsafeShutdown::PmempoolRepair(std::string pool_file_path) const {

return pmempool_check_end(ppc);
}

/* Change the status of the shutdown state */
void set_sds_at_create_func(bool state) {
int ret = pmemobj_ctl_set(NULL, "sds.at_create", &state);
if (ret) {
std::cerr << "Failed to set sds.at_create: " << pmemobj_errormsg() << std::endl;
exit(1);
}
}
2 changes: 2 additions & 0 deletions src/tests/ras/unsafe_shutdown/unsafe_shutdown.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ class UnsafeShutdown : public ::testing::Test {
return test_phase_.GetTestDir() + GetNormalizedTestName() + "_passed";
}
void StampPassedResult() const;

void set_sds_at_create_func(bool state)
};

#endif // UNSAFE_SHUTDOWN_H

0 comments on commit bb93bba

Please sign in to comment.