Simplify test code with initializer lists.

No functional change intended.

llvm-svn: 257287
This commit is contained in:
Benjamin Kramer 2016-01-10 10:45:19 +00:00
parent 730338b6a3
commit 2a23e55803
1 changed files with 16 additions and 47 deletions

View File

@ -370,14 +370,6 @@ TEST(VirtualFileSystemTest, BasicRealFSRecursiveIteration) {
EXPECT_EQ(1, Counts[3]); // d
}
template <typename T, size_t N>
std::vector<StringRef> makeStringRefVector(const T (&Arr)[N]) {
std::vector<StringRef> Vec;
for (size_t i = 0; i != N; ++i)
Vec.push_back(Arr[i]);
return Vec;
}
template <typename DirIter>
static void checkContents(DirIter I, ArrayRef<StringRef> Expected) {
std::error_code EC;
@ -405,20 +397,14 @@ TEST(VirtualFileSystemTest, OverlayIteration) {
checkContents(O->dir_begin("/", EC), ArrayRef<StringRef>("/file1"));
Upper->addRegularFile("/file2");
{
const char *Contents[] = {"/file2", "/file1"};
checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
checkContents(O->dir_begin("/", EC), {"/file2", "/file1"});
Lower->addDirectory("/dir1");
Lower->addRegularFile("/dir1/foo");
Upper->addDirectory("/dir2");
Upper->addRegularFile("/dir2/foo");
checkContents(O->dir_begin("/dir2", EC), ArrayRef<StringRef>("/dir2/foo"));
{
const char *Contents[] = {"/dir2", "/file2", "/dir1", "/file1"};
checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
checkContents(O->dir_begin("/", EC), {"/dir2", "/file2", "/dir1", "/file1"});
}
TEST(VirtualFileSystemTest, OverlayRecursiveIteration) {
@ -440,11 +426,8 @@ TEST(VirtualFileSystemTest, OverlayRecursiveIteration) {
Upper->addDirectory("/dir");
Upper->addRegularFile("/dir/file2");
{
const char *Contents[] = {"/dir", "/dir/file2", "/file1"};
checkContents(vfs::recursive_directory_iterator(*O, "/", EC),
makeStringRefVector(Contents));
}
checkContents(vfs::recursive_directory_iterator(*O, "/", EC),
{"/dir", "/dir/file2", "/file1"});
Lower->addDirectory("/dir1");
Lower->addRegularFile("/dir1/foo");
@ -460,13 +443,10 @@ TEST(VirtualFileSystemTest, OverlayRecursiveIteration) {
Upper->addRegularFile("/hiddenByUp");
checkContents(vfs::recursive_directory_iterator(*O, "/dir2", EC),
ArrayRef<StringRef>("/dir2/foo"));
{
const char *Contents[] = { "/dir", "/dir/file2", "/dir2", "/dir2/foo",
"/hiddenByUp", "/a", "/a/b", "/a/b/c", "/a/b/c/d", "/dir1", "/dir1/a",
"/dir1/a/b", "/dir1/foo", "/file1" };
checkContents(vfs::recursive_directory_iterator(*O, "/", EC),
makeStringRefVector(Contents));
}
checkContents(vfs::recursive_directory_iterator(*O, "/", EC),
{"/dir", "/dir/file2", "/dir2", "/dir2/foo", "/hiddenByUp",
"/a", "/a/b", "/a/b/c", "/a/b/c/d", "/dir1", "/dir1/a",
"/dir1/a/b", "/dir1/foo", "/file1"});
}
TEST(VirtualFileSystemTest, ThreeLevelIteration) {
@ -486,10 +466,7 @@ TEST(VirtualFileSystemTest, ThreeLevelIteration) {
Lower->addRegularFile("/file1");
Upper->addRegularFile("/file3");
{
const char *Contents[] = {"/file3", "/file2", "/file1"};
checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
checkContents(O->dir_begin("/", EC), {"/file3", "/file2", "/file1"});
}
TEST(VirtualFileSystemTest, HiddenInIteration) {
@ -510,11 +487,9 @@ TEST(VirtualFileSystemTest, HiddenInIteration) {
Middle->addRegularFile("/hiddenByUp", sys::fs::owner_write);
Upper->addRegularFile("/onlyInUp", sys::fs::owner_all);
Upper->addRegularFile("/hiddenByUp", sys::fs::owner_all);
{
const char *Contents[] = {"/hiddenByUp", "/onlyInUp", "/hiddenByMid",
"/onlyInMid", "/onlyInLow"};
checkContents(O->dir_begin("/", EC), makeStringRefVector(Contents));
}
checkContents(
O->dir_begin("/", EC),
{"/hiddenByUp", "/onlyInUp", "/hiddenByMid", "/onlyInMid", "/onlyInLow"});
// Make sure we get the top-most entry
{
@ -1079,15 +1054,9 @@ TEST_F(VFSFromYAMLTest, DirectoryIteration) {
O->pushOverlay(FS);
std::error_code EC;
{
const char *Contents[] = {"//root/file1", "//root/file2", "//root/file3",
"//root/foo"};
checkContents(O->dir_begin("//root/", EC), makeStringRefVector(Contents));
}
checkContents(O->dir_begin("//root/", EC),
{"//root/file1", "//root/file2", "//root/file3", "//root/foo"});
{
const char *Contents[] = {"//root/foo/bar/a", "//root/foo/bar/b"};
checkContents(O->dir_begin("//root/foo/bar", EC),
makeStringRefVector(Contents));
}
checkContents(O->dir_begin("//root/foo/bar", EC),
{"//root/foo/bar/a", "//root/foo/bar/b"});
}