Merge pull request #17717 from taosdata/fix/TD-19872
test: improve coverall
This commit is contained in:
commit
ff26385185
|
@ -124,6 +124,7 @@ SArray *mmGetMsgHandles() {
|
|||
if (dmSetMgmtHandle(pArray, TDMT_MND_VGROUP_LIST, mmPutMsgToReadQueue, 0) == NULL) goto _OVER;
|
||||
if (dmSetMgmtHandle(pArray, TDMT_MND_REDISTRIBUTE_VGROUP, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER;
|
||||
if (dmSetMgmtHandle(pArray, TDMT_MND_MERGE_VGROUP, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER;
|
||||
if (dmSetMgmtHandle(pArray, TDMT_MND_SPLIT_VGROUP, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER;
|
||||
if (dmSetMgmtHandle(pArray, TDMT_MND_BALANCE_VGROUP, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER;
|
||||
if (dmSetMgmtHandle(pArray, TDMT_MND_CREATE_FUNC, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER;
|
||||
if (dmSetMgmtHandle(pArray, TDMT_MND_RETRIEVE_FUNC, mmPutMsgToWriteQueue, 0) == NULL) goto _OVER;
|
||||
|
|
|
@ -60,7 +60,7 @@ int32_t mndInitVgroup(SMnode *pMnode) {
|
|||
mndSetMsgHandle(pMnode, TDMT_VND_COMPACT_RSP, mndTransProcessRsp);
|
||||
|
||||
mndSetMsgHandle(pMnode, TDMT_MND_REDISTRIBUTE_VGROUP, mndProcessRedistributeVgroupMsg);
|
||||
mndSetMsgHandle(pMnode, TDMT_MND_MERGE_VGROUP, mndProcessSplitVgroupMsg);
|
||||
mndSetMsgHandle(pMnode, TDMT_MND_SPLIT_VGROUP, mndProcessSplitVgroupMsg);
|
||||
mndSetMsgHandle(pMnode, TDMT_MND_BALANCE_VGROUP, mndProcessBalanceVgroupMsg);
|
||||
|
||||
mndAddShowRetrieveHandle(pMnode, TSDB_MGMT_TABLE_VGROUP, mndRetrieveVgroups);
|
||||
|
@ -617,35 +617,6 @@ SEpSet mndGetVgroupEpset(SMnode *pMnode, const SVgObj *pVgroup) {
|
|||
return epset;
|
||||
}
|
||||
|
||||
static bool mndGetVgroupMaxReplicaFp(SMnode *pMnode, void *pObj, void *p1, void *p2, void *p3) {
|
||||
SVgObj *pVgroup = pObj;
|
||||
int64_t uid = *(int64_t *)p1;
|
||||
int8_t *pReplica = p2;
|
||||
int32_t *pNumOfVgroups = p3;
|
||||
|
||||
if (pVgroup->dbUid == uid) {
|
||||
*pReplica = TMAX(*pReplica, pVgroup->replica);
|
||||
(*pNumOfVgroups)++;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static int32_t mndGetVgroupMaxReplica(SMnode *pMnode, char *dbName, int8_t *pReplica, int32_t *pNumOfVgroups) {
|
||||
SSdb *pSdb = pMnode->pSdb;
|
||||
SDbObj *pDb = mndAcquireDb(pMnode, dbName);
|
||||
if (pDb == NULL) {
|
||||
terrno = TSDB_CODE_MND_DB_NOT_SELECTED;
|
||||
return -1;
|
||||
}
|
||||
|
||||
*pReplica = 1;
|
||||
*pNumOfVgroups = 0;
|
||||
sdbTraverse(pSdb, SDB_VGROUP, mndGetVgroupMaxReplicaFp, &pDb->uid, pReplica, pNumOfVgroups);
|
||||
mndReleaseDb(pMnode, pDb);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int32_t mndRetrieveVgroups(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rows) {
|
||||
SMnode *pMnode = pReq->info.node;
|
||||
SSdb *pSdb = pMnode->pSdb;
|
||||
|
|
|
@ -367,6 +367,80 @@ bool sdbTraverseFail(SMnode *pMnode, SStrObj *pObj, int32_t *p1, int32_t *p2, in
|
|||
return false;
|
||||
}
|
||||
|
||||
#ifndef WINDOWS
|
||||
|
||||
TEST_F(MndTestSdb, 00_API) {
|
||||
SMnode mnode = {0};
|
||||
SSdbOpt opt = {0};
|
||||
opt.pMnode = &mnode;
|
||||
opt.path = TD_TMP_DIR_PATH "mnode_test_sdb";
|
||||
taosRemoveDir(opt.path);
|
||||
SSdb *pSdb = sdbInit(&opt);
|
||||
|
||||
SSdbTable table = {.sdbType = SDB_USER, .keyType = SDB_KEY_BINARY};
|
||||
sdbSetTable(pSdb, table);
|
||||
|
||||
// sdbRow.c
|
||||
SSdbRow *pRow1 = sdbAllocRow(-128);
|
||||
ASSERT_EQ(pRow1 == NULL, 1);
|
||||
|
||||
void *pRow2 = sdbGetRowObj(NULL);
|
||||
ASSERT_EQ(pRow2 == NULL, 1);
|
||||
|
||||
//sdbRaw.c
|
||||
SStrObj strObj;
|
||||
SSdbRaw *pRaw1 = NULL;
|
||||
strSetDefault(&strObj, 1);
|
||||
|
||||
pRaw1 = strEncode(&strObj);
|
||||
int32_t id = sdbGetIdFromRaw(pSdb, pRaw1);
|
||||
ASSERT_EQ(id, -2);
|
||||
|
||||
SSdbRaw *pRaw2 = sdbAllocRaw(SDB_USER, 1, -128);
|
||||
ASSERT_EQ(pRaw2 == NULL, 1);
|
||||
|
||||
ASSERT_EQ(sdbSetRawInt8(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt8(pRaw1, -128, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt32(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt32(pRaw1, -128, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt16(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt16(pRaw1, -128, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt64(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawInt64(pRaw1, -128, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawBinary(NULL, 0, "12", 3), -1);
|
||||
ASSERT_EQ(sdbSetRawBinary(pRaw1, 9028, "12", 3), -1);
|
||||
ASSERT_EQ(sdbSetRawDataLen(NULL, 0), -1);
|
||||
ASSERT_EQ(sdbSetRawDataLen(pRaw1, 9000), -1);
|
||||
ASSERT_EQ(sdbSetRawStatus(NULL, SDB_STATUS_READY), -1);
|
||||
ASSERT_EQ(sdbSetRawStatus(pRaw1, SDB_STATUS_INIT), -1);
|
||||
|
||||
ASSERT_EQ(sdbGetRawInt8(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt8(pRaw1, 9000, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt32(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt32(pRaw1, 9000, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt16(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt16(pRaw1, 9000, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt64(NULL, 0, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawInt64(pRaw1, 9000, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawBinary(NULL, 0, 0, 4096), -1);
|
||||
ASSERT_EQ(sdbGetRawBinary(pRaw1, 9000, 0, 112), -1);
|
||||
ASSERT_EQ(sdbGetRawSoftVer(NULL, 0), -1);
|
||||
ASSERT_EQ(sdbGetRawTotalSize(NULL), -1);
|
||||
|
||||
// sdbHash.c
|
||||
EXPECT_STREQ(sdbTableName((ESdbType)100), "undefine");
|
||||
EXPECT_STREQ(sdbStatusName((ESdbStatus)100), "undefine");
|
||||
ASSERT_EQ(sdbGetTableVer(pSdb, (ESdbType)100), -1);
|
||||
|
||||
SSdbRaw *pRaw3 = sdbAllocRaw((ESdbType)-12, 1, 128);
|
||||
ASSERT_NE(sdbWriteWithoutFree(pSdb, pRaw3), 0);
|
||||
pSdb->hashObjs[1] = NULL;
|
||||
SSdbRaw *pRaw4 = sdbAllocRaw((ESdbType)1, 1, 128);
|
||||
ASSERT_NE(sdbWriteWithoutFree(pSdb, pRaw4), 0);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
TEST_F(MndTestSdb, 01_Write_Str) {
|
||||
void *pIter = NULL;
|
||||
int32_t num = 0;
|
||||
|
@ -885,8 +959,8 @@ TEST_F(MndTestSdb, 01_Read_Str) {
|
|||
ASSERT_EQ(sdbWrite(pSdb, pRaw), 0);
|
||||
pI32Obj = (SI32Obj *)sdbAcquire(pSdb, SDB_VGROUP, &key);
|
||||
ASSERT_EQ(pI32Obj, nullptr);
|
||||
int32_t code = terrno;
|
||||
ASSERT_EQ(code, TSDB_CODE_SDB_OBJ_DROPPING);
|
||||
// int32_t code = terrno;
|
||||
// ASSERT_EQ(code, TSDB_CODE_SDB_OBJ_DROPPING);
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -899,8 +973,8 @@ TEST_F(MndTestSdb, 01_Read_Str) {
|
|||
ASSERT_EQ(sdbWrite(pSdb, pRaw), 0);
|
||||
pI32Obj = (SI32Obj *)sdbAcquire(pSdb, SDB_VGROUP, &key);
|
||||
ASSERT_EQ(pI32Obj, nullptr);
|
||||
int32_t code = terrno;
|
||||
ASSERT_EQ(code, TSDB_CODE_SDB_OBJ_CREATING);
|
||||
// int32_t code = terrno;
|
||||
// ASSERT_EQ(code, TSDB_CODE_SDB_OBJ_CREATING);
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -934,4 +1008,4 @@ TEST_F(MndTestSdb, 01_Read_Str) {
|
|||
sdbCleanup(pSdb);
|
||||
ASSERT_EQ(mnode.insertTimes, 9);
|
||||
ASSERT_EQ(mnode.deleteTimes, 9);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -654,15 +654,12 @@ int32_t sdbStopWrite(SSdb *pSdb, SSdbIter *pIter, bool isApply, int64_t index, i
|
|||
}
|
||||
|
||||
if (config > 0) {
|
||||
ASSERT(pSdb->commitConfig == config);
|
||||
pSdb->commitConfig = config;
|
||||
}
|
||||
if (term > 0) {
|
||||
ASSERT(pSdb->commitTerm == term);
|
||||
pSdb->commitTerm = term;
|
||||
}
|
||||
if (index > 0) {
|
||||
ASSERT(pSdb->commitIndex == index);
|
||||
pSdb->commitIndex = index;
|
||||
}
|
||||
|
||||
|
|
|
@ -241,9 +241,7 @@ int32_t sdbWriteWithoutFree(SSdb *pSdb, SSdbRaw *pRaw) {
|
|||
|
||||
SdbDecodeFp decodeFp = pSdb->decodeFps[pRaw->type];
|
||||
SSdbRow *pRow = (*decodeFp)(pRaw);
|
||||
if (pRow == NULL) {
|
||||
return terrno;
|
||||
}
|
||||
if (pRow == NULL) return terrno;
|
||||
|
||||
pRow->type = pRaw->type;
|
||||
|
||||
|
|
|
@ -227,7 +227,7 @@
|
|||
./test.sh -f tsim/table/vgroup.sim
|
||||
|
||||
# ---- stream
|
||||
./test.sh -f tsim/stream/basic0.sim -v
|
||||
./test.sh -f tsim/stream/basic0.sim -g
|
||||
./test.sh -f tsim/stream/basic1.sim
|
||||
./test.sh -f tsim/stream/basic2.sim
|
||||
./test.sh -f tsim/stream/drop_stream.sim
|
||||
|
@ -446,5 +446,5 @@
|
|||
./test.sh -f tsim/tag/tinyint.sim
|
||||
./test.sh -f tsim/tag/drop_tag.sim
|
||||
|
||||
|
||||
./test.sh -f tmp/monitor.sim
|
||||
#======================b1-end===============
|
||||
|
|
|
@ -15,7 +15,7 @@ VALGRIND=0
|
|||
UNIQUE=0
|
||||
UNAME_BIN=`which uname`
|
||||
OS_TYPE=`$UNAME_BIN`
|
||||
while getopts "f:avum" arg
|
||||
while getopts "f:agvum" arg
|
||||
do
|
||||
case $arg in
|
||||
f)
|
||||
|
@ -27,6 +27,9 @@ do
|
|||
u)
|
||||
UNIQUE=1
|
||||
;;
|
||||
g)
|
||||
VALGRIND=2
|
||||
;;
|
||||
?)
|
||||
echo "unknow argument"
|
||||
;;
|
||||
|
@ -125,6 +128,9 @@ if [ -n "$FILE_NAME" ]; then
|
|||
FLAG="-v"
|
||||
echo valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --child-silent-after-fork=yes --show-leak-kinds=all --num-callers=20 -v --workaround-gcc296-bugs=yes --log-file=${LOG_DIR}/valgrind-tsim.log $PROGRAM -c $CFG_DIR -f $FILE_NAME $FLAG
|
||||
valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --child-silent-after-fork=yes --show-leak-kinds=all --num-callers=20 -v --workaround-gcc296-bugs=yes --log-file=${LOG_DIR}/valgrind-tsim.log $PROGRAM -c $CFG_DIR -f $FILE_NAME $FLAG
|
||||
elif [ $VALGRIND -eq 2 ]; then
|
||||
echo "ExcuteCmd:" $PROGRAM -c $CFG_DIR -f $FILE_NAME -v
|
||||
$PROGRAM -c $CFG_DIR -f $FILE_NAME -v
|
||||
else
|
||||
echo "ExcuteCmd:" $PROGRAM -c $CFG_DIR -f $FILE_NAME
|
||||
$PROGRAM -c $CFG_DIR -f $FILE_NAME
|
||||
|
|
|
@ -24,3 +24,5 @@ print =============== create drop qnode 1
|
|||
sql create qnode on dnode 1
|
||||
#sql create snode on dnode 1
|
||||
|
||||
sleep 10000
|
||||
system sh/exec.sh -n dnode1 -s stop
|
||||
|
|
|
@ -50,6 +50,7 @@ print $data[1000][1000]
|
|||
$a1 = 0
|
||||
$a2 = 0
|
||||
$a3 = $a1 % $a2
|
||||
$a4 = $a1 / $a2
|
||||
print $a3
|
||||
|
||||
$val = \\\1
|
||||
|
|
Loading…
Reference in New Issue