Skip to content

Commit

Permalink
UnitTests/Path: Add magical tests. This will also test identify_magic.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122948 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
Bigcheese committed Jan 6, 2011
1 parent f9fd078 commit 238589e
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions unittests/Support/Path.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,29 @@ TEST_F(FileSystemTest, DirectoryIteration) {
for (fs::directory_iterator i(".", ec), e; i != e; i.increment(ec))
ASSERT_NO_ERROR(ec);
}

TEST_F(FileSystemTest, Magic) {
struct type {
const char *filename;
const char *magic_str;
size_t magic_str_len;
} types [] = {{"magic.archive", "!<arch>\x0A", 8}};

// Create some files filled with magic.
for (type *i = types, *e = types + (sizeof(types) / sizeof(type)); i != e;
++i) {
SmallString<128> file_pathname(TestDirectory);
path::append(file_pathname, i->filename);
std::string ErrMsg;
raw_fd_ostream file(file_pathname.c_str(), ErrMsg,
raw_fd_ostream::F_Binary);
ASSERT_FALSE(file.has_error());
StringRef magic(i->magic_str, i->magic_str_len);
file << magic;
file.flush();
bool res = false;
ASSERT_NO_ERROR(fs::has_magic(file_pathname.c_str(), magic, res));
EXPECT_TRUE(res);
}
}

Expand Down

0 comments on commit 238589e

Please sign in to comment.