Procházet zdrojové kódy

test: Add a mode to skip tests that involve arbitrary delays

This can be used as a quick acceptance test for CI workflows.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie před 3 roky
rodič
revize
40bef98f8b
5 změnil soubory, kde provedl 30 přidání a 1 odebrání
  1. 6 0
      test/testatomic.c
  2. 6 0
      test/testerror.c
  3. 6 1
      test/testsurround.c
  4. 6 0
      test/testthread.c
  5. 6 0
      test/testtimer.c

+ 6 - 0
test/testatomic.c

@@ -709,6 +709,12 @@ main(int argc, char *argv[])
     SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
 
     RunBasicTest();
+
+    if (SDL_getenv("SDL_TESTS_QUICK") != NULL) {
+        SDL_Log("Not running slower tests");
+        return 0;
+    }
+
     RunEpicTest();
 /* This test is really slow, so don't run it by default */
 #if 0

+ 6 - 0
test/testerror.c

@@ -58,6 +58,12 @@ main(int argc, char *argv[])
     /* Set the error value for the main thread */
     SDL_SetError("No worries");
 
+    if (SDL_getenv("SDL_TESTS_QUICK") != NULL) {
+        SDL_Log("Not running slower tests");
+        SDL_Quit();
+        return 0;
+    }
+
     alive = 1;
     thread = SDL_CreateThread(ThreadFunc, NULL, "#1");
     if (thread == NULL) {

+ 6 - 1
test/testsurround.c

@@ -19,6 +19,7 @@ static int total_channels;
 static int active_channel;
 
 #define SAMPLE_RATE_HZ 48000
+#define QUICK_TEST_TIME_MSEC 100
 #define CHANNEL_TEST_TIME_SEC 5
 #define MAX_AMPLITUDE SDL_MAX_SINT16
 
@@ -188,7 +189,11 @@ main(int argc, char *argv[])
             SDL_Log("Playing %d Hz test tone on channel: %s\n", sine_freq, get_channel_name(j, total_channels));
 
             /* fill_buffer() will increment the active channel */
-            SDL_Delay(CHANNEL_TEST_TIME_SEC * 1000);
+            if (SDL_getenv("SDL_TESTS_QUICK") != NULL) {
+                SDL_Delay(QUICK_TEST_TIME_MSEC);
+            } else {
+                SDL_Delay(CHANNEL_TEST_TIME_SEC * 1000);
+            }
         }
 
         SDL_CloseAudioDevice(dev);

+ 6 - 0
test/testthread.c

@@ -91,6 +91,12 @@ main(int argc, char *argv[])
         return (1);
     }
 
+    if (SDL_getenv("SDL_TESTS_QUICK") != NULL) {
+        SDL_Log("Not running slower tests");
+        SDL_Quit();
+        return 0;
+    }
+
     while (argv[arg] && *argv[arg] == '-') {
         if (SDL_strcmp(argv[arg], "--prio") == 0) {
             testprio = 1;

+ 6 - 0
test/testtimer.c

@@ -54,6 +54,12 @@ main(int argc, char *argv[])
         return (1);
     }
 
+    if (SDL_getenv("SDL_TESTS_QUICK") != NULL) {
+        SDL_Log("Not running slower tests");
+        SDL_Quit();
+        return 0;
+    }
+
     /* Verify SDL_GetTicks* acts monotonically increasing, and not erratic. */
     SDL_Log("Sanity-checking GetTicks\n");
     for (i = 0; i < 1000; ++i) {