summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-08-30 18:13:22 +0200
committerGitHub <noreply@github.com>2023-08-30 18:13:22 +0200
commit5d7333a19b84647a121217ce96d5ca50222f9e6b (patch)
tree11f61157e466fd30bf9e8a7cb873b0bac700923a /searchcore
parent815bf84ee96b2ea36e61afe461d897777511a3a2 (diff)
parent50e10e83451a9eb88d1d65d8ce75fc5a84ae4d37 (diff)
Merge pull request #28286 from vespa-engine/toregge/use-std-filesystem-directory-iterator-in-index-manager-unit-test
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;
}