diff --git a/test/config/filedma-bmtf-stub.json5 b/test/config/filedma-bmtf-stub.json5
new file mode 100644
index 0000000000000000000000000000000000000000..2d6fe6bde48e1d80536e1bd4a420d4f835c2c664
--- /dev/null
+++ b/test/config/filedma-bmtf-stub.json5
@@ -0,0 +1,68 @@
+// filedma-gmt.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/bmtf_stub_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "BMTF",
+      primitive_type: "STUB",
+      source_id: 3,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_BMTF",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 4096,
+  cmsswHeaders: "no",
+  dthHeaders: "yes",
+  source_id: 1,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-calo-egamma.json5 b/test/config/filedma-calo-egamma.json5
new file mode 100644
index 0000000000000000000000000000000000000000..33a97a88b7807164571782f70a18595020406a37
--- /dev/null
+++ b/test/config/filedma-calo-egamma.json5
@@ -0,0 +1,68 @@
+// filedma-gmt.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/calo_egamma_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "CALOOBJ",
+      primitive_type: "EGAMMA",
+      source_id: 2,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_EGAMMA",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 4096,
+  cmsswHeaders: "no",
+  dthHeaders: "yes",
+  source_id: 1,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-calo-jet.json5 b/test/config/filedma-calo-jet.json5
new file mode 100644
index 0000000000000000000000000000000000000000..71e7765d5f7d8601fb6bae847589d7ca7b828a34
--- /dev/null
+++ b/test/config/filedma-calo-jet.json5
@@ -0,0 +1,68 @@
+// filedma-gmt-jet.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/calo_jet_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "CALOOBJ",
+      primitive_type: "JET",
+      source_id: 2,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_JET",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 4096,
+  cmsswHeaders: "no",
+  dthHeaders: "yes",
+  source_id: 1,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-calo-sum.json5 b/test/config/filedma-calo-sum.json5
new file mode 100644
index 0000000000000000000000000000000000000000..151ad7c35fd79db1a428e0fae2304c90f806328f
--- /dev/null
+++ b/test/config/filedma-calo-sum.json5
@@ -0,0 +1,68 @@
+// filedma-gmt.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/calo_sum_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "CALOSUM",
+      primitive_type: "SUM",
+      source_id: 2,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_SUM",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 4096,
+  cmsswHeaders: "no",
+  dthHeaders: "yes",
+  source_id: 1,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-calo-tau-cmssw.json5 b/test/config/filedma-calo-tau-cmssw.json5
new file mode 100644
index 0000000000000000000000000000000000000000..aa9b2cb4c3fc27e15c3578e85f6606f5345c322b
--- /dev/null
+++ b/test/config/filedma-calo-tau-cmssw.json5
@@ -0,0 +1,68 @@
+// filedma-calo-tau.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/calo_tau_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "CALOOBJ",
+      primitive_type: "TAU",
+      source_id: 2,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_TAU",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 64,
+  cmsswHeaders: "yes",
+  dthHeaders: "yes",
+  source_id: 2,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-calo-tau.json5 b/test/config/filedma-calo-tau.json5
new file mode 100644
index 0000000000000000000000000000000000000000..01e6c3695dd5e8f3af41b639b61e6ba9ac3c003b
--- /dev/null
+++ b/test/config/filedma-calo-tau.json5
@@ -0,0 +1,68 @@
+// filedma-calo-tau.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/calo_tau_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "CALOOBJ",
+      primitive_type: "TAU",
+      source_id: 2,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_TAU",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 4096,
+  cmsswHeaders: "no",
+  dthHeaders: "yes",
+  source_id: 2,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-gmt-muon-cmssw.json5 b/test/config/filedma-gmt-muon-cmssw.json5
new file mode 100644
index 0000000000000000000000000000000000000000..ddae371ac88a586ed8facefc3bd4deb3e40c80f8
--- /dev/null
+++ b/test/config/filedma-gmt-muon-cmssw.json5
@@ -0,0 +1,68 @@
+// filedma-gmt-muon.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/gmt_muon_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "GMT",
+      primitive_type: "MUON",
+      source_id: 1,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_MUON",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 64,
+  cmsswHeaders: "yes",
+  dthHeaders: "yes",
+  source_id: 1,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/config/filedma-gmt-muon.json5 b/test/config/filedma-gmt-muon.json5
new file mode 100644
index 0000000000000000000000000000000000000000..bc7aeba2949632f490c80a1fd867c9a5d393486f
--- /dev/null
+++ b/test/config/filedma-gmt-muon.json5
@@ -0,0 +1,68 @@
+// filedma-gmt-muon.json5
+{
+  // Input settings //////////////////////////////////////////////////
+  // Input type, one of:
+  //   "wzdma"     for DMA driver from Wojciech M. Zabolotny
+  //   "filedma"   for reading from file and simulating DMA
+  //   "micronDMA" for PICO driver
+  //   "tcpip"     for TCP/IP input receiving
+  input: "filedma",
+  // DMA device
+  dma_dev: "/dev/xdma0_c2h_0",
+  // Max received packet size in bytes (buffer to reserve)
+  dma_packet_buffer_size: 2097152,
+  // Number of packet buffers to allocate
+  dma_number_of_packet_buffers: 1000,
+  // Print report each N packets, use 0 to disable
+  packets_per_report: 2000,
+  // Number of orbits per DMA packet, in decimal
+  nOrbitsPerPacket: 1,
+  // Extra settings for "filedma" input
+  input_files: [
+    // Must have at least the same cardinality as input_streams; kept isolated since `FileDMA` is a development feature
+    "test/data/testfiles/gmt_muon_testfile.dat"
+  ],
+  // Processing types (unpacking):
+  //   PASS_THROUGH, GMT, CALO, CALOOBJ, CALOSUM, BMTF, UGT, BRIL
+  // Primitive types:
+  //   NONE, MUON, JET, EGAMMA, TAU, SUM, STUB, ALGOBIT
+  input_streams: [
+    {
+      processor_type: "GMT",
+      primitive_type: "MUON",
+      source_id: 1,
+      tcp_dest_port: 10000
+    }
+  ],
+  // Processor settings //////////////////////////////////////////////
+  enable_stream_processor: "yes",
+  // Enable software zero-suppression. Does not affect Calo.
+  doZS: "yes",
+  // Output settings /////////////////////////////////////////////////
+  output_filename_prefix: "scout_MUON",
+  output_filename_base: "test/data",
+  output_filename_suffix: ".raw",
+  max_file_size: 8589934592,
+  // Always write data to a file regardless of the run status
+  output_force_write: "yes",
+  // Generic settings ////////////////////////////////////////////////
+  port: 8000,
+  dev_TCPAutoReconnectOnFailure: "false",
+  // (Minimum) Logging severity: TRACE DEBUG INFO WARNING ERROR FATAL.
+  // Use TRACE to log everything.
+  log_min_severity: "ERROR",
+  threads: 8,
+  // Stores fixed number of orbits per file when nOrbitsPerFile > 1
+  // If zero, uses a fixed file size (`max_file_size`) instead
+  nOrbitsPerFile: 4096,
+  cmsswHeaders: "no",
+  dthHeaders: "yes",
+  source_id: 1,
+  //  Information necessary to issue a reset request for the board
+  scone_address: {
+    host: "scoutdaq-s1d12-34-01",
+    port: 8080,
+    // e.g., kcu1500_ugmt, kcu1500_demux, sb852_bril
+    board: "kcu1500_ugmt"
+  }
+}
\ No newline at end of file
diff --git a/test/data/.sha256/BMTF_STUB_1048576_adcd94aa b/test/data/.sha256/BMTF_STUB_1048576_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..7f74ed2be8b9db1b66d2fe2cd2af10d8d05f434a
--- /dev/null
+++ b/test/data/.sha256/BMTF_STUB_1048576_adcd94aa
@@ -0,0 +1 @@
+1163bc3532eff64fd87c6f07e2226183583a8c197a351ea7af12440f5c2dda86
\ No newline at end of file
diff --git a/test/data/.sha256/CALO_EGAMMA_104857600_adcd94aa b/test/data/.sha256/CALO_EGAMMA_104857600_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..c9905286c55f53572a925f9fb062b61d4327d962
--- /dev/null
+++ b/test/data/.sha256/CALO_EGAMMA_104857600_adcd94aa
@@ -0,0 +1 @@
+fa5ab20c332db0dc75abb97b250436adb106a71ae83a4c135697934e13166b81
\ No newline at end of file
diff --git a/test/data/.sha256/CALO_JET_104857600_adcd94aa b/test/data/.sha256/CALO_JET_104857600_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..59bbff65d038e4b15de57a463bb928a3cb1a8c46
--- /dev/null
+++ b/test/data/.sha256/CALO_JET_104857600_adcd94aa
@@ -0,0 +1 @@
+6ea4c523a623e3e2382600dfb3fc900d88bbe48bbcc068d3806cb5beaa42c9ac
\ No newline at end of file
diff --git a/test/data/.sha256/CALO_SUM_104857600_adcd94aa b/test/data/.sha256/CALO_SUM_104857600_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..9b45a2aef1334e14d7166afa1386f28ee4c3f77a
--- /dev/null
+++ b/test/data/.sha256/CALO_SUM_104857600_adcd94aa
@@ -0,0 +1 @@
+86054c4bd8d34c4df90004c394dd431b1419361bed010e27b1b14d19b9dbe90f
\ No newline at end of file
diff --git a/test/data/.sha256/CALO_TAU_104857600_adcd94aa b/test/data/.sha256/CALO_TAU_104857600_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..351ebe194e746bb23fb5193cd034fcf71b2bdc5e
--- /dev/null
+++ b/test/data/.sha256/CALO_TAU_104857600_adcd94aa
@@ -0,0 +1 @@
+334fbcb659437352a9ae19c5e544e93c8e3ee1df2eafaee276ac7dabca34dd3e
\ No newline at end of file
diff --git a/test/data/.sha256/GMT_MUON_104857600_adcd94aa b/test/data/.sha256/GMT_MUON_104857600_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..bfa926d7e478f814e902bc9b552a1ac4989930c7
--- /dev/null
+++ b/test/data/.sha256/GMT_MUON_104857600_adcd94aa
@@ -0,0 +1 @@
+067906801a2ce9dba2d2eedd75b1660d16abf9abe5a356ca00769cd4e9f9345f
\ No newline at end of file
diff --git a/test/data/.sha256/PASS_CALO_104857600_adcd94aa b/test/data/.sha256/PASS_CALO_104857600_adcd94aa
new file mode 100644
index 0000000000000000000000000000000000000000..0041294268737d40b0f1fae43dfdf2af838566a0
--- /dev/null
+++ b/test/data/.sha256/PASS_CALO_104857600_adcd94aa
@@ -0,0 +1 @@
+6677884a4a1264b0620e5f3fb130217ccb639e62b28010daabcab87c49fb9a2f
\ No newline at end of file
diff --git a/test/data/testfiles/bmtf_stub_testfile.dat b/test/data/testfiles/bmtf_stub_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..2b4a4ad7ecaa9f6f5215056973332d67b2b5284b
Binary files /dev/null and b/test/data/testfiles/bmtf_stub_testfile.dat differ
diff --git a/test/data/testfiles/calo_egamma_testfile.dat b/test/data/testfiles/calo_egamma_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..83e87c20a2ec2d05f11702abc4c7a9fe5cb70339
Binary files /dev/null and b/test/data/testfiles/calo_egamma_testfile.dat differ
diff --git a/test/data/testfiles/calo_jet_testfile.dat b/test/data/testfiles/calo_jet_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..4eb449864a6b85e4834b2b5c5dedda7165837bb3
Binary files /dev/null and b/test/data/testfiles/calo_jet_testfile.dat differ
diff --git a/test/data/testfiles/calo_pass_testfile.dat b/test/data/testfiles/calo_pass_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..d896db07ded097a3754773418f11f65ecb89aebd
Binary files /dev/null and b/test/data/testfiles/calo_pass_testfile.dat differ
diff --git a/test/data/testfiles/calo_sum_testfile.dat b/test/data/testfiles/calo_sum_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..bf9a334c117e209134033463147df7ed9021042f
Binary files /dev/null and b/test/data/testfiles/calo_sum_testfile.dat differ
diff --git a/test/data/testfiles/calo_tau_testfile.dat b/test/data/testfiles/calo_tau_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..8da8b87b1ca9d8afaa45b0145f603c9f411439db
Binary files /dev/null and b/test/data/testfiles/calo_tau_testfile.dat differ
diff --git a/test/data/testfiles/gmt_muon_testfile.dat b/test/data/testfiles/gmt_muon_testfile.dat
new file mode 100644
index 0000000000000000000000000000000000000000..6ae5697f2072e7227f4f5fe0224fb100b6cd22fe
Binary files /dev/null and b/test/data/testfiles/gmt_muon_testfile.dat differ