enh(cluster): enable tsim to support valgrind startup

This commit is contained in:
Shengliang Guan 2022-04-14 21:41:23 +08:00
parent 688f2584dc
commit 1aaf170491
4 changed files with 10 additions and 2 deletions

View File

@ -125,8 +125,8 @@ ulimit -c unlimited
if [ -n "$FILE_NAME" ]; then if [ -n "$FILE_NAME" ]; then
echo "------------------------------------------------------------------------" echo "------------------------------------------------------------------------"
if [ $VALGRIND -eq 1 ]; then if [ $VALGRIND -eq 1 ]; then
echo valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --show-leak-kinds=all -v --workaround-gcc296-bugs=yes --log-file=${CODE_DIR}/../script/valgrind.log $PROGRAM -c $CFG_DIR -f $FILE_NAME echo valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --show-leak-kinds=all -v --workaround-gcc296-bugs=yes --log-file=${CODE_DIR}/../script/valgrind.log $PROGRAM -c $CFG_DIR -f $FILE_NAME -v
valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --show-leak-kinds=all -v --workaround-gcc296-bugs=yes --log-file=${CODE_DIR}/../script/valgrind.log $PROGRAM -c $CFG_DIR -f $FILE_NAME valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --show-leak-kinds=all -v --workaround-gcc296-bugs=yes --log-file=${CODE_DIR}/../script/valgrind.log $PROGRAM -c $CFG_DIR -f $FILE_NAME -v
else else
if [[ $MULTIPROCESS -eq 1 ]];then if [[ $MULTIPROCESS -eq 1 ]];then
echo "ExcuteCmd(multiprocess):" $PROGRAM -m -c $CFG_DIR -f $FILE_NAME echo "ExcuteCmd(multiprocess):" $PROGRAM -m -c $CFG_DIR -f $FILE_NAME

View File

@ -156,6 +156,7 @@ extern int32_t simDebugFlag;
extern char simScriptDir[]; extern char simScriptDir[];
extern bool abortExecution; extern bool abortExecution;
extern bool useMultiProcess; extern bool useMultiProcess;
extern bool useValgrind;
SScript *simParseScript(char *fileName); SScript *simParseScript(char *fileName);
SScript *simProcessCallOver(SScript *script); SScript *simProcessCallOver(SScript *script);

View File

@ -340,6 +340,10 @@ bool simExecuteSystemCmd(SScript *script, char *option) {
simReplaceStr(buf, "deploy.sh", "deploy.sh -m"); simReplaceStr(buf, "deploy.sh", "deploy.sh -m");
} }
if (useValgrind) {
simReplaceStr(buf, "exec.sh", "exec.sh -v");
}
simLogSql(buf, true); simLogSql(buf, true);
int32_t code = system(buf); int32_t code = system(buf);
int32_t repeatTimes = 0; int32_t repeatTimes = 0;

View File

@ -19,6 +19,7 @@
bool simExecSuccess = false; bool simExecSuccess = false;
bool abortExecution = false; bool abortExecution = false;
bool useMultiProcess = false; bool useMultiProcess = false;
bool useValgrind = false;
void simHandleSignal(int32_t signo, void *sigInfo, void *context) { void simHandleSignal(int32_t signo, void *sigInfo, void *context) {
simSystemCleanUp(); simSystemCleanUp();
@ -35,6 +36,8 @@ int32_t main(int32_t argc, char *argv[]) {
strcpy(scriptFile, argv[++i]); strcpy(scriptFile, argv[++i]);
} else if (strcmp(argv[i], "-m") == 0) { } else if (strcmp(argv[i], "-m") == 0) {
useMultiProcess = true; useMultiProcess = true;
} else if (strcmp(argv[i], "-v") == 0) {
useValgrind = true;
} else { } else {
printf("usage: %s [options] \n", argv[0]); printf("usage: %s [options] \n", argv[0]);
printf(" [-c config]: config directory, default is: %s\n", configDir); printf(" [-c config]: config directory, default is: %s\n", configDir);