diff options
author | Josh Blum <josh@joshknows.com> | 2010-08-05 11:50:30 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-08-06 12:15:05 -0700 |
commit | 53341c286eb71ead76ff11796ab67bd98f73c3ab (patch) | |
tree | 9a60145a06d3614dd99670093b2fc337879e6a98 /host/test | |
parent | 7e8a1f296f934a5546cdad575bcbe030a78b8bb1 (diff) | |
download | uhd-53341c286eb71ead76ff11796ab67bd98f73c3ab.tar.gz uhd-53341c286eb71ead76ff11796ab67bd98f73c3ab.tar.bz2 uhd-53341c286eb71ead76ff11796ab67bd98f73c3ab.zip |
usrp: added subdev spec class with parser to specify subdevice specifications for channel config
Diffstat (limited to 'host/test')
-rw-r--r-- | host/test/CMakeLists.txt | 1 | ||||
-rw-r--r-- | host/test/addr_test.cpp | 2 | ||||
-rw-r--r-- | host/test/subdev_spec_test.cpp | 45 |
3 files changed, 47 insertions, 1 deletions
diff --git a/host/test/CMakeLists.txt b/host/test/CMakeLists.txt index ad2f33a3b..1b909aa39 100644 --- a/host/test/CMakeLists.txt +++ b/host/test/CMakeLists.txt @@ -27,6 +27,7 @@ ADD_EXECUTABLE(main_test dict_test.cpp error_test.cpp gain_handler_test.cpp + subdev_spec_test.cpp tune_helper_test.cpp vrt_test.cpp warning_test.cpp diff --git a/host/test/addr_test.cpp b/host/test/addr_test.cpp index 0c50200d6..d4b45aa1a 100644 --- a/host/test/addr_test.cpp +++ b/host/test/addr_test.cpp @@ -48,7 +48,7 @@ BOOST_AUTO_TEST_CASE(test_device_addr){ uhd::device_addr_t new_dev_addr(args_str); //they should be the same size - BOOST_CHECK_EQUAL(dev_addr.size(), new_dev_addr.size()); + BOOST_REQUIRE_EQUAL(dev_addr.size(), new_dev_addr.size()); //the keys should match std::vector<std::string> old_dev_addr_keys = dev_addr.keys(); diff --git a/host/test/subdev_spec_test.cpp b/host/test/subdev_spec_test.cpp new file mode 100644 index 000000000..ca4b4771b --- /dev/null +++ b/host/test/subdev_spec_test.cpp @@ -0,0 +1,45 @@ +// +// Copyright 2010 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +// + +#include <boost/test/unit_test.hpp> +#include <uhd/usrp/subdev_spec.hpp> +#include <boost/foreach.hpp> +#include <iostream> + +BOOST_AUTO_TEST_CASE(test_subdevice_spec){ + std::cout << "Testing subdevice specification..." << std::endl; + + //load the subdev spec with something + uhd::usrp::subdev_spec_t sd_spec; + sd_spec.push_back(uhd::usrp::subdev_spec_t::pair_t("A", "AB")); + sd_spec.push_back(uhd::usrp::subdev_spec_t::pair_t("B", "AB")); + + //convert to and from args string + std::cout << "Pretty Print: " << std::endl << sd_spec.to_pp_string(); + std::string markup_str = sd_spec.to_string(); + std::cout << "Markup String: " << markup_str << std::endl; + uhd::usrp::subdev_spec_t new_sd_spec(markup_str); + + //they should be the same size + BOOST_REQUIRE_EQUAL(sd_spec.size(), new_sd_spec.size()); + + //the contents should match + for (size_t i = 0; i < sd_spec.size(); i++){ + BOOST_CHECK_EQUAL(sd_spec.at(i).first, new_sd_spec.at(i).first); + BOOST_CHECK_EQUAL(sd_spec.at(i).second, new_sd_spec.at(i).second); + } +} |