Skip to content

Commit 99f58a5

Browse files
authored
Merge pull request ceph#60812 from pecastro/improve-a-few-tests
tests: Improve unittest_dbstore_tests and unittest_deferred to be suitable for reruns. Reviewed-by: Soumya Koduri <[email protected]>
2 parents a204f98 + 73109c1 commit 99f58a5

File tree

3 files changed

+24
-20
lines changed

3 files changed

+24
-20
lines changed

src/rgw/driver/dbstore/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Standalone Rados Gateway (RGW) on DBStore (Experimental)
55
## CMake Option
66
Add below cmake option (enabled by default)
77

8-
-DWITH_RADOSGW_DBSTORE=ON
8+
-DWITH_RADOSGW_DBSTORE=ON
99

1010

1111
## Build
@@ -40,8 +40,8 @@ The location and prefix for the database files can be configured using the follo
4040
To execute DBStore unit test cases (using Gtest framework), from build directory
4141

4242
ninja unittest_dbstore_tests
43-
./bin/unittest_dbstore_tests [logfile] [loglevel]
44-
(default logfile: rgw_dbstore_tests.log, loglevel: 20)
43+
./bin/unittest_dbstore_tests [logfile] [loglevel] [tenantname]
44+
(default logfile: rgw_dbstore_tests.log, loglevel: 20, default_ns_<timestamp_at_time_of_run>)
4545
ninja unittest_dbstore_mgr_tests
4646
./bin/unittest_dbstore_mgr_tests
4747

@@ -50,4 +50,3 @@ To execute Sample test file
5050
ninja src/rgw/driver/dbstore/install
5151
./bin/dbstore-bin [logfile] [loglevel]
5252
(default logfile: rgw_dbstore_bin.log, loglevel: 20)
53-

src/rgw/driver/dbstore/tests/dbstore_tests.cc

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace gtest {
2121
Environment(): tenant("default_ns"), db(nullptr),
2222
db_type("SQLite"), ret(-1) {}
2323

24-
Environment(string tenantname, string db_typename):
24+
Environment(string tenantname, string db_typename):
2525
tenant(tenantname), db(nullptr),
2626
db_type(db_typename), ret(-1) {}
2727

@@ -153,8 +153,8 @@ TEST_F(DBStoreTest, InsertUser) {
153153
RGWAccessKey k2("id2", "key2");
154154
params.op.user.uinfo.access_keys["id1"] = k1;
155155
params.op.user.uinfo.access_keys["id2"] = k2;
156-
params.op.user.user_version.ver = 1;
157-
params.op.user.user_version.tag = "UserTAG";
156+
params.op.user.user_version.ver = 1;
157+
params.op.user.user_version.tag = "UserTAG";
158158

159159
ret = db->ProcessOp(dpp, "InsertUser", &params);
160160
ASSERT_EQ(ret, 0);
@@ -841,7 +841,7 @@ TEST_F(DBStoreTest, IterateObject) {
841841
TEST_F(DBStoreTest, ListBucketObjects) {
842842
struct DBOpParams params = GlobalParams;
843843
int ret = -1;
844-
844+
845845
int max = 2;
846846
bool is_truncated = false;
847847
rgw_obj_key marker1;
@@ -1032,7 +1032,7 @@ TEST_F(DBStoreTest, DeleteVersionedObject) {
10321032
true, &s);
10331033
ASSERT_EQ(ret, -ENOENT);
10341034

1035-
/* Delete delete marker..should be able to read object now */
1035+
/* Delete delete marker..should be able to read object now */
10361036
params.op.obj.state.obj.key.instance = dm_instance;
10371037
DB::Object op_target3(db, params.op.bucket.info, params.op.obj.state.obj);
10381038
DB::Object::Delete delete_op2(&op_target3);
@@ -1307,13 +1307,13 @@ TEST_F(DBStoreTest, LCEntry) {
13071307
ASSERT_EQ(ret, 0);
13081308

13091309
// get entry index1, entry1
1310-
ret = db->get_entry(index1, ents[0], entry);
1310+
ret = db->get_entry(index1, ents[0], entry);
13111311
ASSERT_EQ(ret, 0);
13121312
ASSERT_EQ(entry.status, lc_uninitial);
13131313
ASSERT_EQ(entry.start_time, lc_time);
13141314

13151315
// get next entry index1, entry2
1316-
ret = db->get_next_entry(index1, ents[1], entry);
1316+
ret = db->get_next_entry(index1, ents[1], entry);
13171317
ASSERT_EQ(ret, 0);
13181318
ASSERT_EQ(entry.bucket, ents[2]);
13191319
ASSERT_EQ(entry.status, lc_uninitial);
@@ -1323,7 +1323,7 @@ TEST_F(DBStoreTest, LCEntry) {
13231323
entry4.status = lc_complete;
13241324
ret = db->set_entry(index2, entry4);
13251325
ASSERT_EQ(ret, 0);
1326-
ret = db->get_entry(index2, ents[3], entry);
1326+
ret = db->get_entry(index2, ents[3], entry);
13271327
ASSERT_EQ(ret, 0);
13281328
ASSERT_EQ(entry.status, lc_complete);
13291329

@@ -1337,7 +1337,7 @@ TEST_F(DBStoreTest, LCEntry) {
13371337
}
13381338

13391339
// remove index1, entry3
1340-
ret = db->rm_entry(index1, entry3);
1340+
ret = db->rm_entry(index1, entry3);
13411341
ASSERT_EQ(ret, 0);
13421342

13431343
// get next entry index1, entry2.. should be empty
@@ -1373,8 +1373,8 @@ TEST_F(DBStoreTest, InsertTestIDUser) {
13731373
params.op.user.uinfo.user_email = "[email protected]";
13741374
RGWAccessKey k1("0555b35654ad1656d804", "h7GhxuBLTrlhVUyxSPUKUV8r/2EI4ngqJxD7iBdBYLhwluN30JaT3Q==");
13751375
params.op.user.uinfo.access_keys["0555b35654ad1656d804"] = k1;
1376-
params.op.user.user_version.ver = 1;
1377-
params.op.user.user_version.tag = "UserTAG";
1376+
params.op.user.user_version.ver = 1;
1377+
params.op.user.user_version.tag = "UserTAG";
13781378

13791379
ret = db->ProcessOp(dpp, "InsertUser", &params);
13801380
ASSERT_EQ(ret, 0);
@@ -1385,19 +1385,22 @@ int main(int argc, char **argv)
13851385
int ret = -1;
13861386
string c_logfile = "rgw_dbstore_tests.log";
13871387
int c_loglevel = 20;
1388+
string c_tenant = "default_ns_" + std::to_string(time(NULL));
13881389

1389-
// format: ./dbstore-tests logfile loglevel
1390-
if (argc == 3) {
1390+
// format: ./dbstore-tests logfile loglevel tenantname
1391+
if (argc == 4) {
13911392
c_logfile = argv[1];
13921393
c_loglevel = (atoi)(argv[2]);
1393-
cout << "logfile:" << c_logfile << ", loglevel set to " << c_loglevel << "\n";
1394+
c_tenant = argv[3];
1395+
cout << "logfile:" << c_logfile << ", loglevel set to " << c_loglevel << ", db is " << c_tenant << "\n";
13941396
}
13951397

13961398
::testing::InitGoogleTest(&argc, argv);
13971399

13981400
gtest::env = new gtest::Environment();
13991401
gtest::env->logfile = c_logfile;
14001402
gtest::env->loglevel = c_loglevel;
1403+
gtest::env->tenant = c_tenant;
14011404
::testing::AddGlobalTestEnvironment(gtest::env);
14021405

14031406
ret = RUN_ALL_TESTS();

src/test/objectstore/test_deferred.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// vim: ts=8 sw=2 smarttab
33

44
#include <stdio.h>
5+
#include <stdlib.h>
56
#include <string.h>
67
#include <iostream>
78
#include <memory>
@@ -44,10 +45,11 @@ void create_deferred_and_terminate() {
4445
coll_t cid;
4546
ghobject_t hoid;
4647
ObjectStore::CollectionHandle ch;
47-
ceph_assert(::mkdir("bluestore.test_temp_dir", 0777) == 0);
48+
std::string const db_store_dir = "bluestore.test_temp_dir_" + std::to_string(time(NULL));
49+
ceph_assert(::mkdir(db_store_dir.c_str(), 0777) == 0);
4850
store = ObjectStore::create(g_ceph_context,
4951
"bluestore",
50-
"bluestore.test_temp_dir",
52+
db_store_dir.c_str(),
5153
"store_test_temp_journal");
5254
ceph_assert(store->mkfs() == 0);
5355
ceph_assert(store->mount() == 0);

0 commit comments

Comments
 (0)