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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
diff --git a/test/testatomic.c b/test/testatomic.c
index 16678db..7dbad45 100644
--- a/test/testatomic.c
+++ b/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
diff --git a/test/testerror.c b/test/testerror.c
index e847c28..c118abd 100644
--- a/test/testerror.c
+++ b/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) {
diff --git a/test/testsurround.c b/test/testsurround.c
index 168415a..1537b35 100644
--- a/test/testsurround.c
+++ b/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);
diff --git a/test/testthread.c b/test/testthread.c
index bf201e8..ea94dfb 100644
--- a/test/testthread.c
+++ b/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;
diff --git a/test/testtimer.c b/test/testtimer.c
index d696097..62c5cd5 100644
--- a/test/testtimer.c
+++ b/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) {