fix error when taos_query_a param is null
c_test missing on linux mem leak wal_test pageBufferTest on linux tfsTest on linux
This commit is contained in:
parent
209ebbde84
commit
355ec86926
|
@ -41,6 +41,7 @@ add_subdirectory(source)
|
|||
add_subdirectory(tools)
|
||||
add_subdirectory(utils)
|
||||
add_subdirectory(examples/c)
|
||||
add_subdirectory(tests)
|
||||
include(${TD_SUPPORT_DIR}/cmake.install)
|
||||
|
||||
# docs
|
||||
|
|
|
@ -206,6 +206,7 @@ typedef struct SRequestSendRecvBody {
|
|||
__taos_async_fn_t fetchFp;
|
||||
EQueryExecMode execMode;
|
||||
void* param;
|
||||
bool paramCreatedInternal;
|
||||
SDataBuf requestMsg;
|
||||
int64_t queryJob; // query job, created according to sql query DAG.
|
||||
int32_t subplanNum;
|
||||
|
@ -415,6 +416,7 @@ int32_t buildPreviousRequest(SRequestObj *pRequest, const char* sql, SRequestObj
|
|||
int32_t prepareAndParseSqlSyntax(SSqlCallbackWrapper **ppWrapper, SRequestObj *pRequest, bool updateMetaForce);
|
||||
void returnToUser(SRequestObj* pRequest);
|
||||
void stopAllQueries(SRequestObj *pRequest);
|
||||
void doRequestCallback(SRequestObj* pRequest, int32_t code);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -437,7 +437,7 @@ void doDestroyRequest(void *p) {
|
|||
deregisterRequest(pRequest);
|
||||
}
|
||||
|
||||
if (pRequest->syncQuery) {
|
||||
if (pRequest->syncQuery || pRequest->body.paramCreatedInternal) {
|
||||
if (pRequest->body.param) {
|
||||
tsem_destroy(&((SSyncQueryParam *)pRequest->body.param)->sem);
|
||||
}
|
||||
|
|
|
@ -208,6 +208,7 @@ int32_t buildRequest(uint64_t connId, const char* sql, int sqlLen, void* param,
|
|||
tsem_init(&newpParam->sem, 0, 0);
|
||||
newpParam->pRequest = (*pRequest);
|
||||
param = newpParam;
|
||||
(*pRequest)->body.paramCreatedInternal = true;
|
||||
}
|
||||
|
||||
(*pRequest)->body.param = param;
|
||||
|
@ -336,7 +337,7 @@ static SAppInstInfo* getAppInfo(SRequestObj* pRequest) { return pRequest->pTscOb
|
|||
void asyncExecLocalCmd(SRequestObj* pRequest, SQuery* pQuery) {
|
||||
SRetrieveTableRsp* pRsp = NULL;
|
||||
if (pRequest->validateOnly) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, 0);
|
||||
doRequestCallback(pRequest, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -358,18 +359,18 @@ void asyncExecLocalCmd(SRequestObj* pRequest, SQuery* pQuery) {
|
|||
pRequest->requestId);
|
||||
}
|
||||
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
|
||||
int32_t asyncExecDdlQuery(SRequestObj* pRequest, SQuery* pQuery) {
|
||||
if (pRequest->validateOnly) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, 0);
|
||||
doRequestCallback(pRequest, 0);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
// drop table if exists not_exists_table
|
||||
if (NULL == pQuery->pCmdMsg) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, 0);
|
||||
doRequestCallback(pRequest, 0);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -384,7 +385,7 @@ int32_t asyncExecDdlQuery(SRequestObj* pRequest, SQuery* pQuery) {
|
|||
int64_t transporterId = 0;
|
||||
int32_t code = asyncSendMsgToServer(pAppInfo->pTransporter, &pMsgInfo->epSet, &transporterId, pSendMsg);
|
||||
if (code) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
@ -913,7 +914,7 @@ void continuePostSubQuery(SRequestObj* pRequest, TAOS_ROW row) {
|
|||
void returnToUser(SRequestObj* pRequest) {
|
||||
if (pRequest->relation.userRefId == pRequest->self || 0 == pRequest->relation.userRefId) {
|
||||
// return to client
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, pRequest->code);
|
||||
doRequestCallback(pRequest, pRequest->code);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -921,7 +922,7 @@ void returnToUser(SRequestObj* pRequest) {
|
|||
if (pUserReq) {
|
||||
pUserReq->code = pRequest->code;
|
||||
// return to client
|
||||
pUserReq->body.queryFp(pUserReq->body.param, pUserReq, pUserReq->code);
|
||||
doRequestCallback(pUserReq, pUserReq->code);
|
||||
releaseRequest(pRequest->relation.userRefId);
|
||||
return;
|
||||
} else {
|
||||
|
@ -1031,7 +1032,7 @@ void schedulerExecCb(SExecResult* pResult, void* param, int32_t code) {
|
|||
pRequest->pWrapper = NULL;
|
||||
|
||||
// return to client
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1181,7 +1182,7 @@ static int32_t asyncExecSchQuery(SRequestObj* pRequest, SQuery* pQuery, SMetaDat
|
|||
pRequest->code = terrno;
|
||||
}
|
||||
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
|
||||
// todo not to be released here
|
||||
|
@ -1223,10 +1224,10 @@ void launchAsyncQuery(SRequestObj* pRequest, SQuery* pQuery, SMetaData* pResultM
|
|||
}
|
||||
case QUERY_EXEC_MODE_EMPTY_RESULT:
|
||||
pRequest->type = TSDB_SQL_RETRIEVE_EMPTY_RESULT;
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, 0);
|
||||
doRequestCallback(pRequest, 0);
|
||||
break;
|
||||
default:
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, -1);
|
||||
doRequestCallback(pRequest, -1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2558,12 +2559,13 @@ static void fetchCallback(void* pResult, void* param, int32_t code) {
|
|||
}
|
||||
|
||||
void taosAsyncFetchImpl(SRequestObj* pRequest, __taos_async_fn_t fp, void* param) {
|
||||
if (pRequest->syncQuery && pRequest->body.param != param) {
|
||||
if ((pRequest->syncQuery || pRequest->body.paramCreatedInternal) && pRequest->body.param != param) {
|
||||
if (pRequest->body.param) {
|
||||
tsem_destroy(&((SSyncQueryParam *)pRequest->body.param)->sem);
|
||||
}
|
||||
taosMemoryFree(pRequest->body.param);
|
||||
pRequest->syncQuery = false;
|
||||
pRequest->body.paramCreatedInternal = false;
|
||||
}
|
||||
|
||||
pRequest->body.fetchFp = fp;
|
||||
|
@ -2604,3 +2606,11 @@ void taosAsyncFetchImpl(SRequestObj* pRequest, __taos_async_fn_t fp, void* param
|
|||
|
||||
schedulerFetchRows(pRequest->body.queryJob, &req);
|
||||
}
|
||||
|
||||
void doRequestCallback(SRequestObj* pRequest, int32_t code) {
|
||||
if (pRequest->body.paramCreatedInternal) {
|
||||
pRequest->body.queryFp(NULL, pRequest, code);
|
||||
} else {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1114,7 +1114,7 @@ static void doAsyncQueryFromParse(SMetaData *pResultMeta, void *param, int32_t c
|
|||
pRequest->pWrapper = NULL;
|
||||
terrno = code;
|
||||
pRequest->code = code;
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1131,7 +1131,7 @@ void continueInsertFromCsv(SSqlCallbackWrapper *pWrapper, SRequestObj *pRequest)
|
|||
pRequest->pWrapper = NULL;
|
||||
terrno = code;
|
||||
pRequest->code = code;
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1226,7 +1226,7 @@ void doAsyncQuery(SRequestObj *pRequest, bool updateMetaForce) {
|
|||
terrno = code;
|
||||
pRequest->code = code;
|
||||
tscDebug("call sync query cb with code: %s", tstrerror(code));
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1258,7 +1258,7 @@ void doAsyncQuery(SRequestObj *pRequest, bool updateMetaForce) {
|
|||
|
||||
terrno = code;
|
||||
pRequest->code = code;
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ int32_t genericRspCallback(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
taosMemoryFree(pMsg->pEpSet);
|
||||
taosMemoryFree(pMsg->pData);
|
||||
if (pRequest->body.queryFp != NULL) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -199,7 +199,7 @@ int32_t processCreateDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
}
|
||||
|
||||
if (pRequest->body.queryFp) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -235,7 +235,8 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
setErrno(pRequest, code);
|
||||
|
||||
if (pRequest->body.queryFp != NULL) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, pRequest->code);
|
||||
doRequestCallback(pRequest, pRequest->code);
|
||||
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -299,7 +300,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
taosMemoryFree(pMsg->pEpSet);
|
||||
|
||||
if (pRequest->body.queryFp != NULL) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, pRequest->code);
|
||||
doRequestCallback(pRequest, pRequest->code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -343,7 +344,7 @@ int32_t processCreateSTableRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
}
|
||||
}
|
||||
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -380,7 +381,7 @@ int32_t processDropDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
taosMemoryFree(pMsg->pEpSet);
|
||||
|
||||
if (pRequest->body.queryFp != NULL) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -420,7 +421,7 @@ int32_t processAlterStbRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
}
|
||||
}
|
||||
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
@ -534,7 +535,7 @@ int32_t processShowVariablesRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
|||
taosMemoryFree(pMsg->pEpSet);
|
||||
|
||||
if (pRequest->body.queryFp != NULL) {
|
||||
pRequest->body.queryFp(pRequest->body.param, pRequest, code);
|
||||
doRequestCallback(pRequest, code);
|
||||
} else {
|
||||
tsem_post(&pRequest->body.rspSem);
|
||||
}
|
||||
|
|
|
@ -218,6 +218,7 @@ TEST_F(TfsTest, 04_File) {
|
|||
EXPECT_STREQ(outfile.aname, file0.aname);
|
||||
EXPECT_STREQ(outfile.rname, "fname");
|
||||
EXPECT_EQ(outfile.pTfs, pTfs);
|
||||
taosMemoryFree(ret);
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
@ -441,4 +441,5 @@ TEST_F(WalRetentionEnv, repairMeta1) {
|
|||
EXPECT_EQ(newStr[j], pRead->pHead->head.body[j]);
|
||||
}
|
||||
}
|
||||
walCloseReader(pRead);
|
||||
}
|
||||
|
|
|
@ -76,11 +76,6 @@ void fileOperateOnBusy(void *param) {
|
|||
|
||||
ret = taosUnLockFile(pFile);
|
||||
printf("On busy thread unlock file ret:%d\n", ret);
|
||||
#ifdef _TD_DARWIN_64
|
||||
ASSERT_EQ(ret, 0);
|
||||
#else
|
||||
ASSERT_NE(ret, 0);
|
||||
#endif
|
||||
|
||||
ret = taosCloseFile(&pFile);
|
||||
printf("On busy thread close file ret:%d\n", ret);
|
||||
|
@ -98,6 +93,8 @@ TEST(osTest, osFile) {
|
|||
ASSERT_NE(pOutFD, nullptr);
|
||||
printf("create file success\n");
|
||||
|
||||
taosCloseFile(&pOutFD);
|
||||
|
||||
TdFilePtr pFile = taosOpenFile(fname, TD_FILE_CREATE | TD_FILE_WRITE);
|
||||
printf("open file\n");
|
||||
ASSERT_NE(pFile, nullptr);
|
||||
|
|
|
@ -217,6 +217,7 @@ void testFlushAndReadBackBuffer() {
|
|||
pPg = (SFilePage*)getBufPage(pBuf, pageId);
|
||||
ASSERT_TRUE(checkBufVarData(pPg, rowData + 3, len));
|
||||
destroyDiskbasedBuf(pBuf);
|
||||
taosMemoryFree(rowData);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#ADD_SUBDIRECTORY(examples/c)
|
||||
ADD_SUBDIRECTORY(tsim)
|
||||
ADD_SUBDIRECTORY(test/c)
|
||||
#ADD_SUBDIRECTORY(comparisonTest/tdengine)
|
||||
|
||||
if(${BUILD_TEST})
|
||||
add_subdirectory(taosc_test)
|
||||
endif(${BUILD_TEST})
|
|
@ -0,0 +1,28 @@
|
|||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8...3.20)
|
||||
PROJECT(TDengine)
|
||||
|
||||
FIND_PATH(HEADER_GTEST_INCLUDE_DIR gtest.h /usr/include/gtest /usr/local/include/gtest /usr/local/taos/include)
|
||||
FIND_LIBRARY(LIB_GTEST_STATIC_DIR libgtest.a /usr/lib/ /usr/local/lib /usr/lib64 /usr/local/taos/driver/)
|
||||
FIND_LIBRARY(LIB_GTEST_SHARED_DIR libgtest.so /usr/lib/ /usr/local/lib /usr/lib64 /usr/local/taos/driver/)
|
||||
|
||||
IF (HEADER_GTEST_INCLUDE_DIR AND (LIB_GTEST_STATIC_DIR OR LIB_GTEST_SHARED_DIR))
|
||||
MESSAGE(STATUS "gTest library found, build os test")
|
||||
|
||||
INCLUDE_DIRECTORIES(${HEADER_GTEST_INCLUDE_DIR})
|
||||
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_LIST)
|
||||
|
||||
ENDIF()
|
||||
|
||||
aux_source_directory(src OS_SRC)
|
||||
# taoscTest
|
||||
add_executable(taoscTest "taoscTest.cpp")
|
||||
target_link_libraries(taoscTest taos os gtest_main)
|
||||
target_include_directories(
|
||||
taoscTest
|
||||
PUBLIC "${TD_SOURCE_DIR}/include/os"
|
||||
)
|
||||
add_test(
|
||||
NAME taoscTest
|
||||
COMMAND taoscTest
|
||||
)
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||
*
|
||||
* This program is free software: you can use, redistribute, and/or modify
|
||||
* it under the terms of the GNU Affero General Public License, version 3
|
||||
* or later ("AGPL"), as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <iostream>
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wwrite-strings"
|
||||
#pragma GCC diagnostic ignored "-Wunused-function"
|
||||
#pragma GCC diagnostic ignored "-Wunused-variable"
|
||||
#pragma GCC diagnostic ignored "-Wsign-compare"
|
||||
#pragma GCC diagnostic ignored "-Wsign-compare"
|
||||
#pragma GCC diagnostic ignored "-Wformat"
|
||||
#pragma GCC diagnostic ignored "-Wint-to-pointer-cast"
|
||||
#pragma GCC diagnostic ignored "-Wpointer-arith"
|
||||
|
||||
#include "os.h"
|
||||
#include "taos.h"
|
||||
|
||||
class taoscTest : public ::testing::Test {
|
||||
protected:
|
||||
static void SetUpTestCase() {
|
||||
printf("start test setup.\n");
|
||||
TAOS* taos = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
ASSERT_TRUE(taos != nullptr);
|
||||
|
||||
TAOS_RES* res = taos_query(taos, "drop database IF EXISTS taosc_test_db;");
|
||||
if (taos_errno(res) != 0) {
|
||||
printf("error in drop database taosc_test_db, reason:%s\n", taos_errstr(res));
|
||||
return;
|
||||
}
|
||||
taosSsleep(5);
|
||||
taosSsleep(3);
|
||||
taos_free_result(res);
|
||||
printf("drop database taosc_test_db,finished.\n");
|
||||
|
||||
res = taos_query(taos, "create database taosc_test_db;");
|
||||
if (taos_errno(res) != 0) {
|
||||
printf("error in create database taosc_test_db, reason:%s\n", taos_errstr(res));
|
||||
return;
|
||||
}
|
||||
taosSsleep(5);
|
||||
taos_free_result(res);
|
||||
printf("create database taosc_test_db,finished.\n");
|
||||
|
||||
taos_close(taos);
|
||||
}
|
||||
|
||||
static void TearDownTestCase() {}
|
||||
|
||||
void SetUp() override {}
|
||||
|
||||
void TearDown() override {}
|
||||
};
|
||||
|
||||
tsem_t query_sem;
|
||||
int getRecordCounts = 0;
|
||||
|
||||
void fetchCallback(void* param, void* res, int32_t numOfRow) {
|
||||
ASSERT_TRUE(numOfRow >= 0);
|
||||
if (numOfRow == 0) {
|
||||
printf("completed\n");
|
||||
taos_free_result(res);
|
||||
tsem_post(&query_sem);
|
||||
return;
|
||||
}
|
||||
|
||||
printf("numOfRow = %d \n", numOfRow);
|
||||
int numFields = taos_num_fields(res);
|
||||
TAOS_FIELD* fields = taos_fetch_fields(res);
|
||||
|
||||
for (int i = 0; i < numOfRow; ++i) {
|
||||
TAOS_ROW row = taos_fetch_row(res);
|
||||
char temp[256] = {0};
|
||||
taos_print_row(temp, row, fields, numFields);
|
||||
// printf("%s\n", temp);
|
||||
}
|
||||
|
||||
getRecordCounts += numOfRow;
|
||||
taos_fetch_raw_block_a(res, fetchCallback, param);
|
||||
}
|
||||
|
||||
void queryCallback(void* param, void* res, int32_t code) {
|
||||
ASSERT_TRUE(code == 0);
|
||||
ASSERT_TRUE(param == NULL);
|
||||
taos_fetch_raw_block_a(res, fetchCallback, param);
|
||||
}
|
||||
|
||||
TEST_F(taoscTest, Connect) {
|
||||
char sql[1024] = {0};
|
||||
int32_t code = 0;
|
||||
TAOS* taos = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
ASSERT_TRUE(taos != nullptr);
|
||||
|
||||
TAOS_RES* res = taos_query(taos, "create table taosc_test_db.taosc_test_table (ts TIMESTAMP, val INT)");
|
||||
if (taos_errno(res) != 0) {
|
||||
printf("error in table database taosc_test_table, reason:%s\n", taos_errstr(res));
|
||||
}
|
||||
ASSERT_TRUE(taos_errno(res) == 0);
|
||||
taos_free_result(res);
|
||||
taosSsleep(2);
|
||||
|
||||
int insertCounts = 10000;
|
||||
for (int i = 0; i < insertCounts; i++) {
|
||||
char sql[128];
|
||||
sprintf(sql, "insert into taosc_test_db.taosc_test_table values(now() + %ds, %d)", i, i);
|
||||
res = taos_query(taos, sql);
|
||||
ASSERT_TRUE(taos_errno(res) == 0);
|
||||
taos_free_result(res);
|
||||
}
|
||||
|
||||
tsem_init(&query_sem, 0, 0);
|
||||
taos_query_a(taos, "select * from taosc_test_db.taosc_test_table;", queryCallback, NULL);
|
||||
tsem_wait(&query_sem);
|
||||
|
||||
ASSERT_EQ(getRecordCounts, insertCounts);
|
||||
taos_close(taos);
|
||||
|
||||
printf("Connect test finished.\n");
|
||||
}
|
|
@ -6,7 +6,7 @@ function usage() {
|
|||
echo -e "\t -h help"
|
||||
}
|
||||
|
||||
ent=0
|
||||
ent=1
|
||||
while getopts "eh" opt; do
|
||||
case $opt in
|
||||
e)
|
||||
|
@ -24,6 +24,8 @@ while getopts "eh" opt; do
|
|||
esac
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
||||
script_dir=`dirname $0`
|
||||
cd ${script_dir}
|
||||
PWD=`pwd`
|
||||
|
@ -34,6 +36,13 @@ else
|
|||
cd ../../../debug
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
pgrep taosd || taosd >> /dev/null 2>&1 &
|
||||
pgrep taosadapter || taosadapter >> /dev/null 2>&1
|
||||
|
||||
sleep 10
|
||||
|
||||
ctest -j8
|
||||
ret=$?
|
||||
exit $ret
|
||||
|
|
Loading…
Reference in New Issue