summaryrefslogtreecommitdiff
path: root/test/blob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/blob.cpp')
-rw-r--r--test/blob.cpp56
1 files changed, 0 insertions, 56 deletions
diff --git a/test/blob.cpp b/test/blob.cpp
deleted file mode 100644
index ca6ce83..0000000
--- a/test/blob.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// Copyright (c) 2022 Klemens Morgenstern (klemens.morgenstern@gmx.net)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-
-#include <boost/sqlite/blob.hpp>
-#include <boost/sqlite/connection.hpp>
-
-#include <random>
-
-#include "test.hpp"
-
-using namespace boost;
-
-BOOST_AUTO_TEST_CASE(blob)
-{
- sqlite::connection conn{":memory:"};
- // language=sqlite
- conn.execute("create table blobs(id integer primary key autoincrement, bb blob);");
-
- std::vector<unsigned char> blobby;
- blobby.resize(4096*4096);
- std::random_device dev;
- std::mt19937 rng(dev());
- std::uniform_int_distribution<std::mt19937::result_type> dist(0,255); // distribution in range [1, 6]
-
- std::generate(blobby.begin(), blobby.end(),
- [&]{return static_cast<unsigned char>(dist(rng));});
-
-
- conn.prepare("insert into blobs(bb) values ($1);").execute(std::make_tuple(sqlite::zero_blob(4096 * 4096 )));
-
- auto bh = open_blob(conn, "main", "blobs", "bb", 1);
-
- BOOST_CHECK(bh.size() == 4096 * 4096);
-
-
- unsigned char buf[4096];
- std::generate(std::begin(buf), std::end(buf), [&]{return static_cast<unsigned char>(dist(rng));});
- bh.read_at(buf, 4096, 4096);
- BOOST_CHECK(std::all_of(std::begin(buf), std::end(buf), [](unsigned char c) {return c == 0u;}));
-
- bh.write_at(blobby.data(), blobby.size(), 0u);
- bh.read_at(buf, 4096, 4096);
- BOOST_CHECK(std::memcmp(buf, blobby.data() + 4096, 4096) == 0);
-
- BOOST_CHECK_THROW(open_blob(conn, "main", "doesnt-exit", "blobber", 2), boost::system::system_error);
-
- sqlite::blob_handle bb;
- BOOST_CHECK_THROW(bb.read_at(blobby.data(), blobby.size(), 0), boost::system::system_error);
- BOOST_CHECK_THROW(bb.write_at(blobby.data(), blobby.size(), 0), boost::system::system_error);
-
-} \ No newline at end of file