μHAL (v2.6.5)
Part of the IPbus software repository
Namespaces | Functions | Variables
test_navigation.cpp File Reference
#include "uhal/uhal.hpp"
#include "uhal/tests/definitions.hpp"
#include "uhal/tests/fixtures.hpp"
#include "uhal/tests/tools.hpp"
#include <boost/test/unit_test.hpp>
#include <vector>
#include <string>
#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <iterator>
Include dependency graph for test_navigation.cpp:

Go to the source code of this file.

Namespaces

 uhal
 
 uhal::tests
 

Functions

void uhal::tests::iteration (const uhal::Node &parentNode)
 
 uhal::tests::UHAL_TESTS_DEFINE_CLIENT_TEST_CASES (NodeNavigationTestSuite, navigation_and_traversal, MinimalFixture, { HwInterface hw=getHwInterface();std::vector< std::string > ids=hw.getNodes();BOOST_CHECK(std::find(ids.begin(), ids.end(),"REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM1.REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM1.MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM1.SUBMODULE.REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM1.SUBMODULE.MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM2.REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM2.MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM2.SUBMODULE.REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM2.SUBMODULE.MEM") !=ids.end());ids=hw.getNodes(".*MEM.*");BOOST_CHECK(std::find(ids.begin(), ids.end(),"MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"LARGE_MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SMALL_MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM1.MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM2.MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM1.SUBMODULE.MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBSYSTEM2.SUBMODULE.MEM") !=ids.end());ids=hw.getNode("SUBSYSTEM1").getNodes();BOOST_CHECK(std::find(ids.begin(), ids.end(),"REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"MEM") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBMODULE.REG") !=ids.end());BOOST_CHECK(std::find(ids.begin(), ids.end(),"SUBMODULE.MEM") !=ids.end());BOOST_CHECK_NO_THROW(iteration(hw.getNode()));BOOST_CHECK_NO_THROW(iteration(hw.getNode("SUBSYSTEM1")));}) UHAL_TESTS_DEFINE_CLIENT_TEST_CASES(NodeNavigationTestSuite
 
 uhal::tests::BOOST_CHECK_EQUAL (hw.getNode("SUBSYSTEM1.SUBMODULE.REG").getAddress(), hw.getNode("SUBSYSTEM1").getNode("SUBMODULE").getNode("REG").getAddress())
 
 uhal::tests::BOOST_CHECK_EQUAL (hw.getNode("SUBSYSTEM1.SUBMODULE.REG").getMask(), hw.getNode("SUBSYSTEM1").getNode("SUBMODULE").getNode("REG").getMask())
 
 uhal::tests::BOOST_CHECK_EQUAL (hw.getNode("SUBSYSTEM1.SUBMODULE.REG").getId(), hw.getNode("SUBSYSTEM1").getNode("SUBMODULE").getNode("REG").getId())
 
 uhal::tests::BOOST_CHECK_EQUAL (hw.getNode("SUBSYSTEM1.SUBMODULE.REG").getTags(), hw.getNode("SUBSYSTEM1").getNode("SUBMODULE").getNode("REG").getTags())
 
 uhal::tests::BOOST_CHECK_EQUAL (hw.getNode("SUBSYSTEM1.SUBMODULE.MEM").getMode(), hw.getNode("SUBSYSTEM1").getNode("SUBMODULE").getNode("MEM").getMode())
 
 uhal::tests::BOOST_CHECK_EQUAL (hw.getNode("SUBSYSTEM1.SUBMODULE.MEM").getSize(), hw.getNode("SUBSYSTEM1").getNode("SUBMODULE").getNode("MEM").getSize())
 
hw uhal::tests::getNode ("SUBSYSTEM1.SUBMODULE.REG").write(x)
 
hw uhal::tests::dispatch ()
 
 uhal::tests::BOOST_CHECK_EQUAL (reg.value(), x)
 

Variables

 uhal::tests::write_read
 
uint32_t uhal::tests::x = static_cast<uint32_t> ( rand() )
 
ValWord< uint32_t > uhal::tests::reg = hw.getNode ( "SUBSYSTEM1" ).getNode ( "SUBMODULE" ).getNode ( "REG" ).read()