From aafda2fce6e787c9e4bc23741ff66ebc6509bc03 Mon Sep 17 00:00:00 2001
From: Ludovico de Nittis <ludovico.denittis@collabora.com>
Date: Mon, 6 Apr 2020 19:09:40 +0200
Subject: [PATCH] tests: Generate mock sysroots programmatically

The python import fix has been taken from pressure-vessel.

Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
---
 .gitignore                                    |  1 +
 meson.build                                   |  9 +++++++++
 meson_options.txt                             |  8 ++++++++
 tests/generate-sysroots.py                    |  8 +++++++-
 tests/graphics.c                              | 10 ++++++++--
 tests/meson.build                             | 19 +++++++++++++------
 tests/sysroots/debian-unstable/.dockerenv     |  0
 tests/sysroots/debian-unstable/etc/os-release |  6 ------
 tests/sysroots/debian10/run/systemd/container |  1 -
 .../usr/lib/i386-linux-gnu/dri/i965_dri.so    |  0
 .../usr/lib/i386-linux-gnu/dri/r300_dri.so    |  0
 .../lib/i386-linux-gnu/dri/r600_drv_video.so  |  0
 .../lib/i386-linux-gnu/dri/radeonsi_dri.so    |  0
 .../usr/lib/i386-linux-gnu/libEGL_mesa.so.0   |  0
 .../usr/lib/i386-linux-gnu/libva.so.2         |  0
 .../usr/lib/i386-linux-gnu/libvdpau.so.1      |  0
 .../lib/i386-linux-gnu/vdpau/libvdpau_r600.so |  0
 .../i386-linux-gnu/vdpau/libvdpau_radeonsi.so |  1 -
 .../vdpau/libvdpau_radeonsi.so.1              |  1 -
 .../vdpau/libvdpau_radeonsi.so.1.0.0          |  0
 tests/sysroots/debian10/usr/lib/os-release    |  9 ---------
 .../usr/lib/x86_64-linux-gnu/dri/i965_dri.so  |  0
 .../usr/lib/x86_64-linux-gnu/dri/r600_dri.so  |  0
 .../x86_64-linux-gnu/dri/r600_drv_video.so    |  0
 .../lib/x86_64-linux-gnu/dri/radeon_dri.so    |  0
 .../dri/radeonsi_drv_video.so                 |  0
 .../usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0 |  0
 .../usr/lib/x86_64-linux-gnu/libGL.so.1       |  0
 .../usr/lib/x86_64-linux-gnu/libva.so.2       |  0
 .../usr/lib/x86_64-linux-gnu/libvdpau.so.1    |  0
 .../x86_64-linux-gnu/vdpau/libvdpau_r600.so.1 |  1 -
 .../vdpau/libvdpau_r600.so.1.0.0              |  0
 .../vdpau/libvdpau_radeonsi.so                |  1 -
 .../vdpau/libvdpau_radeonsi.so.1              |  1 -
 .../vdpau/libvdpau_radeonsi.so.1.0.0          |  0
 tests/sysroots/fedora/run/systemd/container   |  1 -
 tests/sysroots/fedora/usr/lib/dri/i965_dri.so |  0
 tests/sysroots/fedora/usr/lib/dri/r300_dri.so |  0
 .../fedora/usr/lib/dri/r600_drv_video.so      |  0
 .../fedora/usr/lib/dri/radeonsi_dri.so        |  0
 .../sysroots/fedora/usr/lib/libEGL_mesa.so.0  |  0
 tests/sysroots/fedora/usr/lib/libGL.so.1      |  0
 tests/sysroots/fedora/usr/lib/libva.so.1      |  0
 tests/sysroots/fedora/usr/lib/libvdpau.so.1   |  0
 .../usr/lib/vdpau/libvdpau_nouveau.so.1       |  0
 .../fedora/usr/lib/vdpau/libvdpau_r600.so     |  0
 .../fedora/usr/lib/vdpau/libvdpau_radeonsi.so |  1 -
 .../usr/lib/vdpau/libvdpau_radeonsi.so.1      |  1 -
 .../usr/lib/vdpau/libvdpau_radeonsi.so.1.0    |  1 -
 .../usr/lib/vdpau/libvdpau_radeonsi.so.1.0.0  |  0
 .../sysroots/fedora/usr/lib64/dri/i965_dri.so |  0
 .../sysroots/fedora/usr/lib64/dri/r600_dri.so |  0
 .../fedora/usr/lib64/dri/r600_drv_video.so    |  0
 .../fedora/usr/lib64/dri/radeon_dri.so        |  0
 .../usr/lib64/dri/radeonsi_drv_video.so       |  0
 .../fedora/usr/lib64/libEGL_mesa.so.0         |  0
 tests/sysroots/fedora/usr/lib64/libva.so.2    |  0
 tests/sysroots/fedora/usr/lib64/libvdpau.so.1 |  0
 .../fedora/usr/lib64/vdpau/libvdpau_r300.so   |  0
 .../fedora/usr/lib64/vdpau/libvdpau_r300.so.1 |  1 -
 .../usr/lib64/vdpau/libvdpau_radeonsi.so      |  0
 .../usr/lib64/vdpau/libvdpau_radeonsi.so.1    |  1 -
 tests/sysroots/flatpak-example/.flatpak-info  |  0
 .../sysroots/flatpak-example/run/host/.exists |  0
 .../flatpak-example/usr/lib/dri/r300_dri.so   |  0
 .../usr/lib/dri/r600_drv_video.so             |  0
 .../usr/lib/mock-abi/GL/lib/dri/i965_dri.so   |  0
 .../lib/mock-abi/GL/lib/dri/r600_drv_video.so |  0
 .../dri/intel-vaapi-driver/i965_drv_video.so  |  0
 .../lib/mock-abi/dri/radeonsi_drv_video.so    |  0
 .../usr/lib/mock-abi/libEGL_mesa.so.0         |  0
 .../usr/lib/mock-abi/libva.so.2               |  0
 .../usr/lib/mock-abi/libvdpau.so.1            |  0
 .../lib/mock-abi/vdpau/libvdpau_radeonsi.so.1 |  0
 .../invalid-os-release/run/host/.exists       |  0
 .../invalid-os-release/usr/lib/os-release     |  6 ------
 .../custom_path32/dri/r600_dri.so             |  0
 .../custom_path32/dri/radeon_dri.so           |  0
 .../custom_path32/va/r600_drv_video.so        |  0
 .../custom_path32/va/radeonsi_drv_video.so    |  0
 .../custom_path32/vdpau/libvdpau_r600.so.1    |  0
 .../vdpau/libvdpau_radeonsi.so.1              |  0
 .../custom_path32_2/dri/r300_dri.so           |  0
 .../custom_path32_2/va/nouveau_drv_video.so   |  0
 .../custom_path64/dri/i965_dri.so             |  0
 .../custom_path64/va/radeonsi_drv_video.so    |  0
 .../no-os-release/usr/lib/dri/i965_dri.so     |  0
 .../usr/lib/dri/r600_drv_video.so             |  0
 .../no-os-release/usr/lib/dri/radeonsi_dri.so |  0
 .../sysroots/no-os-release/usr/lib/libGL.so.1 |  0
 .../sysroots/no-os-release/usr/lib/libva.so.1 |  0
 .../no-os-release/usr/lib/libvdpau.so.1       |  0
 .../usr/lib/vdpau/libvdpau_nouveau.so.1       |  0
 .../steamrt-overrides-issues/etc/os-release   |  1 -
 .../overrides/bin/.keep                       |  0
 .../overrides/lib/i386-linux-gnu/.keep        |  0
 .../lib/x86_64-linux-gnu/libgcc_s.so.1        |  1 -
 .../usr/lib/os-release                        |  9 ---------
 .../steamrt-unofficial/etc/os-release         |  1 -
 .../sysroots/steamrt-unofficial/proc/1/cgroup | 12 ------------
 .../steamrt-unofficial/usr/lib/os-release     |  9 ---------
 tests/sysroots/steamrt/etc/os-release         |  1 -
 tests/sysroots/steamrt/overrides/bin/.keep    |  0
 .../lib/i386-linux-gnu/libGLX_nvidia.so.0     |  0
 .../lib/x86_64-linux-gnu/libGLX_custom.so.0   |  0
 .../lib/x86_64-linux-gnu/libGLX_mesa.so.0     |  0
 .../lib/x86_64-linux-gnu/libgcc_s.so.1        |  1 -
 .../steamrt/run/pressure-vessel/.exists       |  0
 tests/sysroots/steamrt/usr/lib/os-release     |  9 ---------
 .../ubuntu16/usr/lib/dri/radeonsi_dri.so      |  0
 .../lib/mock-ubuntu-64-bit/dri/i965_dri.so    |  0
 .../lib/mock-ubuntu-64-bit/dri/radeon_dri.so  |  0
 .../dri/radeonsi_drv_video.so                 |  0
 .../usr/lib/mock-ubuntu-64-bit/libva.so.1     |  0
 .../lib/mock-ubuntu-64-bit/mesa/libGL.so.1    |  0
 .../vdpau/libvdpau_r600.so.1                  |  1 -
 .../vdpau/libvdpau_r600.so.1.0.0              |  0
 .../vdpau/libvdpau_radeonsi.so                |  1 -
 .../vdpau/libvdpau_radeonsi.so.1              |  1 -
 .../vdpau/libvdpau_radeonsi.so.1.0.0          |  0
 tests/system-info.c                           |  2 +-
 121 files changed, 47 insertions(+), 90 deletions(-)
 delete mode 100644 tests/sysroots/debian-unstable/.dockerenv
 delete mode 100644 tests/sysroots/debian-unstable/etc/os-release
 delete mode 100644 tests/sysroots/debian10/run/systemd/container
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/i965_dri.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/r300_dri.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/radeonsi_dri.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/libEGL_mesa.so.0
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/libva.so.2
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/libvdpau.so.1
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_r600.so
 delete mode 120000 tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so
 delete mode 120000 tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1
 delete mode 100644 tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1.0.0
 delete mode 100644 tests/sysroots/debian10/usr/lib/os-release
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/i965_dri.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/r600_dri.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/radeon_dri.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libGL.so.1
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libva.so.2
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libvdpau.so.1
 delete mode 120000 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0
 delete mode 120000 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so
 delete mode 120000 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1
 delete mode 100644 tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1.0.0
 delete mode 100644 tests/sysroots/fedora/run/systemd/container
 delete mode 100644 tests/sysroots/fedora/usr/lib/dri/i965_dri.so
 delete mode 100644 tests/sysroots/fedora/usr/lib/dri/r300_dri.so
 delete mode 100644 tests/sysroots/fedora/usr/lib/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/fedora/usr/lib/dri/radeonsi_dri.so
 delete mode 100644 tests/sysroots/fedora/usr/lib/libEGL_mesa.so.0
 delete mode 100644 tests/sysroots/fedora/usr/lib/libGL.so.1
 delete mode 100644 tests/sysroots/fedora/usr/lib/libva.so.1
 delete mode 100644 tests/sysroots/fedora/usr/lib/libvdpau.so.1
 delete mode 100644 tests/sysroots/fedora/usr/lib/vdpau/libvdpau_nouveau.so.1
 delete mode 100644 tests/sysroots/fedora/usr/lib/vdpau/libvdpau_r600.so
 delete mode 120000 tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so
 delete mode 120000 tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1
 delete mode 120000 tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0
 delete mode 100644 tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0.0
 delete mode 100644 tests/sysroots/fedora/usr/lib64/dri/i965_dri.so
 delete mode 100644 tests/sysroots/fedora/usr/lib64/dri/r600_dri.so
 delete mode 100644 tests/sysroots/fedora/usr/lib64/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/fedora/usr/lib64/dri/radeon_dri.so
 delete mode 100644 tests/sysroots/fedora/usr/lib64/dri/radeonsi_drv_video.so
 delete mode 100644 tests/sysroots/fedora/usr/lib64/libEGL_mesa.so.0
 delete mode 100644 tests/sysroots/fedora/usr/lib64/libva.so.2
 delete mode 100644 tests/sysroots/fedora/usr/lib64/libvdpau.so.1
 delete mode 100644 tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so
 delete mode 120000 tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so.1
 delete mode 100644 tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so
 delete mode 120000 tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so.1
 delete mode 100644 tests/sysroots/flatpak-example/.flatpak-info
 delete mode 100644 tests/sysroots/flatpak-example/run/host/.exists
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/dri/r300_dri.so
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/GL/lib/dri/i965_dri.so
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/GL/lib/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/dri/intel-vaapi-driver/i965_drv_video.so
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/dri/radeonsi_drv_video.so
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/libEGL_mesa.so.0
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/libva.so.2
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/libvdpau.so.1
 delete mode 100644 tests/sysroots/flatpak-example/usr/lib/mock-abi/vdpau/libvdpau_radeonsi.so.1
 delete mode 100644 tests/sysroots/invalid-os-release/run/host/.exists
 delete mode 100644 tests/sysroots/invalid-os-release/usr/lib/os-release
 delete mode 100644 tests/sysroots/no-os-release/custom_path32/dri/r600_dri.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path32/dri/radeon_dri.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path32/va/r600_drv_video.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path32/va/radeonsi_drv_video.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path32/vdpau/libvdpau_r600.so.1
 delete mode 100644 tests/sysroots/no-os-release/custom_path32/vdpau/libvdpau_radeonsi.so.1
 delete mode 100644 tests/sysroots/no-os-release/custom_path32_2/dri/r300_dri.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path32_2/va/nouveau_drv_video.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path64/dri/i965_dri.so
 delete mode 100644 tests/sysroots/no-os-release/custom_path64/va/radeonsi_drv_video.so
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/dri/i965_dri.so
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/dri/r600_drv_video.so
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/dri/radeonsi_dri.so
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/libGL.so.1
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/libva.so.1
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/libvdpau.so.1
 delete mode 100644 tests/sysroots/no-os-release/usr/lib/vdpau/libvdpau_nouveau.so.1
 delete mode 120000 tests/sysroots/steamrt-overrides-issues/etc/os-release
 delete mode 100644 tests/sysroots/steamrt-overrides-issues/overrides/bin/.keep
 delete mode 100644 tests/sysroots/steamrt-overrides-issues/overrides/lib/i386-linux-gnu/.keep
 delete mode 120000 tests/sysroots/steamrt-overrides-issues/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1
 delete mode 100644 tests/sysroots/steamrt-overrides-issues/usr/lib/os-release
 delete mode 120000 tests/sysroots/steamrt-unofficial/etc/os-release
 delete mode 100644 tests/sysroots/steamrt-unofficial/proc/1/cgroup
 delete mode 100644 tests/sysroots/steamrt-unofficial/usr/lib/os-release
 delete mode 120000 tests/sysroots/steamrt/etc/os-release
 delete mode 100644 tests/sysroots/steamrt/overrides/bin/.keep
 delete mode 100644 tests/sysroots/steamrt/overrides/lib/i386-linux-gnu/libGLX_nvidia.so.0
 delete mode 100644 tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libGLX_custom.so.0
 delete mode 100644 tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libGLX_mesa.so.0
 delete mode 120000 tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1
 delete mode 100644 tests/sysroots/steamrt/run/pressure-vessel/.exists
 delete mode 100644 tests/sysroots/steamrt/usr/lib/os-release
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/dri/radeonsi_dri.so
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/i965_dri.so
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/radeon_dri.so
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/radeonsi_drv_video.so
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/libva.so.1
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/mesa/libGL.so.1
 delete mode 120000 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1.0.0
 delete mode 120000 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so
 delete mode 120000 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1
 delete mode 100644 tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1.0.0

diff --git a/.gitignore b/.gitignore
index 6688db03c..aac4bd317 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 /build/
 /builddir/
 /obj-*/
+/tests/sysroots/
diff --git a/meson.build b/meson.build
index 3e90ff89b..5ce57bb5d 100644
--- a/meson.build
+++ b/meson.build
@@ -40,6 +40,15 @@ abi_minor = '20200331.1'
 pkg = import('pkgconfig')
 gnome = import('gnome')
 
+# We'd like to use import('python').find_installation(), but before
+# Meson 0.50 there was a bug where it didn't have a path() method,
+# making it useless to us here.
+if get_option('python') == ''
+  python = find_program('python3.5', 'python3', required : true)
+else
+  python = find_program(get_option('python'), required : true)
+endif
+
 if get_option('man')
   pandoc = find_program('pandoc', required : true)
 
diff --git a/meson_options.txt b/meson_options.txt
index 67aa2d695..6686936f6 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -32,3 +32,11 @@ option(
   value : '',
   description : 'Debian-style multiarch tuple',
 )
+
+option(
+  'python',
+  type : 'string',
+  value : '',
+  description: 'Search for this Python instead of "python3.5" and "python3"'
+)
+
diff --git a/tests/generate-sysroots.py b/tests/generate-sysroots.py
index 179d6f318..4c65ce007 100755
--- a/tests/generate-sysroots.py
+++ b/tests/generate-sysroots.py
@@ -25,6 +25,7 @@
 
 import os
 import argparse
+import shutil
 
 parser = argparse.ArgumentParser()
 parser.add_argument("path")
@@ -37,7 +38,12 @@ if args.install:
 else:
     full_path = args.path
 
-# If the chosen destination 'sysroot' is not yet available we create it
+# We recreate the chosen destination 'sysroot', to avoid potential issues with
+# old files
+try:
+    shutil.rmtree(full_path)
+except FileNotFoundError:
+    pass
 os.makedirs(full_path, mode=0o755, exist_ok=True)
 os.chdir(full_path)
 
diff --git a/tests/graphics.c b/tests/graphics.c
index 8fac26974..78558ff1e 100644
--- a/tests/graphics.c
+++ b/tests/graphics.c
@@ -77,7 +77,7 @@ setup (Fixture *f,
   if (f->builddir == NULL)
     f->builddir = g_path_get_dirname (argv0);
 
-  f->sysroots = g_build_filename (f->srcdir, "sysroots", NULL);
+  f->sysroots = g_build_filename (f->builddir, "sysroots", NULL);
 
   if (g_chdir (f->srcdir) != 0)
     g_error ("chdir %s: %s", f->srcdir, g_strerror (errno));
@@ -2175,7 +2175,10 @@ test_dri_with_env (Fixture *f,
   check_list_extra (va_api, G_N_ELEMENTS(va_api_suffixes)-1, SRT_GRAPHICS_VAAPI_MODULE);
   g_list_free_full (va_api, g_object_unref);
 
-  /* Test relative path */
+  /* Test relative path.
+   * Move to the build directory because otherwise we can't use the relative sysroots path */
+  if (g_chdir (f->builddir) != 0)
+    g_error ("chdir %s: %s", f->builddir, g_strerror (errno));
   g_free (libgl);
   g_free (libgl2);
   g_free (libgl3);
@@ -2448,6 +2451,9 @@ test_vdpau (Fixture *f,
       if (vdpau_relative_path != NULL)
         {
           envp = g_environ_setenv (envp, "VDPAU_DRIVER_PATH", vdpau_relative_path, TRUE);
+          /* Move to the build directory because otherwise we can't use the relative sysroots path */
+          if (g_chdir (f->builddir) != 0)
+            g_error ("chdir %s: %s", f->builddir, g_strerror (errno));
           srt_system_info_set_environ (info, envp);
           vdpau = srt_system_info_list_vdpau_drivers (info, test->multiarch_tuple, SRT_DRIVER_FLAGS_NONE);
           check_list_suffixes (vdpau, test->vdpau_suffixes, SRT_GRAPHICS_VDPAU_MODULE);
diff --git a/tests/meson.build b/tests/meson.build
index cb8183b19..3f089b554 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -61,12 +61,19 @@ install_subdir('expectations_with_missings', install_dir : tests_dir)
 # Vulkan *.json files. (The order of EGL *.json files is well-defined.)
 install_subdir('fake-icds', install_dir : tests_dir)
 install_subdir('fake-steam-runtime', install_dir : tests_dir)
-# Instead of doing `install_subdir` for "sysroot" we use a custom install
-# script because with `install_subdir` the symlinks don't get preserved,
-# but instead they are copied as files. And this behavior breaks our tests.
-src = meson.current_source_dir() + '/' + 'sysroots'
-# Note that the `-a` option is Linux specific
-meson.add_install_script('sh', '-c', 'cp -a "$1" "${DESTDIR}/${MESON_INSTALL_PREFIX}/$2"', 'sh', src, tests_dir)
+
+meson.add_postconf_script(
+  python.path(),
+  join_paths(meson.source_root(), 'tests', 'generate-sysroots.py'),
+  join_paths(meson.current_build_dir(), 'sysroots'),
+)
+
+meson.add_install_script(
+  python.path(),
+  join_paths(meson.source_root(), 'tests', 'generate-sysroots.py'),
+  '--install',
+  join_paths(tests_dir, 'sysroots'),
+)
 
 # These are all the same: they just exit 0.
 foreach helper : [
diff --git a/tests/sysroots/debian-unstable/.dockerenv b/tests/sysroots/debian-unstable/.dockerenv
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian-unstable/etc/os-release b/tests/sysroots/debian-unstable/etc/os-release
deleted file mode 100644
index 55f123897..000000000
--- a/tests/sysroots/debian-unstable/etc/os-release
+++ /dev/null
@@ -1,6 +0,0 @@
-PRETTY_NAME="Debian GNU/Linux bullseye/sid"
-NAME="Debian GNU/Linux"
-ID=debian
-HOME_URL="https://www.debian.org/"
-SUPPORT_URL="https://www.debian.org/support"
-BUG_REPORT_URL="https://bugs.debian.org/"
diff --git a/tests/sysroots/debian10/run/systemd/container b/tests/sysroots/debian10/run/systemd/container
deleted file mode 100644
index 982793c32..000000000
--- a/tests/sysroots/debian10/run/systemd/container
+++ /dev/null
@@ -1 +0,0 @@
-whatever
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/i965_dri.so b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/r300_dri.so b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/r300_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/r600_drv_video.so b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/radeonsi_dri.so b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/dri/radeonsi_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/libEGL_mesa.so.0 b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/libEGL_mesa.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/libva.so.2 b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/libva.so.2
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/libvdpau.so.1 b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/libvdpau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_r600.so b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_r600.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1.0.0 b/tests/sysroots/debian10/usr/lib/i386-linux-gnu/vdpau/libvdpau_radeonsi.so.1.0.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/os-release b/tests/sysroots/debian10/usr/lib/os-release
deleted file mode 100644
index 9b5419df8..000000000
--- a/tests/sysroots/debian10/usr/lib/os-release
+++ /dev/null
@@ -1,9 +0,0 @@
-PRETTY_NAME="Debian GNU/Linux 10 (buster)"
-NAME="Debian GNU/Linux"
-VERSION_ID="10"
-VERSION="10 (buster)"
-VERSION_CODENAME=buster
-ID=debian
-HOME_URL="https://www.debian.org/"
-SUPPORT_URL="https://www.debian.org/support"
-BUG_REPORT_URL="https://bugs.debian.org/"
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/i965_dri.so b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/r600_dri.so b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/r600_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/radeon_dri.so b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/radeon_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libGL.so.1 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libGL.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libva.so.2 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libva.so.2
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libvdpau.so.1 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/libvdpau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1
deleted file mode 120000
index 664517965..000000000
--- a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_r600.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so.1.0.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1.0.0 b/tests/sysroots/debian10/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_radeonsi.so.1.0.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/run/systemd/container b/tests/sysroots/fedora/run/systemd/container
deleted file mode 100644
index bdb967096..000000000
--- a/tests/sysroots/fedora/run/systemd/container
+++ /dev/null
@@ -1 +0,0 @@
-docker
diff --git a/tests/sysroots/fedora/usr/lib/dri/i965_dri.so b/tests/sysroots/fedora/usr/lib/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/dri/r300_dri.so b/tests/sysroots/fedora/usr/lib/dri/r300_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/dri/r600_drv_video.so b/tests/sysroots/fedora/usr/lib/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/dri/radeonsi_dri.so b/tests/sysroots/fedora/usr/lib/dri/radeonsi_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/libEGL_mesa.so.0 b/tests/sysroots/fedora/usr/lib/libEGL_mesa.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/libGL.so.1 b/tests/sysroots/fedora/usr/lib/libGL.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/libva.so.1 b/tests/sysroots/fedora/usr/lib/libva.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/libvdpau.so.1 b/tests/sysroots/fedora/usr/lib/libvdpau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_nouveau.so.1 b/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_nouveau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_r600.so b/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_r600.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so b/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0 b/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0.0 b/tests/sysroots/fedora/usr/lib/vdpau/libvdpau_radeonsi.so.1.0.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/dri/i965_dri.so b/tests/sysroots/fedora/usr/lib64/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/dri/r600_dri.so b/tests/sysroots/fedora/usr/lib64/dri/r600_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/dri/r600_drv_video.so b/tests/sysroots/fedora/usr/lib64/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/dri/radeon_dri.so b/tests/sysroots/fedora/usr/lib64/dri/radeon_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/dri/radeonsi_drv_video.so b/tests/sysroots/fedora/usr/lib64/dri/radeonsi_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/libEGL_mesa.so.0 b/tests/sysroots/fedora/usr/lib64/libEGL_mesa.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/libva.so.2 b/tests/sysroots/fedora/usr/lib64/libva.so.2
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/libvdpau.so.1 b/tests/sysroots/fedora/usr/lib64/libvdpau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so b/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so.1 b/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so.1
deleted file mode 120000
index 980ac00a7..000000000
--- a/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_r300.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_r300.so
\ No newline at end of file
diff --git a/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so b/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so.1
deleted file mode 120000
index 47629d313..000000000
--- a/tests/sysroots/fedora/usr/lib64/vdpau/libvdpau_radeonsi.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so
\ No newline at end of file
diff --git a/tests/sysroots/flatpak-example/.flatpak-info b/tests/sysroots/flatpak-example/.flatpak-info
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/run/host/.exists b/tests/sysroots/flatpak-example/run/host/.exists
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/dri/r300_dri.so b/tests/sysroots/flatpak-example/usr/lib/dri/r300_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/dri/r600_drv_video.so b/tests/sysroots/flatpak-example/usr/lib/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/GL/lib/dri/i965_dri.so b/tests/sysroots/flatpak-example/usr/lib/mock-abi/GL/lib/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/GL/lib/dri/r600_drv_video.so b/tests/sysroots/flatpak-example/usr/lib/mock-abi/GL/lib/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/dri/intel-vaapi-driver/i965_drv_video.so b/tests/sysroots/flatpak-example/usr/lib/mock-abi/dri/intel-vaapi-driver/i965_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/dri/radeonsi_drv_video.so b/tests/sysroots/flatpak-example/usr/lib/mock-abi/dri/radeonsi_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/libEGL_mesa.so.0 b/tests/sysroots/flatpak-example/usr/lib/mock-abi/libEGL_mesa.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/libva.so.2 b/tests/sysroots/flatpak-example/usr/lib/mock-abi/libva.so.2
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/libvdpau.so.1 b/tests/sysroots/flatpak-example/usr/lib/mock-abi/libvdpau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/flatpak-example/usr/lib/mock-abi/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/flatpak-example/usr/lib/mock-abi/vdpau/libvdpau_radeonsi.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/invalid-os-release/run/host/.exists b/tests/sysroots/invalid-os-release/run/host/.exists
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/invalid-os-release/usr/lib/os-release b/tests/sysroots/invalid-os-release/usr/lib/os-release
deleted file mode 100644
index c951a991f..000000000
--- a/tests/sysroots/invalid-os-release/usr/lib/os-release
+++ /dev/null
@@ -1,6 +0,0 @@
-ID=steamrt
-PRETTY_NAME="The first name"
-VERSION_CODENAME
-VERSION_ID="foo
-PRETTY_NAME="The second name"
-NAME="This file does not end with a newline"
\ No newline at end of file
diff --git a/tests/sysroots/no-os-release/custom_path32/dri/r600_dri.so b/tests/sysroots/no-os-release/custom_path32/dri/r600_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32/dri/radeon_dri.so b/tests/sysroots/no-os-release/custom_path32/dri/radeon_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32/va/r600_drv_video.so b/tests/sysroots/no-os-release/custom_path32/va/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32/va/radeonsi_drv_video.so b/tests/sysroots/no-os-release/custom_path32/va/radeonsi_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32/vdpau/libvdpau_r600.so.1 b/tests/sysroots/no-os-release/custom_path32/vdpau/libvdpau_r600.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/no-os-release/custom_path32/vdpau/libvdpau_radeonsi.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32_2/dri/r300_dri.so b/tests/sysroots/no-os-release/custom_path32_2/dri/r300_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path32_2/va/nouveau_drv_video.so b/tests/sysroots/no-os-release/custom_path32_2/va/nouveau_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path64/dri/i965_dri.so b/tests/sysroots/no-os-release/custom_path64/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/custom_path64/va/radeonsi_drv_video.so b/tests/sysroots/no-os-release/custom_path64/va/radeonsi_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/dri/i965_dri.so b/tests/sysroots/no-os-release/usr/lib/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/dri/r600_drv_video.so b/tests/sysroots/no-os-release/usr/lib/dri/r600_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/dri/radeonsi_dri.so b/tests/sysroots/no-os-release/usr/lib/dri/radeonsi_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/libGL.so.1 b/tests/sysroots/no-os-release/usr/lib/libGL.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/libva.so.1 b/tests/sysroots/no-os-release/usr/lib/libva.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/libvdpau.so.1 b/tests/sysroots/no-os-release/usr/lib/libvdpau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/no-os-release/usr/lib/vdpau/libvdpau_nouveau.so.1 b/tests/sysroots/no-os-release/usr/lib/vdpau/libvdpau_nouveau.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt-overrides-issues/etc/os-release b/tests/sysroots/steamrt-overrides-issues/etc/os-release
deleted file mode 120000
index c4c75b419..000000000
--- a/tests/sysroots/steamrt-overrides-issues/etc/os-release
+++ /dev/null
@@ -1 +0,0 @@
-../usr/lib/os-release
\ No newline at end of file
diff --git a/tests/sysroots/steamrt-overrides-issues/overrides/bin/.keep b/tests/sysroots/steamrt-overrides-issues/overrides/bin/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt-overrides-issues/overrides/lib/i386-linux-gnu/.keep b/tests/sysroots/steamrt-overrides-issues/overrides/lib/i386-linux-gnu/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt-overrides-issues/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1 b/tests/sysroots/steamrt-overrides-issues/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1
deleted file mode 120000
index 8aa9f9f73..000000000
--- a/tests/sysroots/steamrt-overrides-issues/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1
+++ /dev/null
@@ -1 +0,0 @@
-/run/host/usr/lib/libgcc_s.so.1
\ No newline at end of file
diff --git a/tests/sysroots/steamrt-overrides-issues/usr/lib/os-release b/tests/sysroots/steamrt-overrides-issues/usr/lib/os-release
deleted file mode 100644
index 064dec3e5..000000000
--- a/tests/sysroots/steamrt-overrides-issues/usr/lib/os-release
+++ /dev/null
@@ -1,9 +0,0 @@
-NAME="Steam Runtime"
-VERSION="1 (scout)"
-ID=steamrt
-ID_LIKE=ubuntu
-PRETTY_NAME="Steam Runtime 1 (scout)"
-VERSION_ID="1"
-BUILD_ID="0.20190924.0"
-VARIANT=Platform
-VARIANT_ID="com.valvesoftware.steamruntime.platform-amd64_i386-scout"
diff --git a/tests/sysroots/steamrt-unofficial/etc/os-release b/tests/sysroots/steamrt-unofficial/etc/os-release
deleted file mode 120000
index c4c75b419..000000000
--- a/tests/sysroots/steamrt-unofficial/etc/os-release
+++ /dev/null
@@ -1 +0,0 @@
-../usr/lib/os-release
\ No newline at end of file
diff --git a/tests/sysroots/steamrt-unofficial/proc/1/cgroup b/tests/sysroots/steamrt-unofficial/proc/1/cgroup
deleted file mode 100644
index 72dac858c..000000000
--- a/tests/sysroots/steamrt-unofficial/proc/1/cgroup
+++ /dev/null
@@ -1,12 +0,0 @@
-11:perf_event:/docker/9999999999999999999999999999999999999999999999999999999999999999
-10:freezer:/docker/9999999999999999999999999999999999999999999999999999999999999999
-9:memory:/docker/9999999999999999999999999999999999999999999999999999999999999999
-8:rdma:/
-7:devices:/docker/9999999999999999999999999999999999999999999999999999999999999999
-6:blkio:/docker/9999999999999999999999999999999999999999999999999999999999999999
-5:net_cls,net_prio:/docker/9999999999999999999999999999999999999999999999999999999999999999
-4:cpu,cpuacct:/docker/9999999999999999999999999999999999999999999999999999999999999999
-3:cpuset:/docker/9999999999999999999999999999999999999999999999999999999999999999
-2:pids:/docker/9999999999999999999999999999999999999999999999999999999999999999
-1:name=systemd:/docker/9999999999999999999999999999999999999999999999999999999999999999
-0::/system.slice/docker.service
diff --git a/tests/sysroots/steamrt-unofficial/usr/lib/os-release b/tests/sysroots/steamrt-unofficial/usr/lib/os-release
deleted file mode 100644
index 75e8b300d..000000000
--- a/tests/sysroots/steamrt-unofficial/usr/lib/os-release
+++ /dev/null
@@ -1,9 +0,0 @@
-NAME="Steam Runtime"
-VERSION="1 (scout)"
-ID=steamrt
-ID_LIKE=ubuntu
-PRETTY_NAME="Steam Runtime 1 (scout)"
-VERSION_ID="1"
-BUILD_ID="unofficial-0.20190924.0"
-VARIANT=Platform
-VARIANT_ID="com.valvesoftware.steamruntime.platform-amd64_i386-scout"
diff --git a/tests/sysroots/steamrt/etc/os-release b/tests/sysroots/steamrt/etc/os-release
deleted file mode 120000
index c4c75b419..000000000
--- a/tests/sysroots/steamrt/etc/os-release
+++ /dev/null
@@ -1 +0,0 @@
-../usr/lib/os-release
\ No newline at end of file
diff --git a/tests/sysroots/steamrt/overrides/bin/.keep b/tests/sysroots/steamrt/overrides/bin/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt/overrides/lib/i386-linux-gnu/libGLX_nvidia.so.0 b/tests/sysroots/steamrt/overrides/lib/i386-linux-gnu/libGLX_nvidia.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libGLX_custom.so.0 b/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libGLX_custom.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libGLX_mesa.so.0 b/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libGLX_mesa.so.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1 b/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1
deleted file mode 120000
index 8aa9f9f73..000000000
--- a/tests/sysroots/steamrt/overrides/lib/x86_64-linux-gnu/libgcc_s.so.1
+++ /dev/null
@@ -1 +0,0 @@
-/run/host/usr/lib/libgcc_s.so.1
\ No newline at end of file
diff --git a/tests/sysroots/steamrt/run/pressure-vessel/.exists b/tests/sysroots/steamrt/run/pressure-vessel/.exists
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/steamrt/usr/lib/os-release b/tests/sysroots/steamrt/usr/lib/os-release
deleted file mode 100644
index 064dec3e5..000000000
--- a/tests/sysroots/steamrt/usr/lib/os-release
+++ /dev/null
@@ -1,9 +0,0 @@
-NAME="Steam Runtime"
-VERSION="1 (scout)"
-ID=steamrt
-ID_LIKE=ubuntu
-PRETTY_NAME="Steam Runtime 1 (scout)"
-VERSION_ID="1"
-BUILD_ID="0.20190924.0"
-VARIANT=Platform
-VARIANT_ID="com.valvesoftware.steamruntime.platform-amd64_i386-scout"
diff --git a/tests/sysroots/ubuntu16/usr/lib/dri/radeonsi_dri.so b/tests/sysroots/ubuntu16/usr/lib/dri/radeonsi_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/i965_dri.so b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/i965_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/radeon_dri.so b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/radeon_dri.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/radeonsi_drv_video.so b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/dri/radeonsi_drv_video.so
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/libva.so.1 b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/libva.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/mesa/libGL.so.1 b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/mesa/libGL.so.1
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1 b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1
deleted file mode 120000
index 664517965..000000000
--- a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_r600.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1.0.0 b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_r600.so.1.0.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1 b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1
deleted file mode 120000
index 7d720b573..000000000
--- a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1
+++ /dev/null
@@ -1 +0,0 @@
-libvdpau_radeonsi.so.1.0.0
\ No newline at end of file
diff --git a/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1.0.0 b/tests/sysroots/ubuntu16/usr/lib/mock-ubuntu-64-bit/vdpau/libvdpau_radeonsi.so.1.0.0
deleted file mode 100644
index e69de29bb..000000000
diff --git a/tests/system-info.c b/tests/system-info.c
index fad588f67..02196391e 100644
--- a/tests/system-info.c
+++ b/tests/system-info.c
@@ -71,7 +71,7 @@ setup (Fixture *f,
   if (f->builddir == NULL)
     f->builddir = g_path_get_dirname (argv0);
 
-  f->sysroots = g_build_filename (f->srcdir, "sysroots", NULL);
+  f->sysroots = g_build_filename (f->builddir, "sysroots", NULL);
 }
 
 static void
-- 
GitLab