diff options
author | Lars Amsel <lars.amsel@ni.com> | 2021-07-13 11:34:53 +0200 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2021-07-14 16:19:36 -0500 |
commit | 16137f1dd5390a2321b5597c3a820dee45c10526 (patch) | |
tree | 6ed5a1d07f0dc8708d02039ae50d1dd755ffbdf7 | |
parent | f47df4d1a83289043ef40469141aaa03d0c60d35 (diff) | |
download | uhd-16137f1dd5390a2321b5597c3a820dee45c10526.tar.gz uhd-16137f1dd5390a2321b5597c3a820dee45c10526.tar.bz2 uhd-16137f1dd5390a2321b5597c3a820dee45c10526.zip |
rfnoc: fix block id check to allow underscore
We allow underscore in RFNoC's block names but the regular
expressions only allowed the underscore in the block name RE. This
fix adds the underscore to the block id RE as well as adapts the
unit tests accordingly.
-rw-r--r-- | host/include/uhd/rfnoc/constants.hpp | 2 | ||||
-rw-r--r-- | host/tests/block_id_test.cpp | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/host/include/uhd/rfnoc/constants.hpp b/host/include/uhd/rfnoc/constants.hpp index e059a5215..68833430c 100644 --- a/host/include/uhd/rfnoc/constants.hpp +++ b/host/include/uhd/rfnoc/constants.hpp @@ -90,6 +90,6 @@ static const size_t MAX_NUM_PORTS = 16; // Regular expressions static const std::string VALID_BLOCKNAME_REGEX = "[A-Za-z][A-Za-z0-9_]*"; static const std::string VALID_BLOCKID_REGEX = - "(?:(\\d+)(?:/))?([A-Za-z][A-Za-z0-9]*)(?:(?:#)(\\d\\d?))?"; + "(?:(\\d+)(?:/))?([A-Za-z][A-Za-z0-9_]*)(?:(?:#)(\\d\\d?))?"; }} /* namespace uhd::rfnoc */ diff --git a/host/tests/block_id_test.cpp b/host/tests/block_id_test.cpp index fb11daf1f..11c9d7123 100644 --- a/host/tests/block_id_test.cpp +++ b/host/tests/block_id_test.cpp @@ -23,6 +23,13 @@ BOOST_AUTO_TEST_CASE(test_block_id) BOOST_CHECK(not block_id_t::is_valid_blockname("0Filter/Foo")); BOOST_CHECK(not block_id_t::is_valid_blockname("0/Filter/Foo")); + BOOST_CHECK(block_id_t::is_valid_block_id("0/FilterFoo#1")); + BOOST_CHECK(block_id_t::is_valid_block_id("0/FilterFoo")); + BOOST_CHECK(block_id_t::is_valid_block_id("FilterFoo#1")); + BOOST_CHECK(block_id_t::is_valid_block_id("0/Filter_Foo#1")); + BOOST_CHECK(not block_id_t::is_valid_block_id("x/FilterFoo#1")); + BOOST_CHECK(not block_id_t::is_valid_block_id("0/FilterFoo#x")); + BOOST_REQUIRE_THROW(block_id_t invalid_block_id("0Filter/1"), uhd::value_error); block_id_t block_id("0/FFT#1"); |