diff --git a/docs/docsite/rst/dev_guide/testing/sanity/integration-aliases.rst b/docs/docsite/rst/dev_guide/testing/sanity/integration-aliases.rst index aef5b93ebde..288042b8a84 100644 --- a/docs/docsite/rst/dev_guide/testing/sanity/integration-aliases.rst +++ b/docs/docsite/rst/dev_guide/testing/sanity/integration-aliases.rst @@ -42,6 +42,7 @@ Aliases can be used to skip platforms using one of the following: - ``skip/freebsd`` - Skip tests on FreeBSD. - ``skip/osx`` - Skip tests on macOS. - ``skip/rhel`` - Skip tests on RHEL. +- ``skip/docker`` - Skip tests when running on a Docker container Aliases can be used to skip Python major versions using one of the following: diff --git a/test/integration/targets/xattr/aliases b/test/integration/targets/xattr/aliases index 74008ce7c5b..4c94ddfd779 100644 --- a/test/integration/targets/xattr/aliases +++ b/test/integration/targets/xattr/aliases @@ -1,4 +1,5 @@ shippable/posix/group2 +skip/docker skip/freebsd skip/osx destructive diff --git a/test/runner/lib/executor.py b/test/runner/lib/executor.py index f1bd56f5af5..10caa0779b3 100644 --- a/test/runner/lib/executor.py +++ b/test/runner/lib/executor.py @@ -1441,6 +1441,13 @@ def get_integration_docker_filter(args, targets): common_integration_filter(args, targets, exclude) + skip = 'skip/docker/' + skipped = [target.name for target in targets if skip in target.aliases] + if skipped: + exclude.append(skip) + display.warning('Excluding tests marked "%s" which cannot run under docker: %s' + % (skip.rstrip('/'), ', '.join(skipped))) + if not args.docker_privileged: skip = 'needs/privileged/' skipped = [target.name for target in targets if skip in target.aliases]