aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests/rfnoc_block_tests
diff options
context:
space:
mode:
Diffstat (limited to 'host/tests/rfnoc_block_tests')
-rw-r--r--host/tests/rfnoc_block_tests/replay_block_test.cpp18
-rw-r--r--host/tests/rfnoc_block_tests/siggen_block_test.cpp14
2 files changed, 19 insertions, 13 deletions
diff --git a/host/tests/rfnoc_block_tests/replay_block_test.cpp b/host/tests/rfnoc_block_tests/replay_block_test.cpp
index f84b98ac8..db9f8c177 100644
--- a/host/tests/rfnoc_block_tests/replay_block_test.cpp
+++ b/host/tests/rfnoc_block_tests/replay_block_test.cpp
@@ -157,7 +157,7 @@ BOOST_FIXTURE_TEST_CASE(replay_test_construction, replay_block_fixture)
BOOST_CHECK_EQUAL(reg_iface->write_memory[reg_play_base_addr], 0);
BOOST_CHECK_EQUAL(reg_iface->write_memory[reg_play_base_addr + 4], 0);
BOOST_CHECK_EQUAL(reg_iface->write_memory[reg_words_per_pkt],
- (DEFAULT_MTU - CHDR_MAX_LEN_HDR) / word_size);
+ (DEFAULT_MTU - test_replay->get_chdr_hdr_len()) / word_size);
BOOST_CHECK_EQUAL(reg_iface->write_memory[reg_play_item_size], default_item_size);
}
}
@@ -353,18 +353,20 @@ BOOST_FIXTURE_TEST_CASE(replay_test_configure_play, replay_block_fixture)
}
/*
- * This test case ensures that the hardware is programmed correctly throough the playback
+ * This test case ensures that the hardware is programmed correctly through the playback
* packet API calls.
*/
BOOST_FIXTURE_TEST_CASE(replay_test_packet_size, replay_block_fixture)
{
for (size_t port = 0; port < num_output_ports; port++) {
// Test the defaults
- const uint32_t default_ipp = DEFAULT_SPP;
- BOOST_CHECK_EQUAL(test_replay->get_max_items_per_packet(port), default_ipp);
-
- const uint32_t item_size = test_replay->get_play_item_size(port);
- const uint32_t default_packet_size = default_ipp * item_size + CHDR_MAX_LEN_HDR;
+ const uint32_t item_size = test_replay->get_play_item_size(port);
+ const uint32_t expected_ipp =
+ test_replay->get_max_payload_size({res_source_info::OUTPUT_EDGE, port})
+ / item_size;
+ BOOST_CHECK_EQUAL(test_replay->get_max_items_per_packet(port), expected_ipp);
+ const uint32_t default_packet_size =
+ expected_ipp * item_size + test_replay->get_chdr_hdr_len();
BOOST_CHECK_EQUAL(test_replay->get_max_packet_size(port), default_packet_size);
}
@@ -374,7 +376,7 @@ BOOST_FIXTURE_TEST_CASE(replay_test_packet_size, replay_block_fixture)
BOOST_CHECK_EQUAL(test_replay->get_max_items_per_packet(port), ipp);
const uint32_t item_size = test_replay->get_play_item_size(port);
- const uint32_t packet_size = ipp * item_size + CHDR_MAX_LEN_HDR;
+ const uint32_t packet_size = ipp * item_size + test_replay->get_chdr_hdr_len();
BOOST_CHECK_EQUAL(test_replay->get_max_packet_size(port), packet_size);
const uint32_t wpp = ipp * item_size / word_size;
diff --git a/host/tests/rfnoc_block_tests/siggen_block_test.cpp b/host/tests/rfnoc_block_tests/siggen_block_test.cpp
index ea52530e0..d453e898e 100644
--- a/host/tests/rfnoc_block_tests/siggen_block_test.cpp
+++ b/host/tests/rfnoc_block_tests/siggen_block_test.cpp
@@ -191,7 +191,10 @@ BOOST_FIXTURE_TEST_CASE(siggen_test_construction, siggen_block_fixture)
BOOST_CHECK_EQUAL(reg_iface->phase_increments.at(port), siggen_mock_reg_iface_t::phase_increment_to_register(1.0));
BOOST_CHECK_EQUAL(reg_iface->phasors.at(port),
siggen_mock_reg_iface_t::phasor_to_register({0.0, 0.0}));
- BOOST_CHECK_EQUAL(reg_iface->spps.at(port), DEFAULT_SPP);
+ constexpr int bpi = 4; // sc16 has 4 bytes per item
+ const int expected_spp =
+ test_siggen->get_max_payload_size({res_source_info::OUTPUT_EDGE, port}) / bpi;
+ BOOST_CHECK_EQUAL(reg_iface->spps.at(port), expected_spp);
}
}
@@ -315,10 +318,11 @@ BOOST_FIXTURE_TEST_CASE(siggen_test_ranges, siggen_block_fixture)
*/
BOOST_FIXTURE_TEST_CASE(siggen_test_spp_coercion, siggen_block_fixture)
{
- constexpr size_t mtu_in_samps = DEFAULT_MTU / 4 /* bytes/samp */;
- size_t high_spp = mtu_in_samps + 10;
- test_siggen->set_samples_per_packet(high_spp, 0);
- BOOST_CHECK_EQUAL(test_siggen->get_samples_per_packet(0), mtu_in_samps);
+ const size_t max_samps =
+ (DEFAULT_MTU - test_siggen->get_chdr_hdr_len()) / 4 /* bytes/samp */;
+ const size_t too_high_spp = max_samps + 10;
+ test_siggen->set_samples_per_packet(too_high_spp, 0);
+ BOOST_CHECK_EQUAL(test_siggen->get_samples_per_packet(0), max_samps);
}
/*