mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-24 13:39:11 +00:00
emscripten: pass --no-sandbox to the chrome web driver
This fixes running the Emscripten tests on Ubuntu 24.04.
This commit is contained in:
parent
df3cfbc797
commit
cb3cc28809
3 changed files with 22 additions and 11 deletions
10
.github/workflows/create-test-plan.py
vendored
10
.github/workflows/create-test-plan.py
vendored
|
@ -129,7 +129,7 @@ JOB_SPECS = {
|
|||
"android-cmake-lean": JobSpec(name="Android (CMake, lean)", os=JobOs.UbuntuLatest, platform=SdlPlatform.Android, artifact="SDL-lean-android-arm64", android_abi="arm64-v8a", android_arch="aarch64", android_platform=23, lean=True, ),
|
||||
"android-mk": JobSpec(name="Android (Android.mk)", os=JobOs.UbuntuLatest, platform=SdlPlatform.Android, artifact=None, no_cmake=True, android_mk=True, ),
|
||||
"android-gradle": JobSpec(name="Android (Gradle)", os=JobOs.UbuntuLatest, platform=SdlPlatform.Android, artifact=None, no_cmake=True, android_gradle=True, ),
|
||||
"emscripten": JobSpec(name="Emscripten", os=JobOs.Ubuntu22_04, platform=SdlPlatform.Emscripten, artifact="SDL-emscripten", ),
|
||||
"emscripten": JobSpec(name="Emscripten", os=JobOs.UbuntuLatest, platform=SdlPlatform.Emscripten, artifact="SDL-emscripten", ),
|
||||
"haiku": JobSpec(name="Haiku", os=JobOs.UbuntuLatest, platform=SdlPlatform.Haiku, artifact="SDL-haiku-x64", container="ghcr.io/haiku/cross-compiler:x86_64-r1beta5", ),
|
||||
"loongarch64": JobSpec(name="LoongArch64", os=JobOs.UbuntuLatest, platform=SdlPlatform.LoongArch64, artifact="SDL-loongarch64", ),
|
||||
"n3ds": JobSpec(name="Nintendo 3DS", os=JobOs.UbuntuLatest, platform=SdlPlatform.N3ds, artifact="SDL-n3ds", container="devkitpro/devkitarm:latest", ),
|
||||
|
@ -223,6 +223,8 @@ class JobDetails:
|
|||
cpactions_install_cmd: str = ""
|
||||
setup_vita_gles_type: str = ""
|
||||
check_sources: bool = False
|
||||
setup_python: bool = False
|
||||
pypi_packages: list[str] = dataclasses.field(default_factory=list)
|
||||
|
||||
def to_workflow(self, enable_artifacts: bool) -> dict[str, str|bool]:
|
||||
data = {
|
||||
|
@ -287,6 +289,8 @@ class JobDetails:
|
|||
"setup-vita-gles-type": self.setup_vita_gles_type,
|
||||
"setup-gdk-folder": self.setup_gdk_folder,
|
||||
"check-sources": self.check_sources,
|
||||
"setup-python": self.setup_python,
|
||||
"pypi-packages": my_shlex_join(self.pypi_packages),
|
||||
}
|
||||
return {k: v for k, v in data.items() if v != ""}
|
||||
|
||||
|
@ -541,7 +545,6 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
|
|||
job.cmake_config_emulator = "emcmake"
|
||||
job.cmake_build_type = "Debug"
|
||||
job.test_pkg_config = False
|
||||
job.apt_packages.append("python3-selenium")
|
||||
job.cmake_arguments.extend((
|
||||
"-DSDLTEST_BROWSER=chrome",
|
||||
"-DSDLTEST_TIMEOUT_MULTIPLIER=4",
|
||||
|
@ -561,6 +564,8 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
|
|||
"chromedriver --version",
|
||||
))
|
||||
job.static_lib = StaticLibType.A
|
||||
job.setup_python = True
|
||||
job.pypi_packages.append("selenium")
|
||||
case SdlPlatform.Ps2:
|
||||
build_parallel = False
|
||||
job.shared = False
|
||||
|
@ -713,6 +718,7 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
|
|||
|
||||
if "ubuntu" in spec.name.lower():
|
||||
job.check_sources = True
|
||||
job.setup_python = True
|
||||
|
||||
if not build_parallel:
|
||||
job.cmake_build_arguments.append("-j1")
|
||||
|
|
14
.github/workflows/generic.yml
vendored
14
.github/workflows/generic.yml
vendored
|
@ -133,6 +133,15 @@ jobs:
|
|||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
brew update
|
||||
brew install ${{ matrix.platform.brew-packages }}
|
||||
- name: 'Setup Python'
|
||||
uses: 'actions/setup-python@main'
|
||||
if: ${{ matrix.platform.setup-python }}
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: 'Install PyPI packages'
|
||||
if: ${{ matrix.platform.pypi-packages != '' }}
|
||||
run: |
|
||||
python -m pip install --user ${{ matrix.platform.pypi-packages }}
|
||||
- name: 'Set up GLES for VITA' # Must be after apk
|
||||
if: ${{ matrix.platform.setup-vita-gles-type != '' }}
|
||||
uses: ./.github/actions/setup-vita-gles
|
||||
|
@ -348,11 +357,6 @@ jobs:
|
|||
if: ${{ matrix.platform.xcode-sdk != '' }}
|
||||
run: |
|
||||
xcodebuild -project Xcode/SDL/SDL.xcodeproj -target SDL3 -configuration Release -sdk ${{ matrix.platform.xcode-sdk }} clean build
|
||||
- name: 'Setup Python'
|
||||
uses: 'actions/setup-python@main'
|
||||
if: ${{ matrix.platform.check-sources }}
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: 'Check Sources'
|
||||
if: ${{ matrix.platform.check-sources }}
|
||||
run: |
|
||||
|
|
|
@ -32,6 +32,10 @@ class SDLSeleniumTestDriver:
|
|||
self.failed_messages: list[str] = []
|
||||
self.return_code = None
|
||||
|
||||
options = [
|
||||
"--headless",
|
||||
]
|
||||
|
||||
driver_contructor = None
|
||||
match browser:
|
||||
case "firefox":
|
||||
|
@ -44,12 +48,9 @@ class SDLSeleniumTestDriver:
|
|||
driver_options = webdriver.ChromeOptions()
|
||||
if self.chrome_binary:
|
||||
driver_options.binary_location = self.chrome_binary
|
||||
options.append("--no-sandbox")
|
||||
if driver_contructor is None:
|
||||
raise ValueError(f"Invalid {browser=}")
|
||||
|
||||
options = [
|
||||
"--headless",
|
||||
]
|
||||
for o in options:
|
||||
driver_options.add_argument(o)
|
||||
logger.debug("About to create driver")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue