Merge pull request #29765 from taosdata/3.0

3.0
This commit is contained in:
dongming chen 2025-02-13 10:27:45 +08:00 committed by GitHub
commit 4e245e513d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 94 additions and 198 deletions

View File

@ -21,16 +21,37 @@ from frame.sql import *
from frame.caseBase import *
from frame import *
class TDTestCase(TBase):
def caseDescription(self):
"""
[TD-11510] taosBenchmark test cases
"""
def checkVersion(self):
# run
outputs = etool.runBinFile("taosBenchmark", "-V")
print(outputs)
if len(outputs) != 3:
tdLog.exit(f"checkVersion return lines count {len(outputs) != 3}")
# version string len
assert len(outputs[0]) > 27
assert outputs[0][:22] == "taosBenchmark version:"
# commit id
assert len(outputs[1]) > 43
assert outputs[1][:4] == "git:"
# build info
assert len(outputs[2]) > 36
assert outputs[2][:6] == "build:"
tdLog.info("check taosBenchmark version successfully.")
def run(self):
# check version
self.checkVersion()
# command line
binPath = etool.benchMarkFile()
cmd = (
"%s -F 7 -n 10 -t 2 -x -y -M -C -d newtest -l 5 -A binary,nchar\(31\) -b tinyint,binary\(23\),bool,nchar -w 29 -E -m $%%^*"

View File

@ -27,10 +27,29 @@ class TDTestCase(TBase):
case1<sdsang>: [TS-3072] taosdump dump escaped db name test
"""
def checkVersion(self):
# run
outputs = etool.runBinFile("taosdump", "-V")
print(outputs)
if len(outputs) != 3:
tdLog.exit(f"checkVersion return lines count {len(outputs) != 3}")
# version string len
assert len(outputs[0]) > 22
assert outputs[0][:17] == "taosdump version:"
# commit id
assert len(outputs[1]) > 43
assert outputs[1][:4] == "git:"
# build info
assert len(outputs[2]) > 36
assert outputs[2][:6] == "build:"
tdLog.info("check taosdump version successfully.")
def run(self):
# check version
self.checkVersion()
tdSql.prepare()
tdSql.execute("drop database if exists db")

View File

@ -65,18 +65,6 @@
#endif
#endif
// get taosdump commit number version
#ifndef TAOSDUMP_COMMIT_SHA1
#define TAOSDUMP_COMMIT_SHA1 "unknown"
#endif
#ifndef TAOSDUMP_TAG
#define TAOSDUMP_TAG "0.1.0"
#endif
#ifndef TAOSDUMP_STATUS
#define TAOSDUMP_STATUS "unknown"
#endif
// use 256 as normal buffer length
#define BUFFER_LEN 256

View File

@ -36,158 +36,52 @@ ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
MESSAGE(STATUS "Set CPUTYPE to loongarch64")
ENDIF ()
#
# collect --version information
#
MESSAGE("collect --version show info:")
# version
IF (DEFINED TD_VER_NUMBER)
ADD_DEFINITIONS(-DTD_VER_NUMBER="${TD_VER_NUMBER}")
MESSAGE(STATUS "version:${TD_VER_NUMBER}")
ELSE ()
# abort build
MESSAGE(FATAL_ERROR "build taos-tools not found TD_VER_NUMBER define.")
ENDIF ()
# commit id
FIND_PACKAGE(Git)
IF(GIT_FOUND)
IF (EXISTS "${CMAKE_CURRENT_LIST_DIR}/../VERSION")
MESSAGE("Found VERSION file")
EXECUTE_PROCESS(
COMMAND grep "^taosdump" "${CMAKE_CURRENT_LIST_DIR}/../VERSION"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSDUMP_FULLTAG
)
EXECUTE_PROCESS(
COMMAND sh -c "git --git-dir=${CMAKE_CURRENT_LIST_DIR}/../.git --work-tree=${CMAKE_CURRENT_LIST_DIR}/.. log --pretty=oneline -n 1 HEAD"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSDUMP_COMMIT_SHA1
)
EXECUTE_PROCESS(
COMMAND grep "^taosbenchmark" "${CMAKE_CURRENT_LIST_DIR}/../VERSION"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSBENCHMARK_FULLTAG
)
EXECUTE_PROCESS(
COMMAND sh -c "git --git-dir=${CMAKE_CURRENT_LIST_DIR}/../.git --work-tree=${CMAKE_CURRENT_LIST_DIR}/.. log --pretty=oneline -n 1 HEAD"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSBENCHMARK_COMMIT_SHA1
)
ELSE ()
MESSAGE("Use git tag")
EXECUTE_PROCESS(
COMMAND sh -c "git for-each-ref --sort=taggerdate --format '%(tag)' refs/tags|grep taosdump|tail -1"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE TAG_RESULT
OUTPUT_VARIABLE TAOSDUMP_FULLTAG
)
EXECUTE_PROCESS(
COMMAND sh -c "git --git-dir=${CMAKE_CURRENT_LIST_DIR}/../.git --work-tree=${CMAKE_CURRENT_LIST_DIR}/.. log --pretty=oneline -n 1 ${TAOSDUMP_FULLTAG}"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSDUMP_COMMIT_SHA1
)
EXECUTE_PROCESS(
COMMAND sh -c "git for-each-ref --sort=taggerdate --format '%(tag)' refs/tags|grep taosbenchmark|tail -1"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE TAG_RESULT
OUTPUT_VARIABLE TAOSBENCHMARK_FULLTAG
)
EXECUTE_PROCESS(
COMMAND sh -c "git --git-dir=${CMAKE_CURRENT_LIST_DIR}/../.git --work-tree=${CMAKE_CURRENT_LIST_DIR}/.. log --pretty=oneline -n 1 ${TAOSBENCHMARK_FULLTAG}"
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSBENCHMARK_COMMIT_SHA1
)
ENDIF ()
# get
EXECUTE_PROCESS(
COMMAND sh -c "git --git-dir=${CMAKE_CURRENT_LIST_DIR}/../.git --work-tree=${CMAKE_CURRENT_LIST_DIR}/.. status -z -s ${CMAKE_CURRENT_LIST_DIR}/taosdump.c"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSDUMP_STATUS
ERROR_QUIET
)
COMMAND git log -1 --format=%H
WORKING_DIRECTORY ${TD_COMMUNITY_DIR}
OUTPUT_VARIABLE GIT_COMMIT_ID
)
# version
IF (DEFINED TD_VER_NUMBER)
# use tdengine version
SET(TAOSBENCHMARK_TAG ${TD_VER_NUMBER})
SET(TAOSDUMP_TAG ${TD_VER_NUMBER})
MESSAGE(STATUS "use TD_VER_NUMBER version: " ${TD_VER_NUMBER})
ELSE ()
# use internal version
EXECUTE_PROCESS(
COMMAND sh "-c" "echo '${TAOSDUMP_FULLTAG}' | awk -F '-' '{print $2}'"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSDUMP_TAG
)
MESSAGE(STATUS "taosdump use origin version: " ${TAOSDUMP_TAG})
EXECUTE_PROCESS(
COMMAND sh "-c" "echo '${TAOSBENCHMARK_FULLTAG}' | awk -F '-' '{print $2}'"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSBENCHMARK_TAG
)
MESSAGE(STATUS "taosBenchmark use origin version: " ${TAOSBENCHMARK_TAG})
ENDIF ()
STRING(SUBSTRING "${GIT_COMMIT_ID}" 0 40 TAOSBENCHMARK_COMMIT_ID)
SET(TAOSDUMP_COMMIT_ID "${TAOSBENCHMARK_COMMIT_ID}")
EXECUTE_PROCESS(
COMMAND sh -c "git --git-dir=${CMAKE_CURRENT_LIST_DIR}/../.git --work-tree=${CMAKE_CURRENT_LIST_DIR}/.. status -z -s ${CMAKE_CURRENT_LIST_DIR}/bench*.c"
RESULT_VARIABLE RESULT
OUTPUT_VARIABLE TAOSBENCHMARK_STATUS
ERROR_QUIET
)
IF ("${TAOSDUMP_COMMIT_SHA1}" STREQUAL "")
SET(TAOSDUMP_COMMIT_SHA1 "unknown")
ELSE ()
STRING(SUBSTRING "${TAOSDUMP_COMMIT_SHA1}" 0 40 TAOSDUMP_COMMIT_SHA1)
STRING(STRIP "${TAOSDUMP_COMMIT_SHA1}" TAOSDUMP_COMMIT_SHA1)
ENDIF ()
IF ("${TAOSDUMP_TAG}" STREQUAL "")
SET(TAOSDUMP_TAG "0.1.0")
ELSE ()
STRING(STRIP "${TAOSDUMP_TAG}" TAOSDUMP_TAG)
ENDIF ()
IF ("${TAOSBENCHMARK_COMMIT_SHA1}" STREQUAL "")
SET(TAOSBENCHMARK_COMMIT_SHA1 "unknown")
ELSE ()
STRING(SUBSTRING "${TAOSBENCHMARK_COMMIT_SHA1}" 0 40 TAOSBENCHMARK_COMMIT_SHA1)
STRING(STRIP "${TAOSBENCHMARK_COMMIT_SHA1}" TAOSBENCHMARK_COMMIT_SHA1)
ENDIF ()
IF ("${TAOSBENCHMARK_TAG}" STREQUAL "")
SET(TAOSBENCHMARK_TAG "0.1.0")
ELSE ()
STRING(STRIP "${TAOSBENCHMARK_TAG}" TAOSBENCHMARK_TAG)
ENDIF ()
# show
MESSAGE(STATUS "taosdump commit id: ${TAOSDUMP_COMMIT_ID}")
MESSAGE(STATUS "taosBenchmark commit id: ${TAOSBENCHMARK_COMMIT_ID}")
# define
ADD_DEFINITIONS(-DTAOSDUMP_COMMIT_ID="${TAOSDUMP_COMMIT_ID}")
ADD_DEFINITIONS(-DTAOSBENCHMARK_COMMIT_ID="${TAOSBENCHMARK_COMMIT_ID}")
ELSE()
MESSAGE("Git not found")
SET(TAOSDUMP_COMMIT_SHA1 "unknown")
SET(TAOSBENCHMARK_COMMIT_SHA1 "unknown")
SET(TAOSDUMP_TAG "0.1.0")
SET(TAOSDUMP_STATUS "unknown")
SET(TAOSBENCHMARK_STATUS "unknown")
MESSAGE(FATAL_ERROR "build taos-tools FIND_PACKAGE(Git) failed.")
ENDIF (GIT_FOUND)
STRING(STRIP "${TAOSDUMP_STATUS}" TAOSDUMP_STATUS)
STRING(STRIP "${TAOSBENCHMARK_STATUS}" TAOSBENCHMARK_STATUS)
IF (TAOSDUMP_STATUS MATCHES "M")
SET(TAOSDUMP_STATUS "modified")
ELSE()
SET(TAOSDUMP_STATUS "")
ENDIF ()
IF (TAOSBENCHMARK_STATUS MATCHES "M")
SET(TAOSBENCHMARK_STATUS "modified")
ELSE()
SET(TAOSBENCHMARK_STATUS "")
ENDIF ()
MESSAGE("")
MESSAGE("taosdump last tag: ${TAOSDUMP_TAG}")
MESSAGE("taosdump commit: ${TAOSDUMP_COMMIT_SHA1}")
MESSAGE("taosdump status: ${TAOSDUMP_STATUS}")
MESSAGE("")
MESSAGE("taosBenchmark last tag: ${TAOSBENCHMARK_TAG}")
MESSAGE("taosBenchmark commit: ${TAOSBENCHMARK_COMMIT_SHA1}")
MESSAGE("taosBenchmark status: ${TAOSBENCHMARK_STATUS}")
# build info
SET(BUILD_INFO "${TD_VER_OSTYPE}-${TD_VER_CPUTYPE} ${TD_VER_DATE}")
ADD_DEFINITIONS(-DBUILD_INFO="${BUILD_INFO}")
MESSAGE(STATUS "build:${BUILD_INFO}")
MESSAGE("")
ADD_DEFINITIONS(-DTAOSDUMP_TAG="${TAOSDUMP_TAG}")
ADD_DEFINITIONS(-DTAOSDUMP_COMMIT_SHA1="${TAOSDUMP_COMMIT_SHA1}")
ADD_DEFINITIONS(-DTAOSDUMP_STATUS="${TAOSDUMP_STATUS}")
ADD_DEFINITIONS(-DTAOSBENCHMARK_TAG="${TAOSBENCHMARK_TAG}")
ADD_DEFINITIONS(-DTAOSBENCHMARK_COMMIT_SHA1="${TAOSBENCHMARK_COMMIT_SHA1}")
ADD_DEFINITIONS(-DTAOSBENCHMARK_STATUS="${TAOSBENCHMARK_STATUS}")
#
# build proj
#
LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/build/lib ${CMAKE_BINARY_DIR}/build/lib64)
LINK_DIRECTORIES(/usr/lib /usr/lib64)
INCLUDE_DIRECTORIES(/usr/local/taos/include)
@ -252,6 +146,7 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin
ENDIF()
ENDIF ()
# websocket
IF (${WEBSOCKET})
ADD_DEFINITIONS(-DWEBSOCKET)
INCLUDE_DIRECTORIES(/usr/local/include/)
@ -277,6 +172,7 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin
SET(GCC_COVERAGE_LINK_FLAGS "-lgcov --coverage")
ENDIF ()
# sanitizer
IF (${BUILD_SANITIZER})
MESSAGE("${Yellow} Enable memory sanitize by BUILD_SANITIZER ${ColourReset}")
IF (${OS_ID} MATCHES "Darwin")
@ -288,6 +184,7 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin
SET(TOOLS_SANITIZE_FLAG "")
ENDIF ()
# TOOLS_BUILD_TYPE
IF (${TOOLS_BUILD_TYPE} MATCHES "Debug")
IF ((${TOOLS_SANITIZE} MATCHES "true") OR (${BUILD_SANITIZER}))
MESSAGE("${Yellow} Enable memory sanitize by TOOLS_SANITIZE ${ColourReset}")

View File

@ -16,20 +16,6 @@
extern char g_configDir[MAX_PATH_LEN];
// get taosBenchmark commit number version
#ifndef TAOSBENCHMARK_COMMIT_SHA1
#define TAOSBENCHMARK_COMMIT_SHA1 "unknown"
#endif
#ifndef TAOSBENCHMARK_TAG
#define TAOSBENCHMARK_TAG "0.1.0"
#endif
#ifndef TAOSBENCHMARK_STATUS
#define TAOSBENCHMARK_STATUS "unknown"
#endif
char *g_aggreFuncDemo[] = {"*",
"count(*)",
"avg(current)",
@ -42,16 +28,10 @@ char *g_aggreFunc[] = {"*", "count(*)", "avg(C0)", "sum(C0)",
"max(C0)", "min(C0)", "first(C0)", "last(C0)"};
void printVersion() {
char taosBenchmark_ver[] = TAOSBENCHMARK_TAG;
char taosBenchmark_commit[] = TAOSBENCHMARK_COMMIT_SHA1;
char taosBenchmark_status[] = TAOSBENCHMARK_STATUS;
// version
printf("taosBenchmark version: %s\ngit: %s\n", taosBenchmark_ver, taosBenchmark_commit);
printf("build: %s\n", getBuildInfo());
if (strlen(taosBenchmark_status) > 0) {
printf("status: %s\n", taosBenchmark_status);
}
// version, macro define in src/CMakeLists.txt
printf("taosBenchmark version: %s\n", TD_VER_NUMBER);
printf("git: %s\n", TAOSBENCHMARK_COMMIT_ID);
printf("build: %s\n", BUILD_INFO);
}
void parseFieldDatatype(char *dataType, BArray *fields, bool isTag) {

View File

@ -236,8 +236,6 @@ struct arguments g_args = {
1000 // retrySleepMs
};
static uint64_t getUniqueIDFromEpoch() {
struct timeval tv;
@ -256,24 +254,17 @@ static uint64_t getUniqueIDFromEpoch() {
return id;
}
// --version -V
static void printVersion(FILE *file) {
char taostools_longver[] = TAOSDUMP_TAG;
char taosdump_status[] = TAOSDUMP_STATUS;
char *dupSeq = strdup(taostools_longver);
char *running = dupSeq;
char *taostools_ver = strsep(&running, "-");
char taosdump_commit[] = TAOSDUMP_COMMIT_SHA1;
fprintf(file,"taosdump version: %s\ngit: %s\n", taostools_ver, taosdump_commit);
printf("build: %s\n", getBuildInfo());
if (strlen(taosdump_status) > 0) {
fprintf(file, "status:%s\n", taosdump_status);
if (file == NULL) {
printf("fail, printVersion file is null.\n");
return ;
}
free(dupSeq);
// version, macro define in src/CMakeLists.txt
fprintf(file, "taosdump version: %s\n", TD_VER_NUMBER);
fprintf(file, "git: %s\n", TAOSDUMP_COMMIT_ID);
fprintf(file, "build: %s\n", BUILD_INFO);
}
static char *typeToStr(int type) {
@ -8928,8 +8919,8 @@ static int dumpExtraInfoHead(void *taos, FILE *fp) {
errno, strerror(errno));
}
char taostools_ver[] = TAOSDUMP_TAG;
char taosdump_commit[] = TAOSDUMP_COMMIT_SHA1;
char taostools_ver[] = TD_VER_NUMBER;
char taosdump_commit[] = TAOSDUMP_COMMIT_ID;
snprintf(buffer, BUFFER_LEN, "#!"CUS_PROMPT"dump_ver: %s_%s\n",
taostools_ver, taosdump_commit);
@ -9448,7 +9439,7 @@ static int dumpInDbs(const char *dbPath) {
}
#endif
int taosToolsMajorVer = atoi(TAOSDUMP_TAG);
int taosToolsMajorVer = atoi(TD_VER_NUMBER);
if ((g_dumpInDataMajorVer > 1) && (1 == taosToolsMajorVer)) {
errorPrint("\tThe data file was generated by version %d\n"
"\tCannot be restored by current version: %d\n\n"