[Xorp-cvs] SF.net SVN: xorp:[11640] trunk/xorp/libxipc/tests
bms_fbsd at users.sourceforge.net
bms_fbsd at users.sourceforge.net
Tue Dec 1 10:57:45 PST 2009
Revision: 11640
http://xorp.svn.sourceforge.net/xorp/?rev=11640&view=rev
Author: bms_fbsd
Date: 2009-12-01 18:57:45 +0000 (Tue, 01 Dec 2009)
Log Message:
-----------
Teach TestReceiver to accept a FILE* from its clients,
and to explicitly set it to line-buffered mode, so we can
actually get output from it before we kill it in test runs.
Modified Paths:
--------------
trunk/xorp/libxipc/tests/test_receiver.cc
trunk/xorp/libxipc/tests/test_receiver.hh
trunk/xorp/libxipc/tests/test_xrl_receiver.cc
trunk/xorp/libxipc/tests/test_xrl_sender.cc
Modified: trunk/xorp/libxipc/tests/test_receiver.cc
===================================================================
--- trunk/xorp/libxipc/tests/test_receiver.cc 2009-11-29 06:20:09 UTC (rev 11639)
+++ trunk/xorp/libxipc/tests/test_receiver.cc 2009-12-01 18:57:45 UTC (rev 11640)
@@ -35,17 +35,22 @@
#include "xrl/targets/test_xrls_base.hh"
#include "test_receiver.hh"
+#include <cstdio>
+
#define TIMEOUT_EXIT_MS 20000
using namespace SP;
-TestReceiver::TestReceiver(EventLoop& eventloop, XrlRouter* xrl_router)
+TestReceiver::TestReceiver(EventLoop& eventloop, XrlRouter* xrl_router,
+ FILE* output)
: XrlTestXrlsTargetBase(xrl_router),
_eventloop(eventloop),
+ _output(output),
_received_xrls(0),
_done(false),
_sample(false)
{
+ setvbuf(_output, (char *)NULL, _IOLBF, 0);
}
TestReceiver::~TestReceiver()
@@ -68,9 +73,9 @@
TestReceiver::print_xrl_received() const
{
#if PRINT_DEBUG
- printf(".");
+ fprintf(_output, ".");
if (! (_received_xrls % 10000))
- printf("Received %u\n", XORP_UINT_CAST(_received_xrls));
+ fprintf(_output, "Received %u\n", XORP_UINT_CAST(_received_xrls));
#endif // PRINT_DEBUG
}
@@ -204,12 +209,12 @@
TimeVal delta_time = _end_time - _start_time;
if (_received_xrls == 0) {
- printf("No XRLs received\n");
+ fprintf(_output, "No XRLs received\n");
return;
}
if (delta_time == TimeVal::ZERO()) {
- printf("Received %u XRLs; delta-time = %s secs\n",
- XORP_UINT_CAST(_received_xrls), delta_time.str().c_str());
+ fprintf(_output, "Received %u XRLs; delta-time = %s secs\n",
+ XORP_UINT_CAST(_received_xrls), delta_time.str().c_str());
return;
}
@@ -217,7 +222,8 @@
double speed = _received_xrls;
speed /= double_time;
- printf("Received %u XRLs; delta_time = %s secs; speed = %f XRLs/s\n",
+ fprintf(_output,
+ "Received %u XRLs; delta_time = %s secs; speed = %f XRLs/s\n",
XORP_UINT_CAST(_received_xrls),
delta_time.str().c_str(), speed);
Modified: trunk/xorp/libxipc/tests/test_receiver.hh
===================================================================
--- trunk/xorp/libxipc/tests/test_receiver.hh 2009-11-29 06:20:09 UTC (rev 11639)
+++ trunk/xorp/libxipc/tests/test_receiver.hh 2009-12-01 18:57:45 UTC (rev 11640)
@@ -26,7 +26,8 @@
class TestReceiver : public XrlTestXrlsTargetBase {
public:
- TestReceiver(EventLoop& eventloop, XrlRouter* xrl_router);
+ TestReceiver(EventLoop& eventloop, XrlRouter* xrl_router,
+ FILE* output);
~TestReceiver();
bool done() const;
@@ -82,6 +83,7 @@
void print_statistics();
EventLoop& _eventloop;
+ FILE* _output;
TimeVal _start_time;
TimeVal _end_time;
size_t _received_xrls;
Modified: trunk/xorp/libxipc/tests/test_xrl_receiver.cc
===================================================================
--- trunk/xorp/libxipc/tests/test_xrl_receiver.cc 2009-11-29 06:20:09 UTC (rev 11639)
+++ trunk/xorp/libxipc/tests/test_xrl_receiver.cc 2009-12-01 18:57:45 UTC (rev 11640)
@@ -128,7 +128,8 @@
//
XrlStdRouter xrl_std_router_test_receiver(eventloop, "test_xrl_receiver",
finder_hostname, finder_port);
- TestReceiver test_receiver(eventloop, &xrl_std_router_test_receiver);
+ TestReceiver test_receiver(eventloop, &xrl_std_router_test_receiver,
+ stdout);
wait_until_xrl_router_is_ready(eventloop, xrl_std_router_test_receiver);
//
Modified: trunk/xorp/libxipc/tests/test_xrl_sender.cc
===================================================================
--- trunk/xorp/libxipc/tests/test_xrl_sender.cc 2009-11-29 06:20:09 UTC (rev 11639)
+++ trunk/xorp/libxipc/tests/test_xrl_sender.cc 2009-12-01 18:57:45 UTC (rev 11640)
@@ -688,7 +688,8 @@
finder_hostname,
finder_port);
test_receiver = new TestReceiver(eventloop,
- xrl_std_router_test_receiver);
+ xrl_std_router_test_receiver,
+ stdout);
if (g_send_method == SEND_METHOD_SINGLE)
test_receiver->enable_sampler();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Xorp-cvs
mailing list