diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-08-30 18:13:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-30 18:13:22 +0200 |
commit | 5d7333a19b84647a121217ce96d5ca50222f9e6b (patch) | |
tree | 11f61157e466fd30bf9e8a7cb873b0bac700923a /searchcore | |
parent | 815bf84ee96b2ea36e61afe461d897777511a3a2 (diff) | |
parent | 50e10e83451a9eb88d1d65d8ce75fc5a84ae4d37 (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.cpp | 24 |
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; } |