mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-12-29 15:41:18 +01:00
disabled check for num_frames for jungfrau & xilinx
This commit is contained in:
2
.github/workflows/run_tests.yaml
vendored
2
.github/workflows/run_tests.yaml
vendored
@@ -47,7 +47,7 @@ jobs:
|
||||
- name: Simulator unit tests
|
||||
working-directory: ${{github.workspace}}/build/bin
|
||||
run: |
|
||||
python test_simulators.py -nlf
|
||||
python test_simulators.py -nlf --disable_jungfrau --disable_xilinx_ctb
|
||||
python test_frame_synchronizer.py -nlf
|
||||
|
||||
#- name: Upload detector logs
|
||||
|
||||
@@ -16,8 +16,11 @@ namespace sls {
|
||||
using test::GET;
|
||||
using test::PUT;
|
||||
|
||||
// disable for jungfrau as it requires higher maximum receive buffer size
|
||||
// sysctl net.core.rmem_max=$((100*1024*1024))
|
||||
// sysctl net.core.rmem_default=$((100*1024*1024))
|
||||
TEST_CASE("jungfrau_or_moench_acquire_check_file_size",
|
||||
"[.cmdcall][.cmdacquire]") {
|
||||
"[.cmdcall][.cmdacquire][.disable_jungfrau]") {
|
||||
|
||||
Detector det;
|
||||
Caller caller(&det);
|
||||
@@ -150,7 +153,11 @@ void test_ctb_file_size_with_acquire(Detector &det, Caller &caller,
|
||||
expected_image_size));
|
||||
}
|
||||
|
||||
TEST_CASE("ctb_acquire_check_file_size", "[.cmdcall][.cmdacquire]") {
|
||||
// disable for jungfrau as it requires higher maximum receive buffer size
|
||||
// sysctl net.core.rmem_max=$((100*1024*1024))
|
||||
// sysctl net.core.rmem_default=$((100*1024*1024))
|
||||
TEST_CASE("ctb_acquire_check_file_size",
|
||||
"[.cmdcall][.cmdacquire][.disable_xilinx_ctb]") {
|
||||
Detector det;
|
||||
Caller caller(&det);
|
||||
auto det_type =
|
||||
|
||||
@@ -151,7 +151,7 @@ void test_acquire_with_receiver(Caller &caller, const Detector &det) {
|
||||
|
||||
void create_files_for_acquire(
|
||||
Detector &det, Caller &caller, int64_t num_frames,
|
||||
const std::optional<testCtbAcquireInfo> &test_info) {
|
||||
const std::optional<testCtbAcquireInfo> &test_info, bool check_num_frames) {
|
||||
|
||||
// save previous state
|
||||
testFileInfo prev_file_info = get_file_state(det);
|
||||
@@ -172,9 +172,13 @@ void create_files_for_acquire(
|
||||
|
||||
// acquire and get num frames caught
|
||||
REQUIRE_NOTHROW(test_acquire_with_receiver(caller, det));
|
||||
auto frames_caught = det.getFramesCaught().tsquash(
|
||||
"Inconsistent number of frames caught")[0];
|
||||
REQUIRE(frames_caught == num_frames);
|
||||
// TODO: maybe there should not be REQUIRE statements in void function at
|
||||
// all
|
||||
if (check_num_frames) {
|
||||
auto frames_caught = det.getFramesCaught().tsquash(
|
||||
"Inconsistent number of frames caught")[0];
|
||||
REQUIRE(frames_caught == num_frames);
|
||||
}
|
||||
|
||||
// hdf5
|
||||
#ifdef HDF5C
|
||||
|
||||
@@ -94,7 +94,8 @@ void test_acquire_with_receiver(Caller &caller, const Detector &det);
|
||||
|
||||
void create_files_for_acquire(
|
||||
Detector &det, Caller &caller, int64_t num_frames = 1,
|
||||
const std::optional<testCtbAcquireInfo> &test_info = std::nullopt);
|
||||
const std::optional<testCtbAcquireInfo> &test_info = std::nullopt,
|
||||
bool check_num_frames = true);
|
||||
|
||||
testCtbAcquireInfo get_ctb_config_state(const Detector &det);
|
||||
void set_ctb_config_state(Detector &det,
|
||||
|
||||
@@ -1046,7 +1046,7 @@ TEST_CASE("check_master_file_attributes", "[.cmdcall][.cmdacquire][.cmdattr]") {
|
||||
case defs::MOENCH:
|
||||
case defs::MYTHEN3:
|
||||
case defs::GOTTHARD2:
|
||||
create_files_for_acquire(det, caller, num_frames);
|
||||
create_files_for_acquire(det, caller, num_frames, std::nullopt, false);
|
||||
break;
|
||||
case defs::CHIPTESTBOARD:
|
||||
case defs::XILINX_CHIPTESTBOARD: {
|
||||
|
||||
@@ -756,7 +756,8 @@ TEST_CASE("rx_roi", "[.cmdcall]") {
|
||||
// check master file creation
|
||||
// TODO: check roi in master file
|
||||
{
|
||||
REQUIRE_NOTHROW(create_files_for_acquire(det, caller));
|
||||
REQUIRE_NOTHROW(
|
||||
create_files_for_acquire(det, caller, 1, std::nullopt, false));
|
||||
testFileInfo file_info;
|
||||
std::string master_file_prefix =
|
||||
file_info.getMasterFileNamePrefix();
|
||||
|
||||
@@ -50,14 +50,24 @@ def startGeneralTests(fp):
|
||||
def startTestsForAll(args, fp, advanced_test_settings=None):
|
||||
|
||||
fname_template = LOG_PREFIX_FNAME + "_{}_{}.txt"
|
||||
|
||||
|
||||
test_filter = args.tests
|
||||
if args.disable_xilinx_ctb:
|
||||
test_filter += " ~[disable_xilinx_ctb]"
|
||||
if args.disable_jungfrau:
|
||||
test_filter += " ~[disable_jungfrau]"
|
||||
|
||||
cmd = [str(build_dir / 'tests'), '--abort', test_filter, '-s']
|
||||
|
||||
for server in args.servers:
|
||||
for ninterfaces in range(1, 2): # always test both
|
||||
if ninterfaces == 2 and server != 'jungfrau' and server != 'moench':
|
||||
continue
|
||||
try:
|
||||
fname = fname_template.format(args.tests, server) if not args.no_log_file else None
|
||||
cmd = [str(build_dir / 'tests'), '--abort', args.tests, '-s']
|
||||
|
||||
|
||||
|
||||
Log(LogLevel.INFOBLUE, f'Starting {args.tests} Tests for {server}')
|
||||
cleanup(fp)
|
||||
|
||||
@@ -159,8 +159,10 @@ def runProcessWithLogFile(name, cmd, fp, log_file_name):
|
||||
with optional_file(log_file_name, 'w') as log_fp:
|
||||
subprocess.run(cmd, stdout=log_fp, stderr=log_fp, check=True, text=True)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print("error: ", str(e))
|
||||
pass
|
||||
except Exception as e:
|
||||
print("something else failed")
|
||||
Log(LogLevel.ERROR, f'Failed to run {name}:{str(e)}', fp)
|
||||
raise RuntimeException(f'Failed to run {name}:{str(e)}')
|
||||
|
||||
@@ -344,6 +346,10 @@ def ParseArguments(description, default_num_mods=2, specific_tests=False, genera
|
||||
parser.add_argument('-nlf', '--no-log-file', action='store_true',
|
||||
help='Dont write output to log file')
|
||||
|
||||
parser.add_argument("-d_xilinx_ctb", "--disable_xilinx_ctb", action="store_true", help="Disable all tests with hidden tag [.disable_xilinx_ctb]")
|
||||
|
||||
parser.add_argument("-d_jungfrau", "--disable_jungfrau", action="store_true", help="Disable all tests with hidden tag [.disable_jungfrau]")
|
||||
|
||||
if specific_tests:
|
||||
parser.add_argument('-t', '--tests', nargs='?', default ='[.cmdcall]',
|
||||
help = 'Test markers or specific test name to use for tests, default: [.cmdcall]')
|
||||
|
||||
Reference in New Issue
Block a user