aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-11-22 11:20:36 +0100
committerTor Egge <Tor.Egge@online.no>2022-11-22 11:20:36 +0100
commit25d902a8d776ff6e67ae15b188cbc96ca57c88e4 (patch)
tree5c1e4e52ff97658afa797a1571eef378dccd6d13 /searchlib/src
parent3e6deec22291d2e4304be1e17547e9e147084340 (diff)
Move shared test code to test library.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/tests/tensor/hnsw_index/CMakeLists.txt1
-rw-r--r--searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp38
-rw-r--r--searchlib/src/tests/tensor/hnsw_saver/CMakeLists.txt1
-rw-r--r--searchlib/src/tests/tensor/hnsw_saver/hnsw_save_load_test.cpp38
-rw-r--r--searchlib/src/vespa/searchlib/test/CMakeLists.txt1
-rw-r--r--searchlib/src/vespa/searchlib/test/vector_buffer_reader.h29
-rw-r--r--searchlib/src/vespa/searchlib/test/vector_buffer_writer.cpp24
-rw-r--r--searchlib/src/vespa/searchlib/test/vector_buffer_writer.h21
8 files changed, 85 insertions, 68 deletions
diff --git a/searchlib/src/tests/tensor/hnsw_index/CMakeLists.txt b/searchlib/src/tests/tensor/hnsw_index/CMakeLists.txt
index a65d7071b5e..aec1d742700 100644
--- a/searchlib/src/tests/tensor/hnsw_index/CMakeLists.txt
+++ b/searchlib/src/tests/tensor/hnsw_index/CMakeLists.txt
@@ -3,6 +3,7 @@ vespa_add_executable(searchlib_hnsw_index_test_app TEST
SOURCES
hnsw_index_test.cpp
DEPENDS
+ searchlib_test
searchlib
GTest::GTest
)
diff --git a/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp b/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp
index b86913caa16..13caad8b6d6 100644
--- a/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp
+++ b/searchlib/src/tests/tensor/hnsw_index/hnsw_index_test.cpp
@@ -2,6 +2,8 @@
#include <vespa/eval/eval/value_type.h>
#include <vespa/searchlib/common/bitvector.h>
+#include <vespa/searchlib/test/vector_buffer_reader.h>
+#include <vespa/searchlib/test/vector_buffer_writer.h>
#include <vespa/searchlib/tensor/distance_functions.h>
#include <vespa/searchlib/tensor/doc_vector_access.h>
#include <vespa/searchlib/tensor/hnsw_index.h>
@@ -11,7 +13,6 @@
#include <vespa/searchlib/tensor/inv_log_level_generator.h>
#include <vespa/searchlib/tensor/subspace_type.h>
#include <vespa/searchlib/tensor/vector_bundle.h>
-#include <vespa/searchlib/util/bufferwriter.h>
#include <vespa/searchlib/queryeval/global_filter.h>
#include <vespa/vespalib/datastore/compaction_spec.h>
#include <vespa/vespalib/datastore/compaction_strategy.h>
@@ -36,39 +37,8 @@ using vespalib::eval::ValueType;
using vespalib::datastore::CompactionSpec;
using vespalib::datastore::CompactionStrategy;
using search::queryeval::GlobalFilter;
-
-class VectorBufferWriter : public BufferWriter {
-private:
- char tmp[1024];
-public:
- std::vector<char> output;
- VectorBufferWriter() {
- setup(tmp, 1024);
- }
- ~VectorBufferWriter() {}
- void flush() override {
- for (size_t i = 0; i < usedLen(); ++i) {
- output.push_back(tmp[i]);
- }
- rewind();
- }
-};
-
-class VectorBufferReader {
-private:
- const std::vector<char>& _data;
- size_t _pos;
-
-public:
- VectorBufferReader(const std::vector<char>& data) : _data(data), _pos(0) {}
- uint32_t readHostOrder() {
- uint32_t result = 0;
- assert(_pos + sizeof(uint32_t) <= _data.size());
- std::memcpy(&result, _data.data() + _pos, sizeof(uint32_t));
- _pos += sizeof(uint32_t);
- return result;
- }
-};
+using search::test::VectorBufferReader;
+using search::test::VectorBufferWriter;
template <typename FloatType>
class MyDocVectorAccess : public DocVectorAccess {
diff --git a/searchlib/src/tests/tensor/hnsw_saver/CMakeLists.txt b/searchlib/src/tests/tensor/hnsw_saver/CMakeLists.txt
index e603f890ac9..3e2be2dbb58 100644
--- a/searchlib/src/tests/tensor/hnsw_saver/CMakeLists.txt
+++ b/searchlib/src/tests/tensor/hnsw_saver/CMakeLists.txt
@@ -3,6 +3,7 @@ vespa_add_executable(searchlib_hnsw_save_load_test_app TEST
SOURCES
hnsw_save_load_test.cpp
DEPENDS
+ searchlib_test
searchlib
GTest::GTest
)
diff --git a/searchlib/src/tests/tensor/hnsw_saver/hnsw_save_load_test.cpp b/searchlib/src/tests/tensor/hnsw_saver/hnsw_save_load_test.cpp
index e2a96ec059c..7495fa18c4d 100644
--- a/searchlib/src/tests/tensor/hnsw_saver/hnsw_save_load_test.cpp
+++ b/searchlib/src/tests/tensor/hnsw_saver/hnsw_save_load_test.cpp
@@ -3,7 +3,8 @@
#include <vespa/searchlib/tensor/hnsw_graph.h>
#include <vespa/searchlib/tensor/hnsw_index_saver.h>
#include <vespa/searchlib/tensor/hnsw_index_loader.hpp>
-#include <vespa/searchlib/util/bufferwriter.h>
+#include <vespa/searchlib/test/vector_buffer_reader.h>
+#include <vespa/searchlib/test/vector_buffer_writer.h>
#include <vespa/searchlib/util/fileutil.h>
#include <vespa/vespalib/gtest/gtest.h>
#include <vector>
@@ -14,39 +15,8 @@ LOG_SETUP("hnsw_save_load_test");
using namespace search::tensor;
using search::BufferWriter;
using search::fileutil::LoadedBuffer;
-
-class VectorBufferWriter : public BufferWriter {
-private:
- char tmp[1024];
-public:
- std::vector<char> output;
- VectorBufferWriter() {
- setup(tmp, 1024);
- }
- ~VectorBufferWriter() {}
- void flush() override {
- for (size_t i = 0; i < usedLen(); ++i) {
- output.push_back(tmp[i]);
- }
- rewind();
- }
-};
-
-class VectorBufferReader {
-private:
- const std::vector<char>& _data;
- size_t _pos;
-
-public:
- VectorBufferReader(const std::vector<char>& data) : _data(data), _pos(0) {}
- uint32_t readHostOrder() {
- uint32_t result = 0;
- assert(_pos + sizeof(uint32_t) <= _data.size());
- std::memcpy(&result, _data.data() + _pos, sizeof(uint32_t));
- _pos += sizeof(uint32_t);
- return result;
- }
-};
+using search::test::VectorBufferReader;
+using search::test::VectorBufferWriter;
using V = std::vector<uint32_t>;
diff --git a/searchlib/src/vespa/searchlib/test/CMakeLists.txt b/searchlib/src/vespa/searchlib/test/CMakeLists.txt
index 7decdb992e6..ac8bcb240e0 100644
--- a/searchlib/src/vespa/searchlib/test/CMakeLists.txt
+++ b/searchlib/src/vespa/searchlib/test/CMakeLists.txt
@@ -12,6 +12,7 @@ vespa_add_library(searchlib_test
searchiteratorverifier.cpp
schema_builder.cpp
string_field_builder.cpp
+ vector_buffer_writer.cpp
$<TARGET_OBJECTS:searchlib_test_fakedata>
$<TARGET_OBJECTS:searchlib_searchlib_test_diskindex>
$<TARGET_OBJECTS:searchlib_test_gtest_migration>
diff --git a/searchlib/src/vespa/searchlib/test/vector_buffer_reader.h b/searchlib/src/vespa/searchlib/test/vector_buffer_reader.h
new file mode 100644
index 00000000000..b608e0c7259
--- /dev/null
+++ b/searchlib/src/vespa/searchlib/test/vector_buffer_reader.h
@@ -0,0 +1,29 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include <cassert>
+#include <cstdint>
+#include <cstring>
+#include <vector>
+
+namespace search::test
+{
+
+class VectorBufferReader {
+private:
+ const std::vector<char>& _data;
+ size_t _pos;
+
+public:
+ VectorBufferReader(const std::vector<char>& data) : _data(data), _pos(0) {}
+ uint32_t readHostOrder() {
+ uint32_t result = 0;
+ assert(_pos + sizeof(uint32_t) <= _data.size());
+ std::memcpy(&result, _data.data() + _pos, sizeof(uint32_t));
+ _pos += sizeof(uint32_t);
+ return result;
+ }
+};
+
+}
diff --git a/searchlib/src/vespa/searchlib/test/vector_buffer_writer.cpp b/searchlib/src/vespa/searchlib/test/vector_buffer_writer.cpp
new file mode 100644
index 00000000000..59c42840c37
--- /dev/null
+++ b/searchlib/src/vespa/searchlib/test/vector_buffer_writer.cpp
@@ -0,0 +1,24 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include "vector_buffer_writer.h"
+
+namespace search::test {
+
+VectorBufferWriter::VectorBufferWriter()
+ : BufferWriter()
+{
+ setup(tmp, 1024);
+}
+
+VectorBufferWriter::~VectorBufferWriter() = default;
+
+void
+VectorBufferWriter::flush()
+{
+ for (size_t i = 0; i < usedLen(); ++i) {
+ output.push_back(tmp[i]);
+ }
+ rewind();
+}
+
+}
diff --git a/searchlib/src/vespa/searchlib/test/vector_buffer_writer.h b/searchlib/src/vespa/searchlib/test/vector_buffer_writer.h
new file mode 100644
index 00000000000..22089e6d510
--- /dev/null
+++ b/searchlib/src/vespa/searchlib/test/vector_buffer_writer.h
@@ -0,0 +1,21 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include <vespa/searchlib/util/bufferwriter.h>
+#include <vector>
+
+namespace search::test
+{
+
+class VectorBufferWriter : public BufferWriter {
+private:
+ char tmp[1024];
+public:
+ std::vector<char> output;
+ VectorBufferWriter();
+ ~VectorBufferWriter();
+ void flush() override;
+};
+
+}