fix bug in test shell and bug in front -a mode

This commit is contained in:
lnk
2025-03-06 10:32:40 +08:00
parent 28811fbae7
commit 135f48f373
3 changed files with 33 additions and 9 deletions

View File

@@ -15563,8 +15563,27 @@ void myQtMsgHandler(QtMsgType type, const char *msg)
// ------------------ <20>Զ<EFBFBD><D4B6><EFBFBD> printf <20><><EFBFBD><EFBFBD> ------------------
// <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> normal <20><><EFBFBD><EFBFBD> => <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>normalList(<28><><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD>)
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ȫ<EFBFBD>־<EFBFBD>̬<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ printfmtx
static pthread_mutex_t printfmtx = PTHREAD_MUTEX_INITIALIZER;
// RAII<49><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
class LockGuard {
public:
explicit LockGuard(pthread_mutex_t& mutex) : mtx(mutex) {
pthread_mutex_lock(&mtx);
}
~LockGuard() {
pthread_mutex_unlock(&mtx);
}
private:
pthread_mutex_t& mtx;
};
int customPrintf(const char* format, ...)
{
// <20>ڽ<EFBFBD><DABD><EFBFBD><EBBAAF>ʱ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
LockGuard lock(printfmtx);
va_list args;
va_start(args, format);
@@ -15577,7 +15596,7 @@ int customPrintf(const char* format, ...)
return -1;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>std::cout<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>TeeStreamBuf<EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> std::cout
std::cout << buffer << std::endl;
return written;

View File

@@ -1114,7 +1114,7 @@ void execute_bash_debug(string fun,string ip,string type,int proindex)
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char command[256];
snprintf(command, sizeof(command), "%s %s %s %s &", script, param1, param2, param3,param4);
snprintf(command, sizeof(command), "%s %s %s %s %s &", script, param1, param2, param3,param4);
std::cout << "command:" << command <<std::endl;
@@ -1243,6 +1243,8 @@ void parse_set(const std::string& json_str) {
proindex = index_item->valueint;
}
std::cout << "proindex is :" << proindex <<std::endl;
//У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((fun == "start" || fun == "delete") &&
isValidIP(ip) &&

View File

@@ -355,11 +355,15 @@ private slots:
continue;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>̶<EFBFBD>Ϊ "> "<22><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ2
const int promptLength = 2;
// 4) <20>˸<EFBFBD><CBB8><EFBFBD>
if (c == '\x7f' || c == '\b') {
if (!currentCommand.isEmpty()) {
// <20><><EFBFBD><EFBFBD> currentCommand <20>ij<EFBFBD><C4B3>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ַ<EFBFBD>
if (currentCommand.length() > promptLength) {
currentCommand.chop(1);
// <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "\b \b" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>
clientSocket->write("\b \b");
clientSocket->flush();
}
@@ -396,8 +400,7 @@ private:
*/
void printPrompt(QTcpSocket *clientSocket)
{
//clientSocket->write("\r\n> ");
clientSocket->write("\r\x1B[K> ");
clientSocket->write("\n\r\x1B[K> ");
clientSocket->flush();
}
@@ -420,7 +423,7 @@ private:
helpText += "log - Execute rocketmq_test_log\r\n";
helpText += "ledger <id> - Execute ledger with optional terminal_id\r\n";
helpText += "viewlog <level> - View logs (ERROR, WARN, NORMAL, DEBUG)\r\n";
helpText += "value <valuename> - Execute value print with valuename\r\n";
helpText += "value <valuename> - Execute value print with valuename : frontindex remtable iedcount frontfun log init\r\n";
helpText += "exit - Exit the shell\r\n";
helpText += "help - Show this help message\r\n";
clientSocket->write("\r\x1B[K");
@@ -489,9 +492,9 @@ private:
QStringList parts = cmd.split(" ");
if (parts.size() > 1) {
QString variableName = parts[1];
value_print(variableName.toStdString().c_str(), clientSocket);
clientSocket->write("\r\x1B[K");
clientSocket->write("Executed value with variable name: " + variableName.toUtf8() + "\r\n");
value_print(variableName.toStdString().c_str(), clientSocket);
} else {
clientSocket->write("\r\x1B[K");
clientSocket->write("Please provide a variable name\r\n");