summaryrefslogtreecommitdiff
path: root/tests/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/helpers.py')
-rw-r--r--tests/helpers.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/tests/helpers.py b/tests/helpers.py
index 1d86619..124ae2d 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -54,13 +54,23 @@ def requires_api_version(version):
)
-def requires_experimental(f):
- @functools.wraps(f)
- def wrapped(self, *args, **kwargs):
- if not self.client.info()['ExperimentalBuild']:
- pytest.skip('Feature requires Docker Engine experimental mode')
- return f(self, *args, **kwargs)
- return wrapped
+def requires_experimental(until=None):
+ test_version = os.environ.get(
+ 'DOCKER_TEST_API_VERSION', docker.constants.DEFAULT_DOCKER_API_VERSION
+ )
+
+ def req_exp(f):
+ @functools.wraps(f)
+ def wrapped(self, *args, **kwargs):
+ if not self.client.info()['ExperimentalBuild']:
+ pytest.skip('Feature requires Docker Engine experimental mode')
+ return f(self, *args, **kwargs)
+
+ if until and docker.utils.version_gte(test_version, until):
+ return f
+ return wrapped
+
+ return req_exp
def wait_on_condition(condition, delay=0.1, timeout=40):