Test against a consistent set of metadata.

This commit is contained in:
Oliver Hamlet
2015-01-03 01:35:47 +00:00
parent f26955c0d2
commit 679c6b2fde
2 changed files with 62 additions and 4 deletions
+2 -4
View File
@@ -244,8 +244,7 @@ TEST_F(OblivionAPIOperationsTest, GetPluginMessages) {
EXPECT_EQ(loot_error_invalid_args, loot_get_plugin_messages(db, "EnhancedWeatherSIOnly.esm", &messages, NULL));
// Fetch and load the metadata.
bool updated;
ASSERT_EQ(loot_ok, loot_update_masterlist(db, masterlistPath.string().c_str(), "https://github.com/loot/oblivion.git", "master", &updated));
ASSERT_NO_THROW(GenerateMasterlist());
ASSERT_EQ(loot_ok, loot_load_lists(db, masterlistPath.string().c_str(), NULL));
// Test for plugin with no messages.
@@ -287,8 +286,7 @@ TEST_F(OblivionAPIOperationsTest, GetDirtyInfo) {
EXPECT_EQ(loot_error_invalid_args, loot_get_dirty_info(db, "Oblivion.esm", NULL));
// Fetch and load the metadata.
bool updated;
ASSERT_EQ(loot_ok, loot_update_masterlist(db, masterlistPath.string().c_str(), "https://github.com/loot/oblivion.git", "master", &updated));
ASSERT_NO_THROW(GenerateMasterlist());
ASSERT_EQ(loot_ok, loot_load_lists(db, masterlistPath.string().c_str(), NULL));
// A plugin with no metadata.
+60
View File
@@ -169,6 +169,66 @@ protected:
// Delete existing plugins.txt.
ASSERT_NO_THROW(boost::filesystem::remove(localPath / "plugins.txt"));
};
inline void GenerateMasterlist() {
loot::ofstream masterlist(masterlistPath);
masterlist
<< "plugins:" << std::endl
<< " - name: Oblivion.esm" << std::endl
<< " - name: Silgrad_Tower.esm" << std::endl
<< " - name: No Lights Flicker.esm" << std::endl
<< " msg:" << std::endl
<< " - type: say" << std::endl
<< " content: Use Wrye Bash Bashed Patch tweak instead." << std::endl
<< " - name: bookplacing.esm" << std::endl
<< " msg:" << std::endl
<< " - type: warn" << std::endl
<< " content: 'Check you are using v2+. If not, Update. v1 has a severe bug with the Mystic Emporium disappearing.'" << std::endl
<< " - name: EnhancedWeatherSIOnly.esm" << std::endl
<< " msg:" << std::endl
<< " - type: error" << std::endl
<< " content: Obsolete. Remove this and install Enhanced Weather." << std::endl
<< " - name: Hammerfell.esm" << std::endl
<< " dirty:" << std::endl
<< " - crc: 0x7d22f9df" << std::endl
<< " util: TES4Edit" << std::endl
<< " udr: 4" << std::endl
<< " - name: nVidia Black Screen Fix.esp" << std::endl
<< " msg:" << std::endl
<< " - type: say" << std::endl
<< " content: Use Wrye Bash Bashed Patch tweak instead." << std::endl
<< " - type: say" << std::endl
<< " content: 'Alternatively, remove this and use UOP v3.0.1+ instead.'" << std::endl
<< " - name: Unofficial Oblivion Patch.esp" << std::endl
<< " msg:" << std::endl
<< " - type: say" << std::endl
<< " content: 'Do not clean ITM records, they are intentional and required for the mod to function.'" << std::endl
<< " tag:" << std::endl
<< " - Actors.ACBS" << std::endl
<< " - Actors.AIData" << std::endl
<< " - Actors.AIPackages" << std::endl
<< " - Actors.CombatStyle" << std::endl
<< " - Actors.DeathItem" << std::endl
<< " - Actors.Stats" << std::endl
<< " - C.Climate" << std::endl
<< " - C.Light" << std::endl
<< " - C.Music" << std::endl
<< " - C.Name" << std::endl
<< " - C.Owner" << std::endl
<< " - Creatures.Blood" << std::endl
<< " - Delev" << std::endl
<< " - Factions" << std::endl
<< " - Invent" << std::endl
<< " - Names" << std::endl
<< " - NPC.Class" << std::endl
<< " - Relations" << std::endl
<< " - Relev" << std::endl
<< " - Scripts" << std::endl
<< " - Stats" << std::endl
<< " - '-C.Water'" << std::endl;
masterlist.close();
}
};
class OblivionAPIOperationsTest : public OblivionTest {