mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-20 02:40:03 +02:00
more tests
This commit is contained in:
parent
83010de9f4
commit
262b4b0b16
@ -1331,6 +1331,9 @@ int* getDetectorPosition() {
|
|||||||
// Detector Specific
|
// Detector Specific
|
||||||
|
|
||||||
int checkDetectorType() {
|
int checkDetectorType() {
|
||||||
|
#ifdef VIRTUAL
|
||||||
|
return OK;
|
||||||
|
#endif
|
||||||
LOG(logINFO, ("Checking type of module\n"));
|
LOG(logINFO, ("Checking type of module\n"));
|
||||||
FILE* fd = fopen(TYPE_FILE_NAME, "r");
|
FILE* fd = fopen(TYPE_FILE_NAME, "r");
|
||||||
if (fd == NULL) {
|
if (fd == NULL) {
|
||||||
|
@ -1098,11 +1098,6 @@ int getADC(enum ADCINDEX ind){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int setHighVoltage(int val){
|
int setHighVoltage(int val){
|
||||||
#ifdef VIRTUAL
|
|
||||||
if (val >= 0)
|
|
||||||
highvoltage = val;
|
|
||||||
return highvoltage;
|
|
||||||
#endif
|
|
||||||
u_int32_t addr = HV_REG;
|
u_int32_t addr = HV_REG;
|
||||||
u_int32_t sel = 0x0;
|
u_int32_t sel = 0x0;
|
||||||
|
|
||||||
|
@ -1284,7 +1284,9 @@ int powerChip (int on){
|
|||||||
bus_w(CHIP_POWER_REG, bus_r(CHIP_POWER_REG) & ~CHIP_POWER_ENABLE_MSK);
|
bus_w(CHIP_POWER_REG, bus_r(CHIP_POWER_REG) & ~CHIP_POWER_ENABLE_MSK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef VIRTUAL
|
||||||
|
return ((bus_r(CHIP_POWER_REG) & CHIP_POWER_ENABLE_MSK) >> CHIP_POWER_ENABLE_OFST);
|
||||||
|
#endif
|
||||||
return ((bus_r(CHIP_POWER_REG) & CHIP_POWER_STATUS_MSK) >> CHIP_POWER_STATUS_OFST);
|
return ((bus_r(CHIP_POWER_REG) & CHIP_POWER_STATUS_MSK) >> CHIP_POWER_STATUS_OFST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1112,6 +1112,9 @@ uint64_t getPatternBitMask() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int checkDetectorType() {
|
int checkDetectorType() {
|
||||||
|
#ifdef VIRTUAL
|
||||||
|
return OK;
|
||||||
|
#endif
|
||||||
LOG(logINFO, ("Checking type of module\n"));
|
LOG(logINFO, ("Checking type of module\n"));
|
||||||
FILE* fd = fopen(TYPE_FILE_NAME, "r");
|
FILE* fd = fopen(TYPE_FILE_NAME, "r");
|
||||||
if (fd == NULL) {
|
if (fd == NULL) {
|
||||||
|
@ -13,37 +13,7 @@ using sls::Detector;
|
|||||||
using test::GET;
|
using test::GET;
|
||||||
using test::PUT;
|
using test::PUT;
|
||||||
|
|
||||||
TEST_CASE("powerchip", "[.cmd][!mayfail]") {
|
|
||||||
// TODO! this test currently fails with the
|
|
||||||
// virtual detecto server
|
|
||||||
Detector det;
|
|
||||||
CmdProxy proxy(&det);
|
|
||||||
auto det_type = det.getDetectorType().squash();
|
|
||||||
|
|
||||||
if (det_type == defs::JUNGFRAU) {
|
|
||||||
auto pc = det.getPowerChip();
|
|
||||||
{
|
|
||||||
std::ostringstream oss;
|
|
||||||
proxy.Call("powerchip", {"1"}, -1, PUT, oss);
|
|
||||||
REQUIRE(oss.str() == "powerchip 1\n");
|
|
||||||
}
|
|
||||||
{
|
|
||||||
std::ostringstream oss;
|
|
||||||
proxy.Call("powerchip", {"0"}, -1, PUT, oss);
|
|
||||||
REQUIRE(oss.str() == "powerchip 0\n");
|
|
||||||
}
|
|
||||||
{
|
|
||||||
std::ostringstream oss;
|
|
||||||
proxy.Call("powerchip", {}, -1, GET, oss);
|
|
||||||
REQUIRE(oss.str() == "powerchip 0\n");
|
|
||||||
}
|
|
||||||
for (int i = 0; i != det.size(); ++i) {
|
|
||||||
det.setPowerChip(pc[i], {i});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
REQUIRE_THROWS(proxy.Call("powerchip", {}, -1, GET));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST_CASE("nframes", "[.cmd]") {
|
TEST_CASE("nframes", "[.cmd]") {
|
||||||
Detector det;
|
Detector det;
|
||||||
|
@ -702,26 +702,26 @@ TEST_CASE("vhighvoltage", "[.cmd][.new]") {
|
|||||||
else if (det_type == defs::EIGER) {
|
else if (det_type == defs::EIGER) {
|
||||||
{
|
{
|
||||||
std::ostringstream oss1, oss2;
|
std::ostringstream oss1, oss2;
|
||||||
proxy.Call("vhighvoltage", {"50"}, -1, PUT, oss1);
|
proxy.Call("vhighvoltage", {"50"}, 0, PUT, oss1);
|
||||||
REQUIRE(oss1.str() == "vhighvoltage 50\n");
|
REQUIRE(oss1.str() == "vhighvoltage 50\n");
|
||||||
std::this_thread::sleep_for(std::chrono::seconds(2));
|
std::this_thread::sleep_for(std::chrono::seconds(2));
|
||||||
proxy.Call("vhighvoltage", {}, -1, GET, oss2);
|
proxy.Call("vhighvoltage", {}, 0, GET, oss2);
|
||||||
REQUIRE(oss2.str() == "vhighvoltage 50\n");
|
REQUIRE(oss2.str() == "vhighvoltage 50\n");
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
std::ostringstream oss1, oss2;
|
std::ostringstream oss1, oss2;
|
||||||
proxy.Call("vhighvoltage", {"120"}, -1, PUT, oss1);
|
proxy.Call("vhighvoltage", {"120"}, 0, PUT, oss1);
|
||||||
REQUIRE(oss1.str() == "vhighvoltage 120\n");
|
REQUIRE(oss1.str() == "vhighvoltage 120\n");
|
||||||
std::this_thread::sleep_for(std::chrono::seconds(2));
|
std::this_thread::sleep_for(std::chrono::seconds(2));
|
||||||
proxy.Call("vhighvoltage", {}, -1, GET, oss2);
|
proxy.Call("vhighvoltage", {}, 0, GET, oss2);
|
||||||
REQUIRE(oss2.str() == "vhighvoltage 120\n");
|
REQUIRE(oss2.str() == "vhighvoltage 120\n");
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
std::ostringstream oss1, oss2;
|
std::ostringstream oss1, oss2;
|
||||||
proxy.Call("vhighvoltage", {"0"}, -1, PUT, oss1);
|
proxy.Call("vhighvoltage", {"0"}, 0, PUT, oss1);
|
||||||
REQUIRE(oss1.str() == "vhighvoltage 0\n");
|
REQUIRE(oss1.str() == "vhighvoltage 0\n");
|
||||||
std::this_thread::sleep_for(std::chrono::seconds(2));
|
std::this_thread::sleep_for(std::chrono::seconds(2));
|
||||||
proxy.Call("vhighvoltage", {}, -1, GET, oss2);
|
proxy.Call("vhighvoltage", {}, 0, GET, oss2);
|
||||||
REQUIRE(oss2.str() == "vhighvoltage 0\n");
|
REQUIRE(oss2.str() == "vhighvoltage 0\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -754,9 +754,70 @@ TEST_CASE("vhighvoltage", "[.cmd][.new]") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("powerchip", "[.cmd][.new]") {
|
||||||
|
// TODO! this test currently fails with the
|
||||||
|
// virtual detecto server
|
||||||
|
Detector det;
|
||||||
|
CmdProxy proxy(&det);
|
||||||
|
auto det_type = det.getDetectorType().squash();
|
||||||
|
|
||||||
|
if (det_type == defs::JUNGFRAU ||
|
||||||
|
det_type == defs::MYTHEN3 ||
|
||||||
|
det_type == defs::GOTTHARD2 ||
|
||||||
|
det_type == defs::MOENCH) {
|
||||||
|
auto prev_val = det.getPowerChip();
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
proxy.Call("powerchip", {"1"}, -1, PUT, oss);
|
||||||
|
REQUIRE(oss.str() == "powerchip 1\n");
|
||||||
|
}
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
proxy.Call("powerchip", {"0"}, -1, PUT, oss);
|
||||||
|
REQUIRE(oss.str() == "powerchip 0\n");
|
||||||
|
}
|
||||||
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
proxy.Call("powerchip", {}, -1, GET, oss);
|
||||||
|
REQUIRE(oss.str() == "powerchip 0\n");
|
||||||
|
}
|
||||||
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
|
det.setPowerChip(prev_val[i], {i});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
REQUIRE_THROWS(proxy.Call("powerchip", {}, -1, GET));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("imagetest", "[.cmd][.new]") {
|
||||||
|
Detector det;
|
||||||
|
CmdProxy proxy(&det);
|
||||||
|
auto det_type = det.getDetectorType().squash();
|
||||||
|
if (det_type == defs::GOTTHARD) {
|
||||||
|
auto prev_val = det.getImageTestMode();
|
||||||
|
{
|
||||||
|
std::ostringstream oss1, oss2;
|
||||||
|
proxy.Call("imagetest", {"1"}, -1, PUT, oss1);
|
||||||
|
REQUIRE(oss1.str() == "imagetest 1\n");
|
||||||
|
proxy.Call("imagetest", {}, -1, GET, oss2);
|
||||||
|
REQUIRE(oss2.str() == "imagetest 1\n");
|
||||||
|
}
|
||||||
|
{
|
||||||
|
std::ostringstream oss1, oss2;
|
||||||
|
proxy.Call("imagetest", {"0"}, -1, PUT, oss1);
|
||||||
|
REQUIRE(oss1.str() == "imagetest 0\n");
|
||||||
|
proxy.Call("imagetest", {}, -1, GET, oss2);
|
||||||
|
REQUIRE(oss2.str() == "imagetest 0\n");
|
||||||
|
}
|
||||||
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
|
det.setImageTestMode(prev_val[i], {i});
|
||||||
|
}
|
||||||
|
} else if (det_type != defs::JUNGFRAU &&
|
||||||
|
det_type != defs::EIGER) {
|
||||||
|
// wont fail for eiger and jungfrau virtual servers
|
||||||
|
REQUIRE_THROWS(proxy.Call("imagetest", {}, -1, GET));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user