mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 04:47:14 +02:00
Fixed crash on gendoc (#430)
Fixed by checking for help action before using the detector added test that checks that for all helps this doesn't crash Disabled Timer tests by default since they take ~2s
This commit is contained in:
@ -1056,7 +1056,18 @@ std::string CmdProxy::TemperatureValues(int action) {
|
||||
std::string CmdProxy::Dac(int action) {
|
||||
std::ostringstream os;
|
||||
os << cmd << ' ';
|
||||
|
||||
if (action == defs::HELP_ACTION) {
|
||||
if (args.size() == 0) {
|
||||
os << GetHelpDac(std::to_string(0)) << '\n';
|
||||
} else {
|
||||
os << args[0] << ' ' << GetHelpDac(args[0]) << '\n';
|
||||
}
|
||||
return os.str();
|
||||
}
|
||||
|
||||
auto type = det->getDetectorType().squash();
|
||||
|
||||
// dac indices only for ctb
|
||||
if (args.size() > 0 && action != defs::HELP_ACTION) {
|
||||
if (is_int(args[0]) && type != defs::CHIPTESTBOARD) {
|
||||
@ -1066,13 +1077,7 @@ std::string CmdProxy::Dac(int action) {
|
||||
}
|
||||
}
|
||||
|
||||
if (action == defs::HELP_ACTION) {
|
||||
if (args.size() == 0) {
|
||||
os << GetHelpDac(std::to_string(0)) << '\n';
|
||||
} else {
|
||||
os << args[0] << ' ' << GetHelpDac(args[0]) << '\n';
|
||||
}
|
||||
} else if (action == defs::GET_ACTION) {
|
||||
if (action == defs::GET_ACTION) {
|
||||
if (args.empty())
|
||||
WrongNumberOfParameters(1); // This prints slightly wrong
|
||||
|
||||
|
@ -16,6 +16,17 @@ using sls::Detector;
|
||||
using test::GET;
|
||||
using test::PUT;
|
||||
|
||||
TEST_CASE("Calling help doesn't throw or cause segfault"){
|
||||
//Dont add [.cmd] tag this should run with normal tests
|
||||
CmdProxy proxy(nullptr);
|
||||
auto commands = proxy.GetProxyCommands();
|
||||
std::ostringstream os;
|
||||
for (const auto &cmd : commands)
|
||||
REQUIRE_NOTHROW(proxy.Call(cmd, {}, -1, slsDetectorDefs::HELP_ACTION, os));
|
||||
|
||||
|
||||
}
|
||||
|
||||
TEST_CASE("Unknown command", "[.cmd]") {
|
||||
|
||||
Detector det;
|
||||
|
Reference in New Issue
Block a user