mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 10:30:41 +02:00
703rc/tests/fix execute command (#842)
* fix execute command * fix for tests for ctb
This commit is contained in:
parent
4613c54f57
commit
9b9b09ceaf
BIN
slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer
Executable file
BIN
slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer
Executable file
Binary file not shown.
BIN
slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer
Executable file
BIN
slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer
Executable file
Binary file not shown.
BIN
slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer
Executable file
BIN
slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer
Executable file
Binary file not shown.
BIN
slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer
Executable file
BIN
slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer
Executable file
Binary file not shown.
BIN
slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer
Executable file
BIN
slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer
Executable file
Binary file not shown.
BIN
slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer
Executable file
BIN
slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer
Executable file
Binary file not shown.
BIN
slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer
Executable file
BIN
slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer
Executable file
Binary file not shown.
@ -17,7 +17,7 @@ const char *getRetName();
|
|||||||
void function_table();
|
void function_table();
|
||||||
void functionNotImplemented();
|
void functionNotImplemented();
|
||||||
void modeNotImplemented(char *modename, int mode);
|
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);
|
int M_nofunc(int);
|
||||||
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
|
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||||
void rebootNiosControllerAndFPGA();
|
void rebootNiosControllerAndFPGA();
|
||||||
|
@ -499,7 +499,7 @@ void modeNotImplemented(char *modename, int mode) {
|
|||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
}
|
}
|
||||||
|
|
||||||
int executeCommand(char *command, char *result, enum TLogLevel level) {
|
void executeCommand(char *command, char *result, enum TLogLevel level) {
|
||||||
ret = OK;
|
ret = OK;
|
||||||
memset(mess, 0, sizeof(mess));
|
memset(mess, 0, sizeof(mess));
|
||||||
|
|
||||||
@ -515,6 +515,11 @@ int executeCommand(char *command, char *result, enum TLogLevel level) {
|
|||||||
|
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
FILE *sysFile = popen(cmd, "r");
|
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) {
|
while (fgets(temp, tempsize, sysFile) != NULL) {
|
||||||
// size left excludes terminating character
|
// size left excludes terminating character
|
||||||
size_t sizeleft = MAX_STR_LENGTH - strlen(result) - 1;
|
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) {
|
if (strlen(result) == 0) {
|
||||||
strcpy(result, "No result");
|
strcpy(result, "No result");
|
||||||
}
|
}
|
||||||
|
|
||||||
int retval = OK;
|
|
||||||
int success = pclose(sysFile);
|
int success = pclose(sysFile);
|
||||||
if (success) {
|
if (success == -1) {
|
||||||
retval = FAIL;
|
ret = FAIL;
|
||||||
LOG(logERROR, ("Executing cmd[%s]:%s\n", cmd, result));
|
strcpy(mess, result);
|
||||||
|
LOG(logERROR, ("Executing cmd[%s] failed:%s\n", cmd, mess));
|
||||||
} else {
|
} else {
|
||||||
LOG(level, ("Result:\n[%s]\n", result));
|
LOG(level, ("Result:\n[%s]\n", result));
|
||||||
}
|
}
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int M_nofunc(int file_des) {
|
int M_nofunc(int file_des) {
|
||||||
@ -568,7 +570,7 @@ int exec_command(int file_des) {
|
|||||||
|
|
||||||
// set
|
// set
|
||||||
if (Server_VerifyLock() == OK) {
|
if (Server_VerifyLock() == OK) {
|
||||||
ret = executeCommand(cmd, retval, logINFO);
|
executeCommand(cmd, retval, logINFO);
|
||||||
}
|
}
|
||||||
return Server_SendResult(file_des, OTHER, retval, sizeof(retval));
|
return Server_SendResult(file_des, OTHER, retval, sizeof(retval));
|
||||||
}
|
}
|
||||||
|
@ -1228,10 +1228,10 @@ TEST_CASE("dbitphase", "[.cmd]") {
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
std::ostringstream oss1, oss2;
|
std::ostringstream oss1, oss2;
|
||||||
proxy.Call("dbitphase", {"20", "deg"}, -1, PUT, oss1);
|
proxy.Call("dbitphase", {"23", "deg"}, -1, PUT, oss1);
|
||||||
REQUIRE(oss1.str() == "dbitphase 20 deg\n");
|
REQUIRE(oss1.str() == "dbitphase 23 deg\n");
|
||||||
proxy.Call("dbitphase", {"deg"}, -1, GET, oss2);
|
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) {
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
det.setDBITPhase(prev_val[i], {i});
|
det.setDBITPhase(prev_val[i], {i});
|
||||||
@ -3357,7 +3357,7 @@ TEST_CASE("lock", "[.cmd]") {
|
|||||||
TEST_CASE("execcommand", "[.cmd]") {
|
TEST_CASE("execcommand", "[.cmd]") {
|
||||||
Detector det;
|
Detector det;
|
||||||
CmdProxy proxy(&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]") {
|
TEST_CASE("framecounter", "[.cmd]") {
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
||||||
/** API versions */
|
/** API versions */
|
||||||
#define RELEASE "7.0.3"
|
#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 APILIB "7.0.3 0x231024"
|
||||||
#define APIRECEIVER "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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user