Skip to content

Commit

Permalink
TestFileLister: test excluding directories
Browse files Browse the repository at this point in the history
  • Loading branch information
firewave committed Feb 16, 2025
1 parent 74c75b4 commit 5386c99
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions test/testfilelister.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class TestFileLister : public TestFixture {
TEST_CASE(recursiveAddFilesEmptyPath);
TEST_CASE(excludeFile1);
TEST_CASE(excludeFile2);
TEST_CASE(excludeDir);
TEST_CASE(addFiles);
}

Expand Down Expand Up @@ -136,6 +137,21 @@ class TestFileLister : public TestFixture {
ASSERT_EQUALS(basedir + "lib/token.cpp", files.begin()->path());
}

void excludeDir() const {
const std::string basedir = findBaseDir();

std::list<FileWithDetails> files;
std::vector<std::string> ignored{"lib/"}; // needs to end with slash so it matches directories - added by CmdLineParser
PathMatch matcher(ignored);
std::string err = FileLister::recursiveAddFiles(files, basedir, {}, matcher);
ASSERT_EQUALS("", err);
ASSERT(!files.empty());
const auto it = std::find_if(files.cbegin(), files.cend(), [](const FileWithDetails& f){
return f.spath().find("/lib/") != std::string::npos;
});
ASSERT(it == files.cend());
}

void addFiles() const {
const std::string adddir = findBaseDir() + ".";

Expand Down

0 comments on commit 5386c99

Please sign in to comment.