Skip to content
Snippets Groups Projects
  • Simon McVittie's avatar
    1a9769dd
    tests: Add an integration test for running in a container · 1a9769dd
    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: default avatarSimon McVittie <smcv@collabora.com>
    1a9769dd
    History
    tests: Add an integration test for running in a container
    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: default avatarSimon McVittie <smcv@collabora.com>