mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-05 17:40:40 +02:00
eiger test
This commit is contained in:
parent
6765eb0c94
commit
d9ae9a8cc6
@ -44,8 +44,8 @@ TEST_CASE("Eiger transmission delay") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Reset to previous values
|
// Reset to previous values
|
||||||
for (int i=0; i!=det.size(); ++i){
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
det.setTransmissionDelayFrame(frame[i]);
|
det.setTransmissionDelayFrame(frame[i]);
|
||||||
det.setTransmissionDelayLeft(left[i]);
|
det.setTransmissionDelayLeft(left[i]);
|
||||||
det.setTransmissionDelayRight(right[i]);
|
det.setTransmissionDelayRight(right[i]);
|
||||||
@ -84,31 +84,81 @@ TEST_CASE("dr", "[.cmd]") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TEST_CASE("interruptsubframe", "[.cmd][.eiger]") {
|
TEST_CASE("interruptsubframe", "[.cmd][!mayfail]") {
|
||||||
|
// TODO! Fix this for virtual server
|
||||||
|
Detector det;
|
||||||
|
CmdProxy proxy(&det);
|
||||||
|
auto det_type = det.getDetectorType().squash();
|
||||||
|
if (det_type == defs::EIGER) {
|
||||||
|
auto previous = det.getInterruptSubframe();
|
||||||
|
|
||||||
// Detector det;
|
std::ostringstream oss1, oss2, oss3;
|
||||||
// CmdProxy proxy(&det);
|
proxy.Call("interruptsubframe", {"1"}, -1, PUT, oss1);
|
||||||
|
REQUIRE(oss1.str() == "interruptsubframe 1\n");
|
||||||
|
proxy.Call("interruptsubframe", {}, -1, GET, oss2);
|
||||||
|
REQUIRE(oss2.str() == "interruptsubframe 1\n");
|
||||||
|
proxy.Call("interruptsubframe", {"0"}, -1, PUT, oss3);
|
||||||
|
REQUIRE(oss3.str() == "interruptsubframe 0\n");
|
||||||
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
|
det.setInterruptSubframe(previous[i], {i});
|
||||||
|
}
|
||||||
|
|
||||||
// auto det_type = det.getDetectorType().squash();
|
} else {
|
||||||
// if (det_type == defs::EIGER){
|
REQUIRE_THROWS(proxy.Call("interruptsubframe", {}, -1, GET));
|
||||||
// auto previous = det.getInterruptSubframe();
|
REQUIRE_THROWS(proxy.Call("interruptsubframe", {"1"}, -1, PUT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// std::ostringstream oss1, oss2, oss3;
|
TEST_CASE("overflow", "[.cmd]") {
|
||||||
// proxy.Call("interruptsubframe", {"1"}, -1, PUT, oss1);
|
Detector det;
|
||||||
// REQUIRE(oss1.str() == "interruptsubframe 1\n");
|
CmdProxy proxy(&det);
|
||||||
// proxy.Call("interruptsubframe", {}, -1, GET, oss2);
|
auto det_type = det.getDetectorType().squash();
|
||||||
// REQUIRE(oss2.str() == "interruptsubframe 1\n");
|
if (det_type == defs::EIGER) {
|
||||||
// proxy.Call("interruptsubframe", {"0"}, -1, PUT, oss3);
|
auto previous = det.getOverFlowMode();
|
||||||
// REQUIRE(oss3.str() == "interruptsubframe 0\n");
|
|
||||||
// for (int i=0; i!=det.size(); ++i){
|
|
||||||
// det.setInterruptSubframe(previous[i], {i});
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }else{
|
std::ostringstream oss1, oss2, oss3;
|
||||||
// REQUIRE_THROWS(proxy.Call("interruptsubframe", {}, -1, GET));
|
proxy.Call("overflow", {"1"}, -1, PUT, oss1);
|
||||||
// REQUIRE_THROWS(proxy.Call("interruptsubframe", {"1"}, -1, PUT));
|
REQUIRE(oss1.str() == "overflow 1\n");
|
||||||
// }
|
proxy.Call("overflow", {}, -1, GET, oss2);
|
||||||
// }
|
REQUIRE(oss2.str() == "overflow 1\n");
|
||||||
|
proxy.Call("overflow", {"0"}, -1, PUT, oss3);
|
||||||
|
REQUIRE(oss3.str() == "overflow 0\n");
|
||||||
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
|
det.setOverFlowMode(previous[i], {i});
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
REQUIRE_THROWS(proxy.Call("overflow", {}, -1, GET));
|
||||||
|
REQUIRE_THROWS(proxy.Call("overflow", {"1"}, -1, PUT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("trimen", "[.cmd][.this]") {
|
||||||
|
//TODO! Also Mythen?
|
||||||
|
Detector det;
|
||||||
|
CmdProxy proxy(&det);
|
||||||
|
auto det_type = det.getDetectorType().squash();
|
||||||
|
if (det_type == defs::EIGER) {
|
||||||
|
|
||||||
|
auto previous = det.getTrimEnergies();
|
||||||
|
std::ostringstream oss1, oss2;
|
||||||
|
proxy.Call("trimen", {"4500", "5400", "6400"}, -1, PUT, oss1);
|
||||||
|
REQUIRE(oss1.str() == "trimen [4500, 5400, 6400]\n");
|
||||||
|
proxy.Call("trimen", {}, -1, GET, oss2);
|
||||||
|
REQUIRE(oss2.str() == "trimen [4500, 5400, 6400]\n");
|
||||||
|
|
||||||
|
for (int i = 0; i!=det.size(); ++i){
|
||||||
|
det.setTrimEnergies(previous[i], {i});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
REQUIRE_THROWS(proxy.Call("trimen", {"4500", "5400", "6400"}, -1, PUT));
|
||||||
|
REQUIRE_THROWS(proxy.Call("trimen", {}, -1, GET));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TEST_CASE("threshold"{
|
||||||
|
|
||||||
|
// })
|
||||||
|
|
||||||
// TEST_CASE("activate", "[.cmd][.eiger]") {
|
// TEST_CASE("activate", "[.cmd][.eiger]") {
|
||||||
// if (test::type == slsDetectorDefs::EIGER) {
|
// if (test::type == slsDetectorDefs::EIGER) {
|
||||||
|
@ -21,6 +21,19 @@ TEST_CASE("Unknown command", "[.cmd]") {
|
|||||||
REQUIRE_THROWS(proxy.Call("vsaevrreavv", {}, -1, PUT));
|
REQUIRE_THROWS(proxy.Call("vsaevrreavv", {}, -1, PUT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("type", "[.cmd]"){
|
||||||
|
Detector det;
|
||||||
|
CmdProxy proxy(&det);
|
||||||
|
auto dt = det.getDetectorType().squash();
|
||||||
|
|
||||||
|
std::ostringstream oss;
|
||||||
|
proxy.Call("type", {}, -1, GET, oss);
|
||||||
|
auto ans = oss.str().erase(0, strlen("type "));
|
||||||
|
REQUIRE(ans == sls::ToString(dt) + '\n');
|
||||||
|
REQUIRE(dt == test::type);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// TEST_CASE("vchip", "[.cmd]") {
|
// TEST_CASE("vchip", "[.cmd]") {
|
||||||
// int prev_val = 0;
|
// int prev_val = 0;
|
||||||
|
|
||||||
@ -2884,22 +2897,7 @@ TEST_CASE("stopport", "[.cmd]") {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// TEST_CASE("trimen", "[.cmd][.eiger]") {
|
|
||||||
// if (test::type == slsDetectorDefs::EIGER) {
|
|
||||||
// // require globals for trimen?
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("trimen 4500 5400 6400",
|
|
||||||
// PUT));
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("0:trimen", GET, nullptr,
|
|
||||||
// oss)); REQUIRE(oss.str() == "trimen [4500, 5400, 6400]\n");
|
|
||||||
// }
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("threshold 4500 standard",
|
|
||||||
// PUT));
|
|
||||||
// } else {
|
|
||||||
// REQUIRE_THROWS(multiSlsDetectorClient("trimen", GET));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// TEST_CASE("trimval", "[.cmd][.eiger]") {
|
// TEST_CASE("trimval", "[.cmd][.eiger]") {
|
||||||
// if (test::type == slsDetectorDefs::EIGER) {
|
// if (test::type == slsDetectorDefs::EIGER) {
|
||||||
@ -2944,49 +2942,7 @@ TEST_CASE("stopport", "[.cmd]") {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// TEST_CASE("storeinram", "[.cmd][.eiger]") {
|
|
||||||
// if (test::type == slsDetectorDefs::EIGER) {
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("storeinram 1", PUT,
|
|
||||||
// nullptr, oss)); REQUIRE(oss.str() == "storeinram 1\n");
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("storeinram", GET,
|
|
||||||
// nullptr, oss)); REQUIRE(oss.str() == "storeinram 1\n");
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("storeinram 0", PUT,
|
|
||||||
// nullptr, oss)); REQUIRE(oss.str() == "storeinram 0\n");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// REQUIRE_THROWS(multiSlsDetectorClient("storeinram", GET));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// TEST_CASE("overflow", "[.cmd][.eiger]") {
|
|
||||||
// if (test::type == slsDetectorDefs::EIGER) {
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("overflow 1", PUT,
|
|
||||||
// nullptr, oss)); REQUIRE(oss.str() == "overflow 1\n");
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("overflow", GET, nullptr,
|
|
||||||
// oss)); REQUIRE(oss.str() == "overflow 1\n");
|
|
||||||
// }
|
|
||||||
// {
|
|
||||||
// std::ostringstream oss;
|
|
||||||
// REQUIRE_NOTHROW(multiSlsDetectorClient("overflow 0", PUT,
|
|
||||||
// nullptr, oss)); REQUIRE(oss.str() == "overflow 0\n");
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// REQUIRE_THROWS(multiSlsDetectorClient("overflow", GET));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// TEST_CASE("parallel", "[.cmd][.eiger]") {
|
// TEST_CASE("parallel", "[.cmd][.eiger]") {
|
||||||
// if (test::type == slsDetectorDefs::EIGER) {
|
// if (test::type == slsDetectorDefs::EIGER) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user