From 4e3d1b64a60c56ce09aadb0eb5952cc818f14b54 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Thu, 31 Mar 2016 21:12:48 +0100 Subject: [PATCH] Fix tests broken by introduction of ghosted plugin --- src/tests/backend/game/game_test.h | 17 ++++++++--------- src/tests/base_game_test.h | 9 ++++++--- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/tests/backend/game/game_test.h b/src/tests/backend/game/game_test.h index 077af4b6..4ad16b99 100644 --- a/src/tests/backend/game/game_test.h +++ b/src/tests/backend/game/game_test.h @@ -170,21 +170,20 @@ namespace loot { // First set reverse timestamps to be sure. time_t time = boost::filesystem::last_write_time(dataPath / masterFile); for (size_t i = 1; i < loadOrder.size(); ++i) { + if (!boost::filesystem::exists(dataPath / loadOrder[i])) + loadOrder[i] += ".ghost"; + boost::filesystem::last_write_time(dataPath / loadOrder[i], time - i * 60); ASSERT_EQ(time - i * 60, boost::filesystem::last_write_time(dataPath / loadOrder[i])); } EXPECT_NO_THROW(game.RedatePlugins()); - if (GetParam() == Game::tes5) { - for (size_t i = 0; i < loadOrder.size(); ++i) { - ASSERT_EQ(time + i * 60, boost::filesystem::last_write_time(dataPath / loadOrder[i])); - } - } - else { - for (size_t i = 0; i < loadOrder.size(); ++i) { - ASSERT_EQ(time - i * 60, boost::filesystem::last_write_time(dataPath / loadOrder[i])); - } + time_t interval = 60; + if (GetParam() != Game::tes5) + interval *= -1; + for (size_t i = 0; i < loadOrder.size(); ++i) { + EXPECT_EQ(time + i * interval, boost::filesystem::last_write_time(dataPath / loadOrder[i])); } } diff --git a/src/tests/base_game_test.h b/src/tests/base_game_test.h index be755b76..7d827cb2 100644 --- a/src/tests/base_game_test.h +++ b/src/tests/base_game_test.h @@ -103,9 +103,12 @@ namespace loot { if (isLoadOrderTimestampBased(GetParam())) { std::map loadOrder; for (boost::filesystem::directory_iterator it(dataPath); it != boost::filesystem::directory_iterator(); ++it) { - if (boost::filesystem::is_regular_file(it->status()) && - (boost::ends_with(it->path().filename().string(), ".esp") || boost::ends_with(it->path().filename().string(), ".esm"))) { - loadOrder.emplace(boost::filesystem::last_write_time(it->path()), it->path().filename().string()); + if (boost::filesystem::is_regular_file(it->status())) { + std::string filename = it->path().filename().string(); + if (boost::ends_with(filename, ".ghost")) + filename = it->path().stem().string(); + if (boost::ends_with(filename, ".esp") || boost::ends_with(filename, ".esm")) + loadOrder.emplace(boost::filesystem::last_write_time(it->path()), filename); } } for (const auto& plugin : loadOrder)