| Index: courgette/third_party/bsdiff/bsdiff_search_unittest.cc
|
| diff --git a/courgette/third_party/bsdiff/bsdiff_search_unittest.cc b/courgette/third_party/bsdiff/bsdiff_search_unittest.cc
|
| index bcc5b2517179a24b1f81d18e13e66928017c0d8b..46332b09df181da6780254f2c308a4ba1d30263d 100644
|
| --- a/courgette/third_party/bsdiff/bsdiff_search_unittest.cc
|
| +++ b/courgette/third_party/bsdiff/bsdiff_search_unittest.cc
|
| @@ -5,10 +5,10 @@
|
| #include "courgette/third_party/bsdiff/bsdiff_search.h"
|
|
|
| #include <cstring>
|
| -#include <vector>
|
|
|
| #include "base/macros.h"
|
| -#include "courgette/third_party/bsdiff/qsufsort.h"
|
| +#include "courgette/third_party/bsdiff/paged_array.h"
|
| +#include "courgette/third_party/divsufsort/divsufsort.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| TEST(BSDiffSearchTest, Search) {
|
| @@ -18,9 +18,9 @@ TEST(BSDiffSearchTest, Search) {
|
| const char* str = "the quick brown fox jumps over the lazy dog.";
|
| int size = static_cast<int>(::strlen(str));
|
| const unsigned char* buf = reinterpret_cast<const unsigned char*>(str);
|
| - std::vector<int> I(size + 1);
|
| - std::vector<int> V(size + 1);
|
| - qsuf::qsufsort<int*>(&I[0], &V[0], buf, size);
|
| + courgette::PagedArray<divsuf::saidx_t> I;
|
| + ASSERT_TRUE(I.Allocate(size + 1));
|
| + divsuf::divsufsort_include_empty(buf, I.begin(), size);
|
|
|
| // Specific queries.
|
| const struct {
|
| @@ -65,7 +65,8 @@ TEST(BSDiffSearchTest, Search) {
|
|
|
| // Perform the search.
|
| bsdiff::SearchResult match =
|
| - bsdiff::search(&I[0], buf, size, query_buf, query_size);
|
| + bsdiff::search<courgette::PagedArray<divsuf::saidx_t>&>(
|
| + I, buf, size, query_buf, query_size);
|
|
|
| // Check basic properties and match with expected values.
|
| EXPECT_GE(match.size, 0);
|
| @@ -100,9 +101,9 @@ TEST(BSDiffSearchTest, SearchExact) {
|
| int size = static_cast<int>(::strlen(test_cases[idx]));
|
| const unsigned char* buf =
|
| reinterpret_cast<const unsigned char*>(test_cases[idx]);
|
| - std::vector<int> I(size + 1);
|
| - std::vector<int> V(size + 1);
|
| - qsuf::qsufsort<int*>(&I[0], &V[0], buf, size);
|
| + courgette::PagedArray<divsuf::saidx_t> I;
|
| + ASSERT_TRUE(I.Allocate(size + 1));
|
| + divsuf::divsufsort_include_empty(buf, I.begin(), size);
|
|
|
| // Test exact matches for every non-empty substring.
|
| for (int lo = 0; lo < size; ++lo) {
|
| @@ -113,7 +114,8 @@ TEST(BSDiffSearchTest, SearchExact) {
|
| const unsigned char* query_buf =
|
| reinterpret_cast<const unsigned char*>(query.c_str());
|
| bsdiff::SearchResult match =
|
| - bsdiff::search(&I[0], buf, size, query_buf, query_size);
|
| + bsdiff::search<courgette::PagedArray<divsuf::saidx_t>&>(
|
| + I, buf, size, query_buf, query_size);
|
|
|
| EXPECT_EQ(query_size, match.size);
|
| EXPECT_GE(match.pos, 0);
|
|
|