fixed some tests
Build on RHEL9 docker image / build (push) Failing after 30s
Build on RHEL8 docker image / build (push) Failing after 34s

This commit is contained in:
2026-03-09 18:01:19 +01:00
parent 4875597533
commit 7b305a1faf
3 changed files with 26 additions and 14 deletions
@@ -1436,7 +1436,7 @@ int setDAC(enum DACINDEX ind, int val, bool mV, char *mess) {
return FAIL;
// power dacs (power should be disabled)
if (ind > NDAC_ONLY && ind != D_PWR_CHIP) {
if (ind >= NDAC_ONLY && ind != D_PWR_CHIP) {
if (verifyPowerRailDisabled(ind, mess) == FAIL)
return FAIL;
}
+1 -1
View File
@@ -1915,7 +1915,7 @@ std::string Caller::v_limit(int action) {
}
else if (action == defs::PUT_ACTION) {
if (args.size() < 1) {
if (args.size() != 1) {
WrongNumberOfParameters(1);
}
auto val = StringTo<int>(args[0]);
@@ -586,7 +586,7 @@ TEST_CASE("dac", "[.detectorintegration][.dacs]") {
caller.call("dac", {std::to_string(idac), "-1"}, -1, PUT));
}
// power dacs
// power dacs. TODO: check v_chip
if (det.isVirtualDetectorServer().tsquash(
"Inconsistent virtual servers")) {
std::vector<std::string> names{"v_a", "v_b", "v_c", "v_d", "v_io"};
@@ -663,6 +663,8 @@ TEST_CASE("dac", "[.detectorintegration][.dacs]") {
}
// Reset all dacs to previous value
for (int imod = 0; imod != det.size(); ++imod) {
det.setPowerEnabled(std::vector{indices[iPower]}, false,
{imod});
det.setDAC(indices[iPower], prev_val[imod], true, {imod});
det.setPowerEnabled(std::vector{indices[iPower]},
prev_val_power[imod], {imod});
@@ -863,7 +865,6 @@ TEST_CASE("v_limit", "[.detectorintegration]") {
auto prev_val = det.getDAC(defs::V_LIMIT, true);
REQUIRE_THROWS(caller.call("v_limit", {"1200", "mV"}, -1, PUT));
REQUIRE_THROWS(caller.call("v_limit", {"-100"}, -1, PUT));
REQUIRE_THROWS(caller.call("v_limit", {"0"}, -1, PUT));
REQUIRE_THROWS(caller.call("v_limit", {"-100", "mV"}, -1, PUT));
REQUIRE_THROWS(caller.call("v_limit", {"0", "mV"}, -1, PUT));
@@ -1173,10 +1174,10 @@ TEST_CASE("power", "[.detectorintegration]") {
det_type == defs::XILINX_CHIPTESTBOARD) {
std::vector<std::string> cmds{"v_a", "v_b", "v_c",
"v_d", "v_io", "v_chip"};
"v_d", "v_io"};
std::vector<defs::dacIndex> indices{
defs::V_POWER_A, defs::V_POWER_B, defs::V_POWER_C,
defs::V_POWER_D, defs::V_POWER_IO, defs::V_POWER_CHIP};
defs::V_POWER_D, defs::V_POWER_IO};
for (size_t iPower = 0; iPower < cmds.size(); ++iPower) {
auto prev_val = det.isPowerEnabled(indices[iPower]);
@@ -1187,7 +1188,7 @@ TEST_CASE("power", "[.detectorintegration]") {
{
std::ostringstream oss;
caller.call("power", {"v_a", "on"}, -1, PUT, oss);
REQUIRE(oss.str() == "power v_a on\n");
REQUIRE(oss.str() == "power [v_a] on\n");
}
{
std::ostringstream oss;
@@ -1200,17 +1201,28 @@ TEST_CASE("power", "[.detectorintegration]") {
REQUIRE(oss.str() == "power [v_a, v_c] on\n");
}
{
std::ostringstream oss;
std::ostringstream oss1, oss2, oss3;
caller.call("power", {"v_a", "v_b", "off"}, -1, PUT);
caller.call("power", {"v_a", "v_b", "v_c"}, -1, GET, oss);
REQUIRE(oss.str() == "power [v_a, v_b, v_c] [on, off, on]\n");
caller.call("power", {"v_a"}, -1, GET, oss1);
caller.call("power", {"v_b"}, -1, GET, oss2);
caller.call("power", {"v_c"}, -1, GET, oss3);
REQUIRE(oss1.str() == "power v_a off\n");
REQUIRE(oss2.str() == "power v_b off\n");
REQUIRE(oss3.str() == "power v_c on\n");
}
{ // power chip
caller.call("powerchip", {"1"}, -1, PUT);
std::ostringstream oss;
caller.call("power", {"v_a", "v_b", "v_c", "v_d", "v_io"}, -1,
GET, oss);
REQUIRE(oss.str() == "power [v_a, v_b, v_c, v_d, v_io] on\n");
std::ostringstream oss1, oss2, oss3, oss4, oss5;
caller.call("power", {"v_a"}, -1, GET, oss1);
caller.call("power", {"v_b"}, -1, GET, oss2);
caller.call("power", {"v_c"}, -1, GET, oss3);
caller.call("power", {"v_d"}, -1, GET, oss4);
caller.call("power", {"v_io"}, -1, GET, oss5);
REQUIRE(oss1.str() == "power v_a on\n");
REQUIRE(oss2.str() == "power v_b on\n");
REQUIRE(oss3.str() == "power v_c on\n");
REQUIRE(oss4.str() == "power v_d on\n");
REQUIRE(oss5.str() == "power v_io on\n");
}
for (int imod = 0; imod != det.size(); ++imod) {
det.setPowerEnabled(std::vector{indices[iPower]},