// $Id$
//
-// Copyright (C) 2008
+// Copyright (C) 2008
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
// Custom includes
#include "SyslogUDPTarget.hh"
-#include "../../Socket/Protocols/INet/UDPSocketHandle.hh"
+#include <senf/Socket/Protocols/INet/UDPSocketHandle.hh>
+#include <boost/format.hpp>
#include "Logger.hh"
-#include "../../Utils/auto_unit_test.hh"
+#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#define prefix_
///////////////////////////////cc.p////////////////////////////////////////
-BOOST_AUTO_UNIT_TEST(syslogUDPTarget)
+namespace {
+
+ int base_pid = 0;
+
+ unsigned port(unsigned i)
+ {
+ if (! base_pid)
+ base_pid = ::getpid();
+ return 23456u + (((base_pid^(base_pid>>8)^(base_pid>>16)^(base_pid>>24))&0xff)<<2) + i;
+ }
+
+ std::string localhost4str(unsigned i)
+ {
+ return (boost::format("localhost:%d") % port(i)).str();
+ }
+
+ std::string localhost6str(unsigned i)
+ {
+ return (boost::format("[::1]:%d") % port(i)).str();
+ }
+
+}
+
+SENF_AUTO_UNIT_TEST(syslogUDPTarget)
{
senf::log::SyslogUDPTarget udplog (
- senf::INet4SocketAddress(senf::INet4Address::Loopback, 23444u));
+ senf::INet4SocketAddress(senf::INet4Address::Loopback, port(0)));
senf::UDPv4ClientSocketHandle server (
- senf::INet4SocketAddress(senf::INet4Address::Loopback, 23444u));
+ senf::INet4SocketAddress(senf::INet4Address::Loopback, port(0)));
udplog.tag("");
udplog.showTime(false);