From 80d31bbb10c45fed119c37e0fc8539f560cfea19 Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 16 Mar 2022 11:35:27 +0100 Subject: [PATCH] added tests --- RELEASE.txt | 2 ++ slsDetectorSoftware/tests/test-CmdProxy.cpp | 35 +++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/RELEASE.txt b/RELEASE.txt index 23e0e1ade..2f9b0e55b 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -42,6 +42,8 @@ This document describes the differences between v7.0.0 and v6.x.x - start non blocking acquisition at modular level - hostname cmd failed when connecting to servers in update mode (ctb, moench, jungfrau, eiger) - missingpackets signed (negative => extra packets) +- 10g eiger nextframenumber get fixed. +- stop, able to set nextframenumber to a consistent (max + 1) for all modules if different (eiger/ctb/jungfrau/moench) 2. Resolved Issues diff --git a/slsDetectorSoftware/tests/test-CmdProxy.cpp b/slsDetectorSoftware/tests/test-CmdProxy.cpp index 4a593eb95..c0565d471 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy.cpp @@ -2126,6 +2126,41 @@ TEST_CASE("nextframenumber", "[.cmd]") { proxy.Call("nextframenumber", {"1"}, -1, PUT, oss); REQUIRE(oss.str() == "nextframenumber 1\n"); } + + auto prev_timing = + det.getTimingMode().tsquash("inconsistent timing mode in test"); + auto prev_frames = + det.getNumberOfFrames().tsquash("inconsistent #frames in test"); + auto prev_exptime = + det.getExptime().tsquash("inconsistent exptime in test"); + auto prev_period = + det.getPeriod().tsquash("inconsistent period in test"); + det.setTimingMode(defs::AUTO_TIMING); + det.setNumberOfFrames(1); + det.setExptime(std::chrono::microseconds(200)); + det.setPeriod(std::chrono::milliseconds(1)); + det.startDetector(); + std::this_thread::sleep_for(std::chrono::seconds(2)); + auto currentfnum = + det.getNextFrameNumber().tsquash("inconsistent frame nr in test"); + REQUIRE(currentfnum == 2); + if (det_type == defs::EIGER) { + auto prev_tengiga = + det.getTenGiga().tsquash("inconsistent ten giga enable"); + det.setTenGiga(true); + det.setNextFrameNumber(1); + det.startDetector(); + std::this_thread::sleep_for(std::chrono::seconds(2)); + auto currentfnum = det.getNextFrameNumber().tsquash( + "inconsistent frame nr in test"); + REQUIRE(currentfnum == 2); + det.setTenGiga(prev_tengiga); + } + + det.setTimingMode(prev_timing); + det.setNumberOfFrames(prev_frames); + det.setExptime(prev_exptime); + det.setPeriod(prev_period); for (int i = 0; i != det.size(); ++i) { det.setNextFrameNumber(prev_sfnum[i], {i}); }