archive/ArchiveLookup: remove "suffix" output parameter
Let the caller do this. Our GetSuffix() function was broken anyway.
This commit is contained in:
@@ -8,41 +8,39 @@
|
||||
|
||||
TEST(ArchiveTest, Lookup)
|
||||
{
|
||||
const char *archive, *inpath, *suffix;
|
||||
const char *archive, *inpath;
|
||||
|
||||
char *path = strdup("");
|
||||
EXPECT_THROW(archive_lookup(path, &archive, &inpath, &suffix),
|
||||
EXPECT_THROW(archive_lookup(path, &archive, &inpath),
|
||||
std::system_error);
|
||||
free(path);
|
||||
|
||||
path = strdup(".");
|
||||
EXPECT_FALSE(archive_lookup(path, &archive, &inpath, &suffix));
|
||||
EXPECT_FALSE(archive_lookup(path, &archive, &inpath));
|
||||
free(path);
|
||||
|
||||
path = strdup("config.h");
|
||||
EXPECT_FALSE(archive_lookup(path, &archive, &inpath, &suffix));
|
||||
EXPECT_FALSE(archive_lookup(path, &archive, &inpath));
|
||||
free(path);
|
||||
|
||||
path = strdup("src/foo/bar");
|
||||
EXPECT_THROW(archive_lookup(path, &archive, &inpath, &suffix),
|
||||
EXPECT_THROW(archive_lookup(path, &archive, &inpath),
|
||||
std::system_error);
|
||||
free(path);
|
||||
|
||||
fclose(fopen("dummy", "w"));
|
||||
|
||||
path = strdup("dummy/foo/bar");
|
||||
EXPECT_TRUE(archive_lookup(path, &archive, &inpath, &suffix));
|
||||
EXPECT_TRUE(archive_lookup(path, &archive, &inpath));
|
||||
EXPECT_EQ((const char *)path, archive);
|
||||
EXPECT_STREQ(archive, "dummy");
|
||||
EXPECT_STREQ(inpath, "foo/bar");
|
||||
EXPECT_EQ((const char *)nullptr, suffix);
|
||||
free(path);
|
||||
|
||||
path = strdup("config.h/foo/bar");
|
||||
EXPECT_TRUE(archive_lookup(path, &archive, &inpath, &suffix));
|
||||
EXPECT_TRUE(archive_lookup(path, &archive, &inpath));
|
||||
EXPECT_EQ((const char *)path, archive);
|
||||
EXPECT_STREQ(archive, "config.h");
|
||||
EXPECT_STREQ(inpath, "foo/bar");
|
||||
EXPECT_STREQ(suffix, "h");
|
||||
free(path);
|
||||
}
|
||||
|
Reference in New Issue
Block a user