Explorar o código

Tests: Тестируем прямой вызов SDL функции

Добавил тест перед грядущим обновлением SDL
1vanK %!s(int64=2) %!d(string=hai) anos
pai
achega
7cf13eca86
Modificáronse 2 ficheiros con 24 adicións e 0 borrados
  1. 3 0
      Source/Tools/Tests/Main.cpp
  2. 21 0
      Source/Tools/Tests/third-party/sdl.cpp

+ 3 - 0
Source/Tools/Tests/Main.cpp

@@ -1,15 +1,18 @@
 // Copyright (c) 2008-2023 the Urho3D project
+// Copyright (c) 2022-2023 the Dviglo project
 // License: MIT
 
 #include <iostream>
 
 void Test_Container_Str();
 void Test_Math_BigInt();
+void test_third_party_sdl();
 
 void Run()
 {
     Test_Container_Str();
     Test_Math_BigInt();
+    test_third_party_sdl();
 }
 
 int main(int argc, char* argv[])

+ 21 - 0
Source/Tools/Tests/third-party/sdl.cpp

@@ -0,0 +1,21 @@
+// Copyright (c) 2022-2023 the Dviglo project
+// Copyright (c) 2008-2023 the Urho3D project
+// License: MIT
+
+// Тестируем прямой вызов из сторонней библиотеки
+
+#include "../ForceAssert.h"
+
+#include <SDL/SDL.h>
+
+#include <Urho3D/Urho3D.h> // URHO3D_STATIC_DEFINE
+
+void test_third_party_sdl()
+{
+    // Если собрать движок как dll, то не будет доступа к функциям SDL
+    // (см. дефайн SDL_EXPORTS в модифицированном SDL).
+    // В Unix доступ есть всегда для любого типа библиотеки
+#if defined (_WIN32) && defined (URHO3D_STATIC_DEFINE)
+    assert(SDL_abs(-1) == 1);
+#endif
+}