diff options
| author | Avneesh Saluja <asaluja@gmail.com> | 2013-03-28 18:28:16 -0700 | 
|---|---|---|
| committer | Avneesh Saluja <asaluja@gmail.com> | 2013-03-28 18:28:16 -0700 | 
| commit | 3d8d656fa7911524e0e6885647173474524e0784 (patch) | |
| tree | 81b1ee2fcb67980376d03f0aa48e42e53abff222 /klm/util/stream/io_test.cc | |
| parent | be7f57fdd484e063775d7abf083b9fa4c403b610 (diff) | |
| parent | 96fedabebafe7a38a6d5928be8fff767e411d705 (diff) | |
fixed conflicts
Diffstat (limited to 'klm/util/stream/io_test.cc')
| -rw-r--r-- | klm/util/stream/io_test.cc | 38 | 
1 files changed, 38 insertions, 0 deletions
diff --git a/klm/util/stream/io_test.cc b/klm/util/stream/io_test.cc new file mode 100644 index 00000000..82108335 --- /dev/null +++ b/klm/util/stream/io_test.cc @@ -0,0 +1,38 @@ +#include "util/stream/io.hh" + +#include "util/stream/chain.hh" +#include "util/file.hh" + +#define BOOST_TEST_MODULE IOTest +#include <boost/test/unit_test.hpp> + +#include <unistd.h> + +namespace util { namespace stream { namespace { + +BOOST_AUTO_TEST_CASE(CopyFile) { +  std::string temps("io_test_temp"); + +  scoped_fd in(MakeTemp(temps)); +  for (uint64_t i = 0; i < 100000; ++i) { +    WriteOrThrow(in.get(), &i, sizeof(uint64_t)); +  } +  SeekOrThrow(in.get(), 0); +  scoped_fd out(MakeTemp(temps)); + +  ChainConfig config; +  config.entry_size = 8; +  config.total_memory = 1024; +  config.block_count = 10; + +  Chain(config) >> PRead(in.get()) >> Write(out.get()); + +  SeekOrThrow(out.get(), 0); +  for (uint64_t i = 0; i < 100000; ++i) { +    uint64_t got; +    ReadOrThrow(out.get(), &got, sizeof(uint64_t)); +    BOOST_CHECK_EQUAL(i, got); +  } +} + +}}} // namespaces  | 
