X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FNetdeviceController.test.cc;h=ed401f8690439fbdb98910e0a7b5a14aadf71008;hb=b89e3166f7680755683dccee5e48cb3a820185c0;hp=784ea5cadce7fdab41c31feb1dad947e8e5ec1a1;hpb=034f9bec0a66d26314fb6ebc83dedf1618a2c19d;p=senf.git diff --git a/Socket/NetdeviceController.test.cc b/Socket/NetdeviceController.test.cc index 784ea5c..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,28 +39,38 @@ BOOST_AUTO_UNIT_TEST(NetdeviceController) { - senf::NetdeviceController ctrl ("lo"); - std::cout << "name: " << ctrl.interfaceName() << "\n"; + std::string ifname ("lo"); + senf::NetdeviceController ctrl (ifname); + BOOST_CHECK_EQUAL( ctrl.interfaceName(), ifname); - senf::MACAddress oldAddr(ctrl.hardwareAddress()); - int oldMTU = ctrl.mtu(); - - std::cout << "hw addr: " << oldAddr << "\n"; - std::cout << "mtu: " << oldMTU << "\n"; + 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"); return; } - ctrl.mtu(oldMTU - 16); - std::cout << "new mtu: " << ctrl.mtu() << "\n"; - ctrl.mtu(oldMTU); - - senf::MACAddress newAddr(senf::MACAddress::from_string("00:18:de:2e:ec:00")); - ctrl.hardwareAddress(newAddr); - std::cout << "new hw addr: " << ctrl.hardwareAddress() << "\n"; - ctrl.hardwareAddress(oldAddr); + SENF_CHECK_NO_THROW( ctrl.mtu(oldMTU-16)); + 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////////////////////////////////////////