X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FNetdeviceController.test.cc;h=ed401f8690439fbdb98910e0a7b5a14aadf71008;hb=b8ca4a544cce3e6023bb56b712a03d6362f2bb79;hp=a55102ea66bf90dc006c255295888198fe6c83ef;hpb=d001b1fe2a8fb121145d2a111d737219abae20d7;p=senf.git diff --git a/Socket/NetdeviceController.test.cc b/Socket/NetdeviceController.test.cc index a55102e..ed401f8 100644 --- a/Socket/NetdeviceController.test.cc +++ b/Socket/NetdeviceController.test.cc @@ -20,7 +20,8 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// Unit tests +/** \file + \brief NetdeviceController unit tests */ //#include "NetdeviceController.test.hh" //#include "NetdeviceController.test.ih" @@ -28,6 +29,7 @@ // Custom includes #include "NetdeviceController.hh" #include "Protocols/Raw/MACAddress.hh" +#include #include "../Utils/auto_unit_test.hh" #include @@ -37,11 +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"); @@ -52,12 +66,17 @@ BOOST_AUTO_UNIT_TEST(NetdeviceController) { BOOST_CHECK_EQUAL( ctrl.mtu(), oldMTU-16); 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