diff options
| author | Léo Lam <leo@leolam.fr> | 2021-01-27 13:12:05 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-27 13:12:05 +0100 |
| commit | bc14e4a0f064314abb9f43c1e4292878dd63d950 (patch) | |
| tree | 186e9ef452b00dfb592ef75579b652ed085f40ad /Source/UnitTests/Core/CoreTimingTest.cpp | |
| parent | 093978b2e0c1c6a438cd1ce8fecf62300ec6bed3 (diff) | |
| parent | 83f912b58af2d39265184aa5ca4c30050757fe9e (diff) | |
Merge pull request #9463 from Dentomologist/fix_CreateTempDir_calls
UnitTests: Add setup error checking
Diffstat (limited to 'Source/UnitTests/Core/CoreTimingTest.cpp')
| -rw-r--r-- | Source/UnitTests/Core/CoreTimingTest.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/UnitTests/Core/CoreTimingTest.cpp b/Source/UnitTests/Core/CoreTimingTest.cpp index dfff3adfe3..da3c7efe52 100644 --- a/Source/UnitTests/Core/CoreTimingTest.cpp +++ b/Source/UnitTests/Core/CoreTimingTest.cpp @@ -39,6 +39,10 @@ class ScopeInit final public: ScopeInit() : m_profile_path(File::CreateTempDir()) { + if (!UserDirectoryExists()) + { + return; + } Core::DeclareAsCPUThread(); UICommon::SetUserDirectory(m_profile_path); Config::Init(); @@ -48,6 +52,10 @@ public: } ~ScopeInit() { + if (!UserDirectoryExists()) + { + return; + } CoreTiming::Shutdown(); PowerPC::Shutdown(); SConfig::Shutdown(); @@ -55,6 +63,7 @@ public: Core::UndeclareAsCPUThread(); File::DeleteDirRecursively(m_profile_path); } + bool UserDirectoryExists() const { return !m_profile_path.empty(); } private: std::string m_profile_path; @@ -77,6 +86,7 @@ static void AdvanceAndCheck(u32 idx, int downcount, int expected_lateness = 0, TEST(CoreTiming, BasicOrder) { ScopeInit guard; + ASSERT_TRUE(guard.UserDirectoryExists()); CoreTiming::EventType* cb_a = CoreTiming::RegisterEvent("callbackA", CallbackTemplate<0>); CoreTiming::EventType* cb_b = CoreTiming::RegisterEvent("callbackB", CallbackTemplate<1>); @@ -127,6 +137,7 @@ TEST(CoreTiming, SharedSlot) using namespace SharedSlotTest; ScopeInit guard; + ASSERT_TRUE(guard.UserDirectoryExists()); CoreTiming::EventType* cb_a = CoreTiming::RegisterEvent("callbackA", FifoCallback<0>); CoreTiming::EventType* cb_b = CoreTiming::RegisterEvent("callbackB", FifoCallback<1>); @@ -156,6 +167,7 @@ TEST(CoreTiming, SharedSlot) TEST(CoreTiming, PredictableLateness) { ScopeInit guard; + ASSERT_TRUE(guard.UserDirectoryExists()); CoreTiming::EventType* cb_a = CoreTiming::RegisterEvent("callbackA", CallbackTemplate<0>); CoreTiming::EventType* cb_b = CoreTiming::RegisterEvent("callbackB", CallbackTemplate<1>); @@ -190,6 +202,7 @@ TEST(CoreTiming, ChainScheduling) using namespace ChainSchedulingTest; ScopeInit guard; + ASSERT_TRUE(guard.UserDirectoryExists()); CoreTiming::EventType* cb_a = CoreTiming::RegisterEvent("callbackA", CallbackTemplate<0>); CoreTiming::EventType* cb_b = CoreTiming::RegisterEvent("callbackB", CallbackTemplate<1>); @@ -245,6 +258,7 @@ TEST(CoreTiming, ScheduleIntoPast) using namespace ScheduleIntoPastTest; ScopeInit guard; + ASSERT_TRUE(guard.UserDirectoryExists()); s_cb_next = CoreTiming::RegisterEvent("callbackA", CallbackTemplate<0>); CoreTiming::EventType* cb_b = CoreTiming::RegisterEvent("callbackB", CallbackTemplate<1>); @@ -282,6 +296,7 @@ TEST(CoreTiming, ScheduleIntoPast) TEST(CoreTiming, Overclocking) { ScopeInit guard; + ASSERT_TRUE(guard.UserDirectoryExists()); CoreTiming::EventType* cb_a = CoreTiming::RegisterEvent("callbackA", CallbackTemplate<0>); CoreTiming::EventType* cb_b = CoreTiming::RegisterEvent("callbackB", CallbackTemplate<1>); |
