X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FNetdeviceController.test.cc;h=ed401f8690439fbdb98910e0a7b5a14aadf71008;hb=a1fdb7bb122f0b05be809a922d4b7ef5e125fa67;hp=dcc8a3bc0706292c7aed17d38ef63de12b2c720e;hpb=a98b8f2dfa6fad9654cf13e03fff82bf0e18b1e6;p=senf.git diff --git a/Socket/NetdeviceController.test.cc b/Socket/NetdeviceController.test.cc index dcc8a3b..ed401f8 100644 --- a/Socket/NetdeviceController.test.cc +++ b/Socket/NetdeviceController.test.cc @@ -29,6 +29,7 @@ // Custom includes #include "NetdeviceController.hh" #include "Protocols/Raw/MACAddress.hh" +#include #include "../Utils/auto_unit_test.hh" #include @@ -38,16 +39,23 @@ BOOST_AUTO_UNIT_TEST(NetdeviceController) { - senf::NetdeviceController ctrl ("lo"); - BOOST_CHECK_EQUAL( ctrl.interfaceName(), "lo"); + std::string ifname ("lo"); + senf::NetdeviceController ctrl (ifname); + BOOST_CHECK_EQUAL( ctrl.interfaceName(), ifname); int index = ctrl.interfaceIndex(); BOOST_CHECK_EQUAL( index, senf::NetdeviceController(index).interfaceIndex() ); + BOOST_CHECK_EQUAL( index, if_nametoindex( ifname.c_str()) ); BOOST_CHECK_THROW( senf::NetdeviceController("invalid_interfacename"), senf::SystemException ); int oldMTU; SENF_CHECK_NO_THROW( oldMTU = ctrl.mtu()); + + bool promisc; + SENF_CHECK_NO_THROW( promisc = ctrl.promisc()); + + BOOST_CHECK( ctrl.isUp()); if (getuid() != 0) { BOOST_WARN_MESSAGE(false, "Cannot run some tests of senf::NetdeviceController as non-root user"); @@ -59,12 +67,16 @@ BOOST_AUTO_UNIT_TEST(NetdeviceController) { SENF_CHECK_NO_THROW( ctrl.mtu(oldMTU)); BOOST_CHECK_EQUAL( ctrl.mtu(), oldMTU); + SENF_CHECK_NO_THROW( ctrl.promisc( !promisc)); + BOOST_CHECK_EQUAL( ctrl.promisc(), !promisc); + SENF_CHECK_NO_THROW( ctrl.promisc( promisc)); + BOOST_CHECK_EQUAL( ctrl.promisc(), promisc); } ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ - + // Local Variables: // mode: c++ // fill-column: 100