2022-01-13 06:13:10 +00:00
|
|
|
#include "gtest/gtest.h"
|
|
|
|
|
|
2022-01-13 08:04:43 +00:00
|
|
|
#include "tdb.h"
|
|
|
|
|
|
2022-02-15 03:54:25 +00:00
|
|
|
TEST(tdb_test, simple_test) {
|
2022-02-16 09:33:40 +00:00
|
|
|
TENV * pEnv;
|
2022-02-15 05:50:30 +00:00
|
|
|
TDB * pDb1, *pDb2, *pDb3;
|
|
|
|
|
pgsz_t pgSize = 1024;
|
|
|
|
|
cachesz_t cacheSize = 10240;
|
2022-01-13 08:04:43 +00:00
|
|
|
|
2022-02-15 03:54:25 +00:00
|
|
|
// ENV
|
2022-02-16 09:52:41 +00:00
|
|
|
GTEST_ASSERT_EQ(tdbEnvCreate(&pEnv, "./testtdb"), 0);
|
2022-02-15 05:50:30 +00:00
|
|
|
|
|
|
|
|
GTEST_ASSERT_EQ(tdbEnvSetCache(pEnv, pgSize, cacheSize), 0);
|
|
|
|
|
|
|
|
|
|
GTEST_ASSERT_EQ(tdbEnvGetCacheSize(pEnv), cacheSize);
|
|
|
|
|
|
|
|
|
|
GTEST_ASSERT_EQ(tdbEnvGetPageSize(pEnv), pgSize);
|
|
|
|
|
|
|
|
|
|
GTEST_ASSERT_EQ(tdbEnvOpen(pEnv), 0);
|
2022-01-13 06:13:10 +00:00
|
|
|
|
2022-02-15 08:44:02 +00:00
|
|
|
#if 1
|
2022-02-15 03:54:25 +00:00
|
|
|
// DB
|
2022-02-15 08:44:02 +00:00
|
|
|
GTEST_ASSERT_EQ(tdbCreate(&pDb1), 0);
|
|
|
|
|
|
2022-02-16 09:33:40 +00:00
|
|
|
// GTEST_ASSERT_EQ(tdbSetKeyLen(pDb1, 8), 0);
|
2022-02-15 08:44:02 +00:00
|
|
|
|
2022-02-16 09:33:40 +00:00
|
|
|
// GTEST_ASSERT_EQ(tdbGetKeyLen(pDb1), 8);
|
2022-02-15 08:59:29 +00:00
|
|
|
|
2022-02-15 08:44:02 +00:00
|
|
|
// GTEST_ASSERT_EQ(tdbSetValLen(pDb1, 3), 0);
|
|
|
|
|
|
2022-02-15 08:59:29 +00:00
|
|
|
// GTEST_ASSERT_EQ(tdbGetValLen(pDb1), 3);
|
|
|
|
|
|
|
|
|
|
// GTEST_ASSERT_EQ(tdbSetDup(pDb1, 1), 0);
|
|
|
|
|
|
|
|
|
|
// GTEST_ASSERT_EQ(tdbGetDup(pDb1), 1);
|
|
|
|
|
|
|
|
|
|
// GTEST_ASSERT_EQ(tdbSetCmprFunc(pDb1, NULL), 0);
|
2022-02-15 03:54:25 +00:00
|
|
|
|
2022-02-16 09:33:40 +00:00
|
|
|
tdbEnvBeginTxn(pEnv);
|
|
|
|
|
|
2022-02-15 08:44:02 +00:00
|
|
|
GTEST_ASSERT_EQ(tdbOpen(pDb1, "db.db", "db1", pEnv), 0);
|
|
|
|
|
|
2022-02-16 09:33:40 +00:00
|
|
|
// char *key = "key1";
|
|
|
|
|
// char *val = "value1";
|
|
|
|
|
// tdbInsert(pDb1, (void *)key, strlen(key), (void *)val, strlen(val));
|
|
|
|
|
|
2022-02-16 07:54:11 +00:00
|
|
|
tdbEnvCommit(pEnv);
|
|
|
|
|
|
2022-02-15 08:44:02 +00:00
|
|
|
#if 0
|
2022-02-15 03:54:25 +00:00
|
|
|
// Insert
|
|
|
|
|
|
|
|
|
|
// Query
|
|
|
|
|
|
|
|
|
|
// Delete
|
|
|
|
|
|
|
|
|
|
// Query
|
2022-02-15 08:44:02 +00:00
|
|
|
#endif
|
2022-02-15 03:54:25 +00:00
|
|
|
|
2022-02-15 08:44:02 +00:00
|
|
|
// GTEST_ASSERT_EQ(tdbOpen(&pDb2, "db.db", "db2", pEnv), 0);
|
|
|
|
|
// GTEST_ASSERT_EQ(tdbOpen(&pDb3, "index.db", NULL, pEnv), 0);
|
|
|
|
|
// tdbClose(pDb3);
|
|
|
|
|
// tdbClose(pDb2);
|
2022-02-15 03:54:25 +00:00
|
|
|
tdbClose(pDb1);
|
2022-02-15 05:50:30 +00:00
|
|
|
#endif
|
2022-02-15 06:35:35 +00:00
|
|
|
|
2022-02-15 03:54:25 +00:00
|
|
|
tdbEnvClose(pEnv);
|
2022-01-13 06:13:10 +00:00
|
|
|
}
|