Skip to content

Compatibility test suite: add WordPress, Gitea, Nextcloud#13645

Open
relkochta wants to merge 1 commit into
google:masterfrom
relkochta:relkochta/compat-stage1
Open

Compatibility test suite: add WordPress, Gitea, Nextcloud#13645
relkochta wants to merge 1 commit into
google:masterfrom
relkochta:relkochta/compat-stage1

Conversation

@relkochta

Copy link
Copy Markdown
Contributor

The first stage of the gVisor application compatibility test suite. This commit adds:

  • A compatibility testing helper library, containing e.g. logic to write service config files, wait for a service to be up, and make HTTP requests
  • Initial tests for WordPress 7.0.0, Gitea 1.26.2, and Nextcloud 34.0.0.

A large library of test stacks is ready, however I am splitting them into smaller commits in the interest of review size. (If you want to preview all of them, see the relkochta/compat-all branch on relkochta/gvisor).

Tests first consist of a stack of images under images/compatibility/. This is done both for consistency with the existing image tests and so that the Dockerfiles can be modified, for example to install client or benchmarking tools to aid with testing.

The tests themselves are written in Go and placed in test/compatibility/.

These tests are kept separate from the existing image tests for a few reasons. First, the image tests mainly exist to find gVisor regressions; however, a core goal of the compatibility tests is to detect when updates to third-party applications cause them to stop working in gVisor. Second, it's probably not a good idea to include the compatibility tests in our CI/CD pipeline (at least, not yet) due to concerns about flaky tests and/or increased iteration time. (Maybe they should be run before a release is cut, though?)

Once the compatibility tests are merged, I'll submit the website portion which lists the applications we have tested to be compatible. Each entry contains a link to its corresponding compatibility test in our GitHub repository.

test/compatibility/README.md is included with instructions on running the tests.

The first stage of the gVisor application compatibility test suite. This
commit adds:

- A compatibility testing helper library, containing e.g. logic to write
  service config files, wait for a service to be up, and make HTTP
  requests
- Initial tests for WordPress 7.0.0, Gitea 1.26.2, and Nextcloud 34.0.0.

A large library of test stacks is ready, however I am splitting them
into smaller commits in the interest of review size.

Tests first consist of a stack of images under images/compatibility/.
This is done both for consistency with the existing image tests and so
that the Dockerfiles can be modified, for example to install client or
benchmarking tools to aid with testing.

The tests themselves are written in Go and placed in test/compatibility/.

These tests are kept separate from the existing image tests for a few
reasons. First, the image tests mainly exist to find gVisor regressions;
however, a core goal of the compatibility tests is to detect when
updates to *third-party applications* cause them to stop working in
gVisor. Second, it's probably not a good idea to include the
compatibility tests in our CI/CD pipeline (at least, not yet) due to
concerns about flaky tests and/or increased iteration time. (Maybe they
should be run before a release is cut, though?)

Once the compatibility tests are merged, I'll submit the website portion
which will list the applications we have tested to be compatible. Each
entry will contain a link to its corresponding compatibility test in our
GitHub repository.

test/compatibility/README.md is included with instructions on running
the tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants