Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions integtest/3ru_1df_multirun_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
number_of_readout_apps = 3
run_duration = 20 # seconds
trigger_rate = 1 # Hz
data_rate_slowdown_factor = 1
ta_prescale = 100

# Default values for validation parameters
Expand Down Expand Up @@ -113,16 +112,9 @@
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.dro_map_config.n_apps = number_of_readout_apps
conf_dict.op_env = "integtest"
conf_dict.session = "3ru1df"
conf_dict.config_session_name = "3ru1df"
conf_dict.tpg_enabled = False

conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_id=conf_dict.session,
obj_class="Session",
updates={"data_rate_slowdown_factor": data_rate_slowdown_factor},
)
)
conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_class="RandomTCMakerConf",
Expand Down
10 changes: 1 addition & 9 deletions integtest/3ru_3df_multirun_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
number_of_dataflow_apps = 3
trigger_rate = 3.0 # Hz
run_duration = 20 # seconds
data_rate_slowdown_factor = 1
ta_prescale = 100

# Default values for validation parameters
Expand Down Expand Up @@ -139,17 +138,10 @@
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.dro_map_config.n_apps = number_of_readout_apps
conf_dict.op_env = "integtest"
conf_dict.session = "3ru3df"
conf_dict.config_session_name = "3ru3df"
conf_dict.tpg_enabled = False
conf_dict.n_df_apps = number_of_dataflow_apps

conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_id=conf_dict.session,
obj_class="Session",
updates={"data_rate_slowdown_factor": data_rate_slowdown_factor},
)
)
conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_class="RandomTCMakerConf",
Expand Down
23 changes: 11 additions & 12 deletions integtest/example_system_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,20 +109,20 @@
)

onebyone_local_conf = copy.deepcopy(common_config_obj)
onebyone_local_conf.session = "local-1x1-config"
onebyone_local_conf.config_session_name = "local-1x1-config"

twobythree_local_conf = copy.deepcopy(common_config_obj)
twobythree_local_conf.session = "local-2x3-config"
twobythree_local_conf.config_session_name = "local-2x3-config"

username=os.environ.get("USER")
onebyone_ehn1_conf = copy.deepcopy(common_config_obj)
onebyone_ehn1_conf.session = "ehn1-local-1x1-config"
onebyone_ehn1_conf.session_name = f"ehn1-local-1x1-config-{username}-{''.join(random.choices(string.ascii_letters, k=4))}"
onebyone_ehn1_conf.config_session_name = "ehn1-local-1x1-config"
onebyone_ehn1_conf.daq_session_name = f"ehn1-local-1x1-config-{username}-{''.join(random.choices(string.ascii_letters, k=4))}"
onebyone_ehn1_conf.connsvc_port = None

twobythree_ehn1_conf = copy.deepcopy(common_config_obj)
twobythree_ehn1_conf.session = "ehn1-local-2x3-config"
twobythree_ehn1_conf.session_name = f"ehn1-local-2x3-config-{username}-{''.join(random.choices(string.ascii_letters, k=4))}"
twobythree_ehn1_conf.config_session_name = "ehn1-local-2x3-config"
twobythree_ehn1_conf.daq_session_name = f"ehn1-local-2x3-config-{username}-{''.join(random.choices(string.ascii_letters, k=4))}"
twobythree_ehn1_conf.connsvc_port = None

def host_is_at_ehn1(hostname):
Expand Down Expand Up @@ -179,24 +179,23 @@ def test_log_files(run_dunerc):
f"This computer ({hostname}) is not at EHN1, not running EHN1 sessions"
)

session_name = run_dunerc.session_name if run_dunerc.session_name is not None else run_dunerc.session
if host_is_at_ehn1(hostname) and "EHN1" in current_test:
log_dir = pathlib.Path("/log")
run_dunerc.log_files += list(log_dir.glob(f"log_*_{session_name}*.txt"))
run_dunerc.log_files += list(log_dir.glob(f"log_*_{run_dunerc.daq_session_name}*.txt"))

# Check that at least some of the expected log files are present
assert any(
f"{session_name}_df-01" in str(logname)
f"{run_dunerc.daq_session_name}_df-01" in str(logname)
for logname in run_dunerc.log_files
)
assert any(
f"{session_name}_dfo" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_dfo" in str(logname) for logname in run_dunerc.log_files
)
assert any(
f"{session_name}_mlt" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_mlt" in str(logname) for logname in run_dunerc.log_files
)
assert any(
f"{session_name}_ru" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_ru" in str(logname) for logname in run_dunerc.log_files
)

if check_for_logfile_errors:
Expand Down
2 changes: 1 addition & 1 deletion integtest/fake_data_producer_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

conf_dict = data_classes.drunc_config()
conf_dict.op_env = "integtest"
conf_dict.session = "fakedata"
conf_dict.config_session_name = "fakedata"
conf_dict.use_fakedataprod = True
conf_dict.dro_map_config.n_streams = number_of_data_producers

Expand Down
10 changes: 1 addition & 9 deletions integtest/long_window_readout_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
trigger_record_sequence_length = 500000 # intention is 8 msec
tr_queue_size = token_count * (readout_window_time_before + readout_window_time_after) / trigger_record_sequence_length / number_of_dataflow_apps
latency_buffer_size = 600000
data_rate_slowdown_factor = 1

# Default values for validation parameters
expected_number_of_data_files = 4 * number_of_dataflow_apps
Expand Down Expand Up @@ -98,18 +97,11 @@
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.dro_map_config.n_apps = number_of_readout_apps
conf_dict.op_env = "integtest"
conf_dict.session = "longwindow"
conf_dict.config_session_name = "longwindow"
conf_dict.tpg_enabled = False
conf_dict.n_df_apps = number_of_dataflow_apps
conf_dict.fake_hsi_enabled = False

conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_id=conf_dict.session,
obj_class="Session",
updates={"data_rate_slowdown_factor": data_rate_slowdown_factor},
)
)
conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_class="LatencyBuffer", updates={"size": latency_buffer_size}
Expand Down
14 changes: 6 additions & 8 deletions integtest/minimal_system_quick_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

# Values that help determine the running conditions
number_of_data_producers = 2
data_rate_slowdown_factor = 1 # 10 for ProtoWIB/DuneWIB
run_duration = 20 # seconds
readout_window_time_before = 1000
readout_window_time_after = 1001
Expand Down Expand Up @@ -81,7 +80,7 @@
conf_dict = data_classes.drunc_config()
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.op_env = "integtest"
conf_dict.session = "minimal"
conf_dict.config_session_name = "minimal"
conf_dict.tpg_enabled = False

# For testing, allow drunc to manage ConnectivityService (default is False, integrationtest manages Connectivity Service)
Expand Down Expand Up @@ -136,17 +135,17 @@ def test_dunerc_success(run_dunerc):
def test_log_files(run_dunerc):
# Check that at least some of the expected log files are present
assert any(
f"{run_dunerc.session}_df-01" in str(logname)
f"{run_dunerc.daq_session_name}_df-01" in str(logname)
for logname in run_dunerc.log_files
)
assert any(
f"{run_dunerc.session}_dfo" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_dfo" in str(logname) for logname in run_dunerc.log_files
)
assert any(
f"{run_dunerc.session}_mlt" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_mlt" in str(logname) for logname in run_dunerc.log_files
)
assert any(
f"{run_dunerc.session}_ru" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_ru" in str(logname) for logname in run_dunerc.log_files
)

if check_for_logfile_errors:
Expand Down Expand Up @@ -225,10 +224,9 @@ def test_metric_files(run_dunerc):
except AttributeError:
pass

session_name = run_dunerc.session_name if run_dunerc.session_name else run_dunerc.session
metric_data = opmon_metric_checks.collate_opmon_data_from_files(run_dunerc.opmon_files)

metric_key_list = [session_name, "df-01", "df-01-trb", "dfmodules.TRBInfo", "generated_trigger_records"]
metric_key_list = [run_dunerc.daq_session_name, "df-01", "df-01-trb", "dfmodules.TRBInfo", "generated_trigger_records"]
all_ok = True
# a 20-second run will likely result in 3 metric samples (at 10-second intervals), so a range
# of 1..5 should always succeed
Expand Down
10 changes: 1 addition & 9 deletions integtest/readout_type_scan_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
# Values that help determine the running conditions
number_of_data_producers = 2
run_duration = 20 # seconds
data_rate_slowdown_factor = 10 # is this still used anywhere? (KAB, 28-Apr-2050)

# Default values for validation parameters
expected_number_of_data_files = 1
Expand Down Expand Up @@ -184,17 +183,10 @@
conf_dict = data_classes.drunc_config()
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.op_env = "integtest"
conf_dict.session = "readout"
conf_dict.config_session_name = "readout"
conf_dict.tpg_enabled = False
conf_dict.frame_file = "asset://?label=ProtoWIB&subsystem=readout" # ProtoWIB

conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_id=conf_dict.session,
obj_class="Session",
updates={"data_rate_slowdown_factor": data_rate_slowdown_factor},
)
)
conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_class="RandomTCMakerConf",
Expand Down
11 changes: 5 additions & 6 deletions integtest/sample_ehn1_multihost_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@
)

ehn1_multihost_1x1_conf = copy.deepcopy(common_config_obj)
ehn1_multihost_1x1_conf.session = "local-1x1-config"
ehn1_multihost_1x1_conf.config_session_name = "local-1x1-config"
ehn1_multihost_1x1_conf.connsvc_port = 0 # random

confgen_arguments = {"EHN1 MultiHost 1x1 Conf": ehn1_multihost_1x1_conf}
Expand Down Expand Up @@ -341,19 +341,18 @@ def test_log_files(run_dunerc):
pytest.skip("The PYTEST_DEBUG_TEMPROOT env var has not been set to point to a valid directory.")

# Check that at least some of the expected log files are present
session_name = run_dunerc.session_name if run_dunerc.session_name is not None else run_dunerc.session
assert any(
f"{session_name}_df-01" in str(logname)
f"{run_dunerc.daq_session_name}_df-01" in str(logname)
for logname in run_dunerc.log_files
)
assert any(
f"{session_name}_dfo" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_dfo" in str(logname) for logname in run_dunerc.log_files
)
assert any(
f"{session_name}_mlt" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_mlt" in str(logname) for logname in run_dunerc.log_files
)
assert any(
f"{session_name}_ru" in str(logname) for logname in run_dunerc.log_files
f"{run_dunerc.daq_session_name}_ru" in str(logname) for logname in run_dunerc.log_files
)

if check_for_logfile_errors:
Expand Down
10 changes: 1 addition & 9 deletions integtest/small_footprint_quick_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

# Values that help determine the running conditions
number_of_data_producers = 1
data_rate_slowdown_factor = 1 # 10 for ProtoWIB/DuneWIB
run_duration = 20 # seconds

# Default values for validation parameters
Expand Down Expand Up @@ -80,17 +79,10 @@
conf_dict = data_classes.drunc_config()
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.op_env = "integtest"
conf_dict.session = "smallfootprint"
conf_dict.config_session_name = "smallfootprint"
conf_dict.tpg_enabled = False
conf_dict.fake_hsi_enabled = True

conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_id=conf_dict.session,
obj_class="Session",
updates={"data_rate_slowdown_factor": data_rate_slowdown_factor},
)
)
conf_dict.config_substitutions.append(
data_classes.attribute_substitution(obj_class="LatencyBuffer", updates={"size": 50000})
)
Expand Down
19 changes: 5 additions & 14 deletions integtest/tpg_state_collection_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
number_of_dataflow_apps = 2
pulser_trigger_rate = 1.0 # Hz
run_duration = 30 # seconds
data_rate_slowdown_factor = 1
output_dir = "."

# Default values for validation parameters
Expand Down Expand Up @@ -123,20 +122,13 @@
conf_dict.dro_map_config.n_streams = number_of_data_producers
conf_dict.dro_map_config.n_apps = number_of_readout_apps
conf_dict.op_env = "integtest"
conf_dict.session = "tpstream"
conf_dict.config_session_name = "tpstream"
conf_dict.tpg_enabled = True
conf_dict.n_df_apps = number_of_dataflow_apps
conf_dict.frame_file = (
"asset://?checksum=dd156b4895f1b06a06b6ff38e37bd798" # WIBEth All Zeros
)

conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_id=conf_dict.session,
obj_class="Session",
updates={"data_rate_slowdown_factor": data_rate_slowdown_factor},
)
)
conf_dict.config_substitutions.append(
data_classes.attribute_substitution(
obj_class="RandomTCMakerConf",
Expand Down Expand Up @@ -318,14 +310,13 @@ def test_tpstream_files(run_dunerc):
def test_metric_files(run_dunerc):
print("") # Clear potential dot from pytest

session_name = run_dunerc.session_name if run_dunerc.session_name else run_dunerc.session
metric_data = opmon_metric_checks.collate_opmon_data_from_files(run_dunerc.opmon_files)

all_ok = True

# *** Check that the pedestal subtraction processor metrics are being produced as expected.
# DLH-0, 'accum' metrics
metric_key_list = [session_name, "ru-det-conn-0", "DLH-0", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "accum"]
metric_key_list = [run_dunerc.daq_session_name, "ru-det-conn-0", "DLH-0", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "accum"]
all_ok &= opmon_metric_checks.check_metric_sample_count(metric_data, metric_key_list, min_count=1)
all_ok &= opmon_metric_checks.check_metric_value_sum(metric_data, metric_key_list, min_value_sum=1)

Expand All @@ -339,12 +330,12 @@ def test_metric_files(run_dunerc):
# the rate of such fake non-zero signals is not large enough to affect the calculated pedestal.
# Because of all of that, the pedestal value check in this section can verify that the metric
# reporting system sees a pedestal value of zero.)
metric_key_list = [session_name, "ru-det-conn-0", "DLH-0", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "pedestal"]
metric_key_list = [run_dunerc.daq_session_name, "ru-det-conn-0", "DLH-0", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "pedestal"]
all_ok &= opmon_metric_checks.check_metric_sample_count(metric_data, metric_key_list, min_count=1)
all_ok &= opmon_metric_checks.check_metric_value_sum(metric_data, metric_key_list, min_value_sum=0, max_value_sum=0)

# DLH-1, 'accum' metrics
metric_key_list = [session_name, "ru-det-conn-0", "DLH-1", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "accum"]
metric_key_list = [run_dunerc.daq_session_name, "ru-det-conn-0", "DLH-1", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "accum"]
all_ok &= opmon_metric_checks.check_metric_sample_count(metric_data, metric_key_list, min_count=1)
all_ok &= opmon_metric_checks.check_metric_value_sum(metric_data, metric_key_list, min_value_sum=1)

Expand All @@ -358,7 +349,7 @@ def test_metric_files(run_dunerc):
# the rate of such fake non-zero signals is not large enough to affect the calculated pedestal.
# Because of all of that, the pedestal value check in this section can verify that the metric
# reporting system sees a pedestal value of zero.)
metric_key_list = [session_name, "ru-det-conn-0", "DLH-1", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "pedestal"]
metric_key_list = [run_dunerc.daq_session_name, "ru-det-conn-0", "DLH-1", "WIBEthFrameProcessor", "def-wib-processor", "datahandlinglibs.TPGProcessorInfo", "*", "pedestal"]
all_ok &= opmon_metric_checks.check_metric_sample_count(metric_data, metric_key_list, min_count=1)
all_ok &= opmon_metric_checks.check_metric_value_sum(metric_data, metric_key_list, min_value_sum=0, max_value_sum=0)

Expand Down
4 changes: 2 additions & 2 deletions integtest/tpreplay_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def _cleanup_tmpdir():

# Get default tpreplay config
tpreplay_local_conf = copy.deepcopy(common_config_obj)
tpreplay_local_conf.session = "local-tpreplay-config"
tpreplay_local_conf.config_session_name = "local-tpreplay-config"

# Get necessary dal objects
a_source_id_dal = local_db.get_dal(class_name="SourceIDConf", uid="tpreplay-tp-srcid-100000")
Expand Down Expand Up @@ -271,7 +271,7 @@ def test_dunerc_success(run_dunerc):

# Log files
def test_log_files(run_dunerc):
session_name = run_dunerc.session_name if run_dunerc.session_name is not None else run_dunerc.session
session_name = run_dunerc.daq_session_name

log_dir = pathlib.Path("/log")
run_dunerc.log_files += [
Expand Down
Loading
Loading