- Jun 16, 2020
-
-
Simon McVittie authored
SteamOS 2 'brewmaster' only has this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This will be used to delete libraries from the runtime if their SONAME is the same as a library that we brought in from outside, to avoid conflicts when precedence gets mixed up. A manual test is included. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Workaround for T21931. Fully fixing this is low-priority, because we have been removing libldap dependencies anyway. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 12, 2020
-
-
Simon McVittie authored
This requires resources external to pressure-vessel, and makes some assumptions about the container - but that's OK, because the first significant user of pressure-vessel is Steam Runtime 1 'scout', which is not exactly a moving target. We also do some of these checks in various OSs' virtual machines when we build Steam Runtime releases, but having this in-tree with the pressure-vessel source should shorten the testing cycle. See the doc-comment in tests/containers.py for usage. At the moment all tests require a working version of bubblewrap, but current/future work in the direction of pre-preparing a modified runtime on disk should mean that we can do a subset of these tests even if we cannot run bubblewrap. In particular, if we can do that inside a Docker container, that will make it a lot easier for CI to validate our assumptions on non-Debian-derived host operating systems. Attentive reviewers will notice that there's infrastructure here to be able to skip generating locales, but it isn't yet used. It will be used when we have more variations on the theme of "enter a scout container and run inside-scout.py", to avoid the time cost of generating locales every time - but at the moment we only have two runs, so the time taken to generate locales is not problematic. This test is a bit slow, and it's going to get slower as we add more thorough testing, so increase its timeout away from the Meson default. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
The result of this setup will be the same every time, so there isn't much point in repeating it. When we add tests with time-consuming setup like running steam-runtime-system-info, we'll only want to do that once. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we're passing it across a container boundary, relative paths are going to get error-prone. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
At the moment the Python-based tests rely on being run under prove(1) so that their TAP output is parsed, but I'm about to add a test that enters a container and runs another test script inside the container, and using TAP for that is less obvious. Don't rely on our stdout being parsed as TAP. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
In particular this detects the mishandling of an invalid --env-if-host option. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
BaseTest and test_main are factored out from cheap-copy.py. MyCompletedProcess and run_subprocess are taken from the SteamLinuxRuntime unit tests, and will be used in later test additions. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
As we move towards using dirfds for path resolution inside runtimes, the risk of leaking a significant number of fds increases, so we should make sure our tests check for that. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If we try to redefine g_test_skip(), and so does libglnx, then we fight. Including libglnx first worked, because our redefinition was conditional on it not already having been redefined; but including our redefinition first didn't work, because libglnx's redefinition is only conditional on the GLib version number. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
This lets us hold a fd to the parent directory open and resolve paths relative to it (see openat(2)). Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
If /tmp and /var/tmp are in fact both on the root filesystem, then this test will still pass but will not be particularly meaningful. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 01, 2020
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that G_TEST_SRCDIR is what Autotools would call "${top_srcdir}/tests/", we need to look one level up for the root of the source tree. Fixes: 09925ab2 "build: Split into subdirectories" Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 21, 2020
-
-
Simon McVittie authored
At the moment it writes to the current working directory, and we invoke it via `bwrap ... --chdir DIRECTORY`; but we want to make it possible to use this code from inside a Flatpak runtime (at least in the case where we're using the host system's glibc), which means we won't be allowed to run bwrap and must do this some other way. Rather than using `env --chdir=...` (which isn't supported in scout anyway), let's teach this script to output to an explicitly specified directory. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Previously we were missing coverage for this. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Now that it's in a static library, we can have some test coverage. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Unlike Autotools, in Meson this doesn't have the problems caused by recursive make: ninja always has an overview of the whole source tree. With this change, test-locale-gen.sh needs minor adjustments, because G_TEST_SRCDIR, G_TEST_BUILDDIR now point into tests/ instead of the root directory of the source tree. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Apr 03, 2020
-
-
Simon McVittie authored
In Steam Runtime 1 'scout' and Steam Runtime 1½ 'heavy' SDK environments, we have a backport of python3.5 in order to run Meson, and meson.build automatically selects it if available. In newer environments like a developer's laptop, we expect to have a strictly newer Python version, like the python3.7 in Debian 10. One notable exception is that we only require Python 3.4+ for scripts that are meant to run on test machines or on non-developer Steam users' systems, which right now just means the test UI. This version was chosen because SteamOS 2 'brewmaster' and Ubuntu 14.04 'trusty' both have 3.4. Ubuntu 12.04 'precise' only has 3.2, but the Steam client doesn't actually work on 12.04 any more for orthogonal reasons. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Feb 26, 2020
-
-
Simon McVittie authored
This will let us duplicate a runtime and edit it in-place. The major appeal of doing this is that it's something we can do in a Flatpak environment, where recursively invoking bubblewrap isn't allowed. It also seems like it might yield a more reliable way to overwrite parts of the runtime with their host-system equivalents than the tricks we currently use with files and directories mounted over their runtime counterparts. The major down side is that after we've done this, we have a copy of the runtime, which we need to garbage-collect and clean up eventually. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 14, 2019
-
-
Simon McVittie authored
We can use this in the SteamLinuxRuntime depot to deploy and garbage-collect runtimes stored in tarballs. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 12, 2019
-
-
Simon McVittie authored
This doesn't really matter, since it only happens when our process is about to exit anyway, but it makes it easier to use AddressSanitizer and similar tools. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Nov 11, 2019
-
-
Simon McVittie authored
This doesn't really matter, since it only happens when our process is about to exit anyway, but it makes it easier to use AddressSanitizer and similar tools. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Otherwise, clang diagnoses it as unused. It is - deliberately - only allocated and cleaned up, with no other use. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Sep 12, 2019
-
-
Simon McVittie authored
This avoids relying on the host system (if using the host system) or the container (otherwise) having both its configured locales and the frequently-hard-coded en_US.UTF-8. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 22, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 16, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 15, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Aug 09, 2019
-
-
Simon McVittie authored
This is a step towards potentially building pressure-vessel releases as packages in the scout environment, so that tagged releases can go through the same latest/beta/stable release pipeline as everything else. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Jun 24, 2019
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- May 02, 2019
-
-
Simon McVittie authored
The temporary directory will be deleted on success, but will remain intact on failure. Signed-off-by:
Simon McVittie <smcv@collabora.com>
-
- Mar 28, 2019
-
-
Will Thompson authored
-