fix m3 tests

This commit is contained in:
2022-12-06 10:52:33 +01:00
parent 9874f596f6
commit 570a567a8c
2 changed files with 76 additions and 70 deletions

View File

@ -40,8 +40,10 @@ TEST_CASE("savepattern", "[.cmd]") {
det_type == defs::MYTHEN3) { det_type == defs::MYTHEN3) {
REQUIRE_THROWS( REQUIRE_THROWS(
proxy.Call("savepattern", {"/tmp/pattern.txt"}, -1, GET)); proxy.Call("savepattern", {"/tmp/pattern.txt"}, -1, GET));
REQUIRE_NOTHROW( if (det.size() == 1) {
proxy.Call("savepattern", {"/tmp/pattern.txt"}, -1, PUT)); REQUIRE_NOTHROW(
proxy.Call("savepattern", {"/tmp/pattern.txt"}, -1, PUT));
}
} else { } else {
REQUIRE_THROWS( REQUIRE_THROWS(
proxy.Call("savepattern", {"/tmp/pattern.txt"}, -1, PUT)); proxy.Call("savepattern", {"/tmp/pattern.txt"}, -1, PUT));

View File

@ -2302,82 +2302,86 @@ TEST_CASE("scan", "[.cmd]") {
// auto previous = det.getDAC(ind, false); // auto previous = det.getDAC(ind, false);
// auto notImplementedPrevious = det.getDAC(notImplementedInd, false); // auto notImplementedPrevious = det.getDAC(notImplementedInd, false);
{ if (det_type == defs::MYTHEN3 && det.size() > 1) {
std::ostringstream oss; ;// scan only allowed for single module due to sync
proxy.Call("scan", {ToString(ind), "500", "1500", "500"}, -1, PUT, oss); } else {
CHECK(oss.str() == "scan [" + ToString(ind) + ", 500, 1500, 500]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() == "scan [enabled\ndac " + ToString(ind) +
"\nstart 500\nstop 1500\nstep "
"500\nsettleTime 1ms\n]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {ToString(ind), "500", "1500", "500", "2s"}, -1, PUT,
oss);
CHECK(oss.str() ==
"scan [" + ToString(ind) + ", 500, 1500, 500, 2s]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() == "scan [enabled\ndac " + ToString(ind) +
"\nstart 500\nstop 1500\nstep "
"500\nsettleTime 2s\n]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {"0"}, -1, PUT, oss);
CHECK(oss.str() == "scan [0]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() == "scan [disabled]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {ToString(ind), "1500", "500", "-500"}, -1, PUT,
oss);
CHECK(oss.str() == "scan [" + ToString(ind) + ", 1500, 500, -500]\n");
}
CHECK_THROWS(proxy.Call(
"scan", {ToString(notImplementedInd), "500", "1500", "500"}, -1, PUT));
CHECK_THROWS(
proxy.Call("scan", {ToString(ind), "500", "1500", "-500"}, -1, PUT));
CHECK_THROWS(
proxy.Call("scan", {ToString(ind), "1500", "500", "500"}, -1, PUT));
if (det_type == defs::MYTHEN3 || defs::EIGER) {
{ {
std::ostringstream oss; std::ostringstream oss;
proxy.Call("scan", {"trimbits", "0", "63", "16", "2s"}, -1, PUT, proxy.Call("scan", {ToString(ind), "500", "1500", "500"}, -1, PUT, oss);
oss); CHECK(oss.str() == "scan [" + ToString(ind) + ", 500, 1500, 500]\n");
CHECK(oss.str() == "scan [trimbits, 0, 63, 16, 2s]\n");
} }
{ {
std::ostringstream oss; std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss); proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() == CHECK(oss.str() == "scan [enabled\ndac " + ToString(ind) +
"scan [enabled\ndac trimbits\nstart 0\nstop 48\nstep " "\nstart 500\nstop 1500\nstep "
"16\nsettleTime 2s\n]\n"); "500\nsettleTime 1ms\n]\n");
} }
{
std::ostringstream oss;
proxy.Call("scan", {ToString(ind), "500", "1500", "500", "2s"}, -1, PUT,
oss);
CHECK(oss.str() ==
"scan [" + ToString(ind) + ", 500, 1500, 500, 2s]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() == "scan [enabled\ndac " + ToString(ind) +
"\nstart 500\nstop 1500\nstep "
"500\nsettleTime 2s\n]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {"0"}, -1, PUT, oss);
CHECK(oss.str() == "scan [0]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() == "scan [disabled]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {ToString(ind), "1500", "500", "-500"}, -1, PUT,
oss);
CHECK(oss.str() == "scan [" + ToString(ind) + ", 1500, 500, -500]\n");
}
CHECK_THROWS(proxy.Call(
"scan", {ToString(notImplementedInd), "500", "1500", "500"}, -1, PUT));
CHECK_THROWS(
proxy.Call("scan", {ToString(ind), "500", "1500", "-500"}, -1, PUT));
CHECK_THROWS(
proxy.Call("scan", {ToString(ind), "1500", "500", "500"}, -1, PUT));
if (det_type == defs::MYTHEN3 || defs::EIGER) {
{
std::ostringstream oss;
proxy.Call("scan", {"trimbits", "0", "63", "16", "2s"}, -1, PUT,
oss);
CHECK(oss.str() == "scan [trimbits, 0, 63, 16, 2s]\n");
}
{
std::ostringstream oss;
proxy.Call("scan", {}, -1, GET, oss);
CHECK(oss.str() ==
"scan [enabled\ndac trimbits\nstart 0\nstop 48\nstep "
"16\nsettleTime 2s\n]\n");
}
}
// Switch off scan for future tests
det.setScan(defs::scanParameters());
// acquire for each?
// when taking acquisition
// Reset all dacs to previous value
// for (int i = 0; i != det.size(); ++i) {
// det.setDAC(ind, previous[i], false, {i});
// det.setDAC(notImplementedInd, notImplementedPrevious[i], false,
// {i});
// }
} }
// Switch off scan for future tests
det.setScan(defs::scanParameters());
// acquire for each?
// when taking acquisition
// Reset all dacs to previous value
// for (int i = 0; i != det.size(); ++i) {
// det.setDAC(ind, previous[i], false, {i});
// det.setDAC(notImplementedInd, notImplementedPrevious[i], false,
// {i});
// }
} }
TEST_CASE("scanerrmsg", "[.cmd]") { TEST_CASE("scanerrmsg", "[.cmd]") {