703rc/tests/fix execute command (#842)

* fix execute command
* fix for tests for ctb
This commit is contained in:
maliakal_d 2023-11-07 09:29:48 +01:00 committed by GitHub
parent 4613c54f57
commit 9b9b09ceaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 23 additions and 21 deletions

View File

@ -17,7 +17,7 @@ const char *getRetName();
void function_table();
void functionNotImplemented();
void modeNotImplemented(char *modename, int mode);
int executeCommand(char *command, char *result, enum TLogLevel level);
void executeCommand(char *command, char *result, enum TLogLevel level);
int M_nofunc(int);
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
void rebootNiosControllerAndFPGA();

View File

@ -499,7 +499,7 @@ void modeNotImplemented(char *modename, int mode) {
LOG(logERROR, (mess));
}
int executeCommand(char *command, char *result, enum TLogLevel level) {
void executeCommand(char *command, char *result, enum TLogLevel level) {
ret = OK;
memset(mess, 0, sizeof(mess));
@ -515,6 +515,11 @@ int executeCommand(char *command, char *result, enum TLogLevel level) {
fflush(stdout);
FILE *sysFile = popen(cmd, "r");
if (sysFile == NULL) {
ret = FAIL;
sprintf(mess, "Executing cmd[%s] failed\n", cmd);
return;
}
while (fgets(temp, tempsize, sysFile) != NULL) {
// size left excludes terminating character
size_t sizeleft = MAX_STR_LENGTH - strlen(result) - 1;
@ -530,17 +535,14 @@ int executeCommand(char *command, char *result, enum TLogLevel level) {
if (strlen(result) == 0) {
strcpy(result, "No result");
}
int retval = OK;
int success = pclose(sysFile);
if (success) {
retval = FAIL;
LOG(logERROR, ("Executing cmd[%s]:%s\n", cmd, result));
if (success == -1) {
ret = FAIL;
strcpy(mess, result);
LOG(logERROR, ("Executing cmd[%s] failed:%s\n", cmd, mess));
} else {
LOG(level, ("Result:\n[%s]\n", result));
}
return retval;
}
int M_nofunc(int file_des) {
@ -568,7 +570,7 @@ int exec_command(int file_des) {
// set
if (Server_VerifyLock() == OK) {
ret = executeCommand(cmd, retval, logINFO);
executeCommand(cmd, retval, logINFO);
}
return Server_SendResult(file_des, OTHER, retval, sizeof(retval));
}

View File

@ -1228,10 +1228,10 @@ TEST_CASE("dbitphase", "[.cmd]") {
}
{
std::ostringstream oss1, oss2;
proxy.Call("dbitphase", {"20", "deg"}, -1, PUT, oss1);
REQUIRE(oss1.str() == "dbitphase 20 deg\n");
proxy.Call("dbitphase", {"23", "deg"}, -1, PUT, oss1);
REQUIRE(oss1.str() == "dbitphase 23 deg\n");
proxy.Call("dbitphase", {"deg"}, -1, GET, oss2);
REQUIRE(oss2.str() == "dbitphase 20 deg\n");
REQUIRE(oss2.str() == "dbitphase 23 deg\n");
}
for (int i = 0; i != det.size(); ++i) {
det.setDBITPhase(prev_val[i], {i});
@ -3357,7 +3357,7 @@ TEST_CASE("lock", "[.cmd]") {
TEST_CASE("execcommand", "[.cmd]") {
Detector det;
CmdProxy proxy(&det);
REQUIRE_NOTHROW(proxy.Call("execcommand", {"ls"}, -1, PUT));
REQUIRE_NOTHROW(proxy.Call("execcommand", {"ls *.txt"}, -1, PUT));
}
TEST_CASE("framecounter", "[.cmd]") {

View File

@ -2,12 +2,12 @@
// Copyright (C) 2021 Contributors to the SLS Detector Package
/** API versions */
#define RELEASE "7.0.3"
#define APICTB "7.0.3 0x230922"
#define APIGOTTHARD "7.0.3 0x230922"
#define APIGOTTHARD2 "7.0.3 0x230922"
#define APIJUNGFRAU "7.0.3 0x230922"
#define APIMYTHEN3 "7.0.3 0x230922"
#define APIMOENCH "7.0.3 0x230922"
#define APIEIGER "7.0.3 0x231018"
#define APILIB "7.0.3 0x231024"
#define APIRECEIVER "7.0.3 0x231024"
#define APICTB "7.0.3 0x231031"
#define APIGOTTHARD "7.0.3 0x231031"
#define APIGOTTHARD2 "7.0.3 0x231031"
#define APIJUNGFRAU "7.0.3 0x231031"
#define APIMYTHEN3 "7.0.3 0x231031"
#define APIMOENCH "7.0.3 0x231031"
#define APIEIGER "7.0.3 0x231031"