summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-08-30 16:55:44 +0200
committerTor Egge <Tor.Egge@online.no>2023-08-30 16:55:44 +0200
commit50e10e83451a9eb88d1d65d8ce75fc5a84ae4d37 (patch)
tree60c5ebbed0228b7bd98aed7f1b1283af1ef3c11f /searchcore
parent6661965c41d2d5ad0ed0be931140cff10d193bff (diff)
Use std::filesystem::directory_iterator in index manager unit test.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/index/indexmanager_test.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/searchcore/src/tests/proton/index/indexmanager_test.cpp b/searchcore/src/tests/proton/index/indexmanager_test.cpp
index a7209ea8897..91f585a4f45 100644
--- a/searchcore/src/tests/proton/index/indexmanager_test.cpp
+++ b/searchcore/src/tests/proton/index/indexmanager_test.cpp
@@ -267,22 +267,16 @@ set<uint32_t>
readDiskIds(const string &dir, const string &type)
{
set<uint32_t> ids;
- FastOS_DirectoryScan dir_scan(dir.c_str());
- while (dir_scan.ReadNext()) {
- if (!dir_scan.IsDirectory()) {
- continue;
+ const string flush_prefix("index." + type + ".");
+ std::filesystem::directory_iterator dir_scan(dir);
+ for (auto& entry : dir_scan) {
+ if (entry.is_directory() && entry.path().filename().string().find(flush_prefix) == 0) {
+ auto idString = entry.path().filename().string().substr(flush_prefix.size());
+ vespalib::asciistream ist(idString);
+ uint32_t id;
+ ist >> id;
+ ids.insert(id);
}
- string name = dir_scan.GetName();
- const string flush_prefix("index." + type + ".");
- string::size_type pos = name.find(flush_prefix);
- if (pos != 0) {
- continue;
- }
- vespalib::string idString(name.substr(flush_prefix.size()));
- vespalib::asciistream ist(idString);
- uint32_t id;
- ist >> id;
- ids.insert(id);
}
return ids;
}