From be3d82b7b4d9f94d0a300b78011d260da6555efa Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Wed, 4 Dec 2019 10:25:17 +0100 Subject: [PATCH] format --- .../tests/test-CmdProxy-eiger.cpp | 58 +++++++++--- slsDetectorSoftware/tests/test-CmdProxy.cpp | 93 ++++++++++--------- 2 files changed, 94 insertions(+), 57 deletions(-) diff --git a/slsDetectorSoftware/tests/test-CmdProxy-eiger.cpp b/slsDetectorSoftware/tests/test-CmdProxy-eiger.cpp index 992885e03..4bfa3c1d1 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy-eiger.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy-eiger.cpp @@ -13,6 +13,45 @@ using sls::Detector; using test::GET; using test::PUT; +TEST_CASE("Eiger transmission delay") { + Detector det; + CmdProxy proxy(&det); + auto det_type = det.getDetectorType().squash(); + auto frame = det.getTransmissionDelayFrame(); + auto left = det.getTransmissionDelayLeft(); + auto right = det.getTransmissionDelayRight(); + if (det_type == defs::EIGER) { + SECTION("txndelay_frame") { + std::ostringstream oss1, oss2; + proxy.Call("txndelay_frame", {"5000"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "txndealy_frame 5000\n"); + proxy.Call("txndelay_frame", {}, -1, GET, oss2); + REQUIRE(oss2.str() == "txndealy_frame 5000\n"); + } + SECTION("txndelay_left") { + std::ostringstream oss1, oss2; + proxy.Call("txndelay_left", {"5000"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "txndelay_left 5000\n"); + proxy.Call("txndelay_frame", {}, -1, GET, oss2); + REQUIRE(oss2.str() == "txndelay_left 5000\n"); + } + SECTION("txndelay_right") { + std::ostringstream oss1, oss2; + proxy.Call("txndelay_right", {"5000"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "txndelay_right 5000\n"); + proxy.Call("txndelay_right", {}, -1, GET, oss2); + REQUIRE(oss2.str() == "txndelay_right 5000\n"); + } + } + + //Reset to previous values + for (int i=0; i!=det.size(); ++i){ + det.setTransmissionDelayFrame(frame[i]); + det.setTransmissionDelayLeft(left[i]); + det.setTransmissionDelayRight(right[i]); + } +} + TEST_CASE("dr", "[.cmd]") { Detector det; CmdProxy proxy(&det); @@ -117,17 +156,17 @@ TEST_CASE("subexptime", "[.cmd]") { CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); - if (det_type == defs::EIGER){ + if (det_type == defs::EIGER) { auto time = det.getSubExptime(); std::ostringstream oss1, oss2; proxy.Call("subexptime", {"2.5us"}, -1, PUT, oss1); REQUIRE(oss1.str() == "subexptime 2.5us\n"); proxy.Call("subexptime", {}, -1, GET, oss2); REQUIRE(oss2.str() == "subexptime 2.5us\n"); - for (int i = 0; i!=det.size(); ++i){ + for (int i = 0; i != det.size(); ++i) { det.setSubExptime(time[i], {i}); } - }else{ + } else { REQUIRE_THROWS(proxy.Call("subexptime", {}, -1, GET)); REQUIRE_THROWS(proxy.Call("subexptime", {"2.13"}, -1, PUT)); } @@ -137,32 +176,29 @@ TEST_CASE("subdeadtime", "[.cmd]") { Detector det; CmdProxy proxy(&det); - - auto det_type = det.getDetectorType().squash(); - if (det_type == defs::EIGER){ + if (det_type == defs::EIGER) { auto time = det.getSubDeadTime(); std::ostringstream oss1, oss2; proxy.Call("subdeadtime", {"500us"}, -1, PUT, oss1); REQUIRE(oss1.str() == "subdeadtime 500us\n"); proxy.Call("subdeadtime", {}, -1, GET, oss2); REQUIRE(oss2.str() == "subdeadtime 500us\n"); - for (int i = 0; i!=det.size(); ++i){ + for (int i = 0; i != det.size(); ++i) { det.setSubDeadTime(time[i], {i}); } - }else{ + } else { REQUIRE_THROWS(proxy.Call("subdeadtime", {}, -1, GET)); REQUIRE_THROWS(proxy.Call("subdeadtime", {"2.13"}, -1, PUT)); } } - TEST_CASE("tengiga", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); - if (det_type == defs::EIGER || det_type == defs::CHIPTESTBOARD){ + if (det_type == defs::EIGER || det_type == defs::CHIPTESTBOARD) { auto tengiga = det.getTenGiga(); det.setTenGiga(false); @@ -172,7 +208,7 @@ TEST_CASE("tengiga", "[.cmd]") { proxy.Call("tengiga", {}, -1, GET, oss2); REQUIRE(oss2.str() == "tengiga 1\n"); - for (int i = 0; i!=det.size(); ++i){ + for (int i = 0; i != det.size(); ++i) { det.setTenGiga(tengiga[i], {i}); } } diff --git a/slsDetectorSoftware/tests/test-CmdProxy.cpp b/slsDetectorSoftware/tests/test-CmdProxy.cpp index ffbfaeab2..eb59b1b7a 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy.cpp @@ -14,8 +14,7 @@ using sls::Detector; using test::GET; using test::PUT; -TEST_CASE("Unknown command", "[.cmd]"){ - +TEST_CASE("Unknown command", "[.cmd]") { Detector det; CmdProxy proxy(&det); @@ -2799,8 +2798,6 @@ TEST_CASE("stopport", "[.cmd]") { // } // } - - // TEST_CASE("measuredsubperiod", "[.cmd][.eiger]") { // if (test::type == slsDetectorDefs::EIGER) { // REQUIRE_NOTHROW(multiSlsDetectorClient("frames 1", PUT)); @@ -2839,8 +2836,6 @@ TEST_CASE("stopport", "[.cmd]") { // } // } - - // TEST_CASE("readnlines", "[.cmd][.eiger]") { // if (test::type == slsDetectorDefs::EIGER) { // { @@ -3047,57 +3042,66 @@ TEST_CASE("stopport", "[.cmd]") { // oss)); s = oss.str(); REQUIRE_NOTHROW(multiSlsDetectorClient(s, PUT)); // } - - - - - - TEST_CASE("zmqip", "[.cmd]") { Detector det; CmdProxy proxy(&det); std::ostringstream oss1, oss2; - auto zmqip = det.getClientZmqIp(); + auto zmqip = det.getClientZmqIp(); proxy.Call("zmqip", {}, 0, GET, oss1); REQUIRE(oss1.str() == "zmqip " + zmqip[0].str() + '\n'); proxy.Call("zmqip", {zmqip[0].str()}, 0, PUT, oss2); REQUIRE(oss2.str() == "zmqip " + zmqip[0].str() + '\n'); - for (int i = 0; i!=det.size(); ++i){ + for (int i = 0; i != det.size(); ++i) { det.setRxZmqIP(zmqip[i], {i}); } } -// TEST_CASE("zmqport", "[.cmd]") { -// multiSlsDetector d; -// int socketsperdetector = 1; -// if (test::type == slsDetectorDefs::EIGER) { -// socketsperdetector *= 2; -// } else if (test::type == slsDetectorDefs::JUNGFRAU) { -// REQUIRE_NOTHROW(multiSlsDetectorClient("numinterfaces 2", PUT)); -// socketsperdetector *= 2; -// } -// int port = 3500; -// REQUIRE_NOTHROW(multiSlsDetectorClient("zmqport " + std::to_string(port), -// PUT)); for (int i = 0; i != d.size(); ++i) { -// std::ostringstream oss; -// REQUIRE_NOTHROW(multiSlsDetectorClient(std::to_string(i) + -// ":zmqport", GET, nullptr, oss)); REQUIRE(oss.str() == "zmqport " + -// std::to_string(port + i * socketsperdetector) + '\n'); -// } -// port = 1954; -// REQUIRE_NOTHROW(multiSlsDetectorClient("zmqport " + std::to_string(port), -// PUT)); for (int i = 0; i != d.size(); ++i) { -// std::ostringstream oss; -// REQUIRE_NOTHROW(multiSlsDetectorClient(std::to_string(i) + -// ":zmqport", GET, nullptr, oss)); REQUIRE(oss.str() == "zmqport " + -// std::to_string(port + i * socketsperdetector) + '\n'); -// } -// if (test::type == slsDetectorDefs::JUNGFRAU) { -// REQUIRE_NOTHROW(multiSlsDetectorClient("numinterfaces 1", PUT)); -// } -// } +TEST_CASE("zmqport") { + Detector det; + CmdProxy proxy(&det); + + int socketsperdetector = 1; + auto det_type = det.getDetectorType().squash(); + int prev; + if (det_type == slsDetectorDefs::EIGER) { + socketsperdetector *= 2; + } else if (det_type == slsDetectorDefs::JUNGFRAU) { + prev = det.getNumberofUDPInterfaces().squash(); + det.setNumberofUDPInterfaces(2); + socketsperdetector *= 2; + } + int port = 3500; + auto port_str = std::to_string(port); + { + std::ostringstream oss; + proxy.Call("zmqport", {port_str}, -1, PUT, oss); + REQUIRE(oss.str() == "zmqport " + port_str + '\n'); + } + for (int i = 0; i != det.size(); ++i) { + std::ostringstream oss; + proxy.Call("zmqport", {}, i, GET, oss); + REQUIRE(oss.str() == "zmqport " + std::to_string(port + i * socketsperdetector) + '\n'); + } + + port = 1954; + port_str = std::to_string(port); + { + std::ostringstream oss; + proxy.Call("zmqport", {port_str}, -1, PUT, oss); + REQUIRE(oss.str() == "zmqport " + port_str + '\n'); + } + for (int i = 0; i != det.size(); ++i) { + std::ostringstream oss; + proxy.Call("zmqport", {}, i, GET, oss); + REQUIRE(oss.str() == "zmqport " + std::to_string(port + i * socketsperdetector) + '\n'); + } + if (det_type == slsDetectorDefs::JUNGFRAU) { + det.setNumberofUDPInterfaces(prev); + } +} + TEST_CASE("fpath", "[.cmd]") { Detector det; @@ -3134,7 +3138,6 @@ TEST_CASE("fformat", "[.cmd]") { } } - // TEST_CASE("txndelay", "[.cmd][.eiger][.jungfrau]") { // if (test::type == slsDetectorDefs::EIGER) { // { @@ -3216,8 +3219,6 @@ TEST_CASE("fformat", "[.cmd]") { // } // } - - // TEST_CASE("network", "[.cmd]") { // /* {TODO custom srcip in globals // REQUIRE_NOTHROW(multiSlsDetectorClient("0:udp_srcip 129.129.205.203",