diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 279d1e2bc..80348499d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -615,13 +615,23 @@ if(APPLE) endforeach() endif() -set(TESTS_ENVIRONMENT - SDL_AUDIO_DRIVER=dummy - SDL_VIDEO_DRIVER=dummy -) - set(SDLTEST_TIMEOUT_MULTIPLIER "1" CACHE STRING "SDL test time-out multiplier") +set(SDLTEST_AUDIO_DRIVER_DEFAULT "dummy") +set(SDLTEST_VIDEO_DRIVER_DEFAULT "dummy") +if(EMSCRIPTEN) + set(SDLTEST_AUDIO_DRIVER_DEFAULT "emscripten") + set(SDLTEST_VIDEO_DRIVER_DEFAULT "emscripten") +endif() +set(SDLTEST_AUDIO_DRIVER "${SDLTEST_AUDIO_DRIVER_DEFAULT}" CACHE STRING "SDL audio driver for CTest") +set(SDLTEST_VIDEO_DRIVER "${SDLTEST_VIDEO_DRIVER_DEFAULT}" CACHE STRING "SDL video driver for CTest") + +set(TESTS_ENVIRONMENT + "SDL_AUDIO_DRIVER=${SDLTEST_AUDIO_DRIVER}" + "SDL_VIDEO_DRIVER=${SDLTEST_VIDEO_DRIVER}" + "SDL_ASSERT=abort" +) + function(add_sdl_test TEST TARGET) cmake_parse_arguments(ast "INSTALL" "" "" ${ARGN}) get_property(noninteractive TARGET ${TARGET} PROPERTY SDL_NONINTERACTIVE) diff --git a/test/emscripten/driver.py b/test/emscripten/driver.py index 78b7a49e0..9735e95b9 100755 --- a/test/emscripten/driver.py +++ b/test/emscripten/driver.py @@ -3,12 +3,13 @@ import argparse import contextlib import logging -import urllib.parse +import os +import pathlib import shlex import sys import time -import pathlib from typing import Optional +import urllib.parse from selenium import webdriver import selenium.common.exceptions @@ -68,6 +69,9 @@ class SDLSeleniumTestDriver: "loghtml": "1", "SDL_ASSERT": "abort", } + for key, value in os.environ.items(): + if key.startswith("SDL_"): + req[key] = value req.update({f"arg_{i}": a for i, a in enumerate(self.arguments, 1) }) req_str = urllib.parse.urlencode(req) return f"{self.server}/{self.test}.html?{req_str}"