X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FClientSocketHandle.test.cc;h=37494d79a3d96b520db6aa50df3f75c3d84958e9;hb=81ffa1c459b96dd44472bcef37e1e373934ee138;hp=816573b534c8b2e086cb96fbb69ba6a906966554;hpb=85ab07d100a382467a42e19d741d403a7a96c951;p=senf.git diff --git a/Socket/ClientSocketHandle.test.cc b/Socket/ClientSocketHandle.test.cc index 816573b..37494d7 100644 --- a/Socket/ClientSocketHandle.test.cc +++ b/Socket/ClientSocketHandle.test.cc @@ -87,13 +87,13 @@ BOOST_AUTO_UNIT_TEST(clientSocketHandle) BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.read(), "TEST-READ" ) ); { std::string buf("FOO-BAR"); - BOOST_CHECK_NO_THROW( myh.read(buf) ); + BOOST_CHECK_NO_THROW( myh.read(buf,0) ); BOOST_CHECK_EQUAL( buf, "TEST-READ" ); } { char buf[11]; ::strcpy(buf,"0123456789"); - BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.read(buf,10), 9u ) ); + BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.read(buf,buf+10), buf+9 ) ); BOOST_CHECK_EQUAL( buf, "TEST-READ9" ); } @@ -101,22 +101,30 @@ BOOST_AUTO_UNIT_TEST(clientSocketHandle) { std::string buf("FOO-BAR"); unsigned addr; - BOOST_CHECK_NO_THROW( myh.readfrom(buf,addr) ); + BOOST_CHECK_NO_THROW( myh.readfrom(buf,addr,0) ); BOOST_CHECK_EQUAL( buf, "TEST-READ" ); } { char buf[11]; unsigned addr; ::strcpy(buf,"0123456789"); - BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.readfrom(buf,10,addr), 9u ) ); + BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.readfrom(buf,buf+10,addr), buf+9 ) ); BOOST_CHECK_EQUAL( buf, "TEST-READ9" ); } - BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.write("TEST-WRITE"), 10u ) ); - BOOST_CHECK_THROW( myh.write("TEST"),senf::SystemException ); - BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.write("TEST-WRITE9",10), 10u ) ); - BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.writeto(0,"TEST-WRITE"), 10u ) ); - BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.writeto(0,"TEST-WRITE9",10), 10u ) ); + { + std::string s ("TEST-WRITE"); + BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.write(s)-s.begin(), 10 ) ); + s = "TEST"; + // This simulates a closed file in this test policy. However, we + // have changed the semantics so this will not work anymore. + // BOOST_CHECK_THROW( myh.write(s),senf::SystemException ); + char const * const s1 = "TEST-WRITE9"; + BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.write(s1,s1+10), s1+10u ) ); + s = "TEST-WRITE"; + BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.writeto(0,s)-s.begin(), 10 ) ); + BOOST_CHECK_NO_THROW( BOOST_CHECK_EQUAL( myh.writeto(0,s1,s1+10), s1+10 ) ); + } BOOST_CHECK_NO_THROW( myh.connect(0) ); BOOST_CHECK_NO_THROW( myh.bind(0) ); @@ -139,4 +147,6 @@ BOOST_AUTO_UNIT_TEST(clientSocketHandle) // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: