Files
sousa-gecko/testing/web-platform/tests/tools/docker/Dockerfile
T
Valerie Young fe1161da6d Bug 2015982 [wpt PR 57696] - Create new test type aamtest for accessibility API testing, a=testonly
Automatic update from web-platform-tests
Create new test type `aamtest` for accessibility API testing

This PR adds a new test type to test accessibility APIs exposed by browsers, as defined by the [ARIA](https://w3c.github.io/aria/), [Core-AAM](https://w3c.github.io/core-aam/) and [HTML-AAM](https://w3c.github.io/html-aam/) specifications. The now merged RFC can be found [here](https://github.com/web-platform-tests/rfcs/pull/204).

This is a replacement for: https://github.com/web-platform-tests/wpt/pull/53733

Instead of extending testharness, I added a new test type (`aamtest`) that is similar to `wdspec` tests and uses a lot of the same infrastructure. This idea came from foolip in [this comment on the RFC](https://github.com/web-platform-tests/rfcs/pull/204#issuecomment-3655616580), and I think it looks good!

Here is a PR that adds documentation for this test type: https://github.com/web-platform-tests/wpt/pull/58632
--

wpt-commits: 2827ad177da748e8785c6bb3cabc03c8ce6f589b
wpt-pr: 57696
2026-05-12 08:45:36 +00:00

121 lines
2.7 KiB
Docker

FROM ubuntu:22.04
# No interactive frontend during docker build
ENV DEBIAN_FRONTEND=noninteractive \
DEBCONF_NONINTERACTIVE_SEEN=true
# General requirements not in the base image
RUN apt-get -qqy update \
&& apt-get -qqy install \
bridge-utils \
bzip2 \
ca-certificates \
curl \
dbus-x11 \
earlyoom \
fonts-noto \
fluxbox \
gdebi \
git \
glib-networking-services \
gstreamer1.0-plugins-bad \
gstreamer1.0-gl \
libatspi2.0-dev \
libcairo2-dev \
libgirepository1.0-dev \
libosmesa6-dev \
libproxy1-plugin-webkit \
libvirt-daemon-system \
libvirt-clients \
libunwind8 \
libxcb-shape0-dev \
locales \
openjdk-17-jre-headless \
pulseaudio \
python3 \
python3-dev \
python3-pip \
python3-venv \
software-properties-common \
qemu-kvm \
tzdata \
sudo \
unzip \
wget \
xvfb
# Ensure all Python versions are available
RUN apt-add-repository -y ppa:deadsnakes/ppa
# Ensure a `python` binary exists
RUN apt-get -qqy update \
&& apt-get install -qqy python-is-python3
# Installing just the deps of firefox and chrome is moderately tricky, so
# just install the default versions of them, and some extra deps we happen
# to know that chrome requires
RUN apt-get -qqy install \
firefox \
libnss3-tools \
fonts-liberation \
indicator-application \
libappindicator1 \
libappindicator3-1 \
libdbusmenu-gtk3-4 \
libindicator3-7 \
libindicator7
RUN apt-get -y autoremove
RUN pip install --upgrade pip
ENV TZ "UTC"
RUN echo "${TZ}" > /etc/timezone \
&& dpkg-reconfigure --frontend noninteractive tzdata
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# Setup on-demand pulseaudio with a "Dummy Output" audio sink.
# This simply creates a file containing autospawn=yes at
# /run/pulseaudio-enable-autospawn, linked from /etc/pulse/client.conf.d/
RUN /etc/init.d/pulseaudio-enable-autospawn start
RUN useradd test \
--shell /bin/bash \
--create-home \
&& usermod -a -G sudo test \
&& usermod -a -G kvm test \
&& usermod -a -G libvirt test \
&& usermod -a -G libvirt-qemu test \
&& echo 'ALL ALL = (ALL) NOPASSWD: ALL' >> /etc/sudoers \
&& echo 'test:secret' | chpasswd
ENV SCREEN_WIDTH 1280
ENV SCREEN_HEIGHT 1024
ENV SCREEN_DEPTH 24
ENV DISPLAY :99.0
USER test
WORKDIR /home/test
# Remove information on how to use sudo on login
RUN sudo echo ""
RUN mkdir -p /home/test/artifacts
RUN mkdir -p /home/test/bin
ENV PATH="/home/test/bin:/home/test/.local/bin:${PATH}"
WORKDIR /home/test/
COPY .bashrc /home/test/.bashrc
COPY start.sh /home/test/start.sh
COPY retry.py /home/test/bin/retry