Skip to content

Commit 0d916d8

Browse files
committed
Added the requires in Yaml tests
1 parent 55ffae6 commit 0d916d8

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

util/ActionTest.php

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,38 @@ private function length(array $actions)
336336
]);
337337
}
338338

339+
private function requires(array $requires)
340+
{
341+
if (isset($requires['test_runner_features'])) {
342+
if (is_string($requires['test_runner_features'])) {
343+
$requires['test_runner_features'] = [$requires['test_runner_features']];
344+
}
345+
foreach ($requires['test_runner_features'] as $req) {
346+
if (!in_array($requires['test_runner_features'], self::SUPPORTED_FEATURES)) {
347+
return YamlTests::render(self::TEMPLATE_SKIP_FEATURE, [
348+
':testname' => "__CLASS__ . '::' . __FUNCTION__",
349+
':feature' => sprintf("'%s'", $req)
350+
]);
351+
}
352+
}
353+
}
354+
if (isset($requires['cluster_features'])) {
355+
if (is_string($requires['cluster_features'])) {
356+
$part = explode('_', $requires['cluster_features']);
357+
if ($part[0] === 'gte') {
358+
$version = str_replace ('v','', $part[1]);
359+
if (version_compare(YamlTests::$esVersion, $version, '<')) {
360+
return YamlTests::render(self::TEMPLATE_SKIP_VERSION, [
361+
':testname' => "__CLASS__ . '::' . __FUNCTION__",
362+
':esversion' => sprintf("'%s'", YamlTests::$esVersion),
363+
':reason' => sprintf("'%s'", $requires['reason'] ?? '')
364+
]);
365+
}
366+
}
367+
}
368+
}
369+
}
370+
339371
private function skip(array $actions)
340372
{
341373
if (isset($actions['version']) && isset($actions['reason'])) {
@@ -388,7 +420,21 @@ private function skip(array $actions)
388420
break;
389421
}
390422
}
391-
423+
}
424+
if (isset($actions['cluster_features'])) {
425+
if (is_string($actions['cluster_features'])) {
426+
$part = explode('_', $actions['cluster_features']);
427+
if ($part[0] === 'gte') {
428+
$version = str_replace ('v','', $part[1]);
429+
if (version_compare(YamlTests::$esVersion, $version, '>=')) {
430+
return YamlTests::render(self::TEMPLATE_SKIP_VERSION, [
431+
':testname' => "__CLASS__ . '::' . __FUNCTION__",
432+
':esversion' => sprintf("'%s'", YamlTests::$esVersion),
433+
':reason' => sprintf("'%s'", $actions['reason'] ?? '')
434+
]);
435+
}
436+
}
437+
}
392438
}
393439
}
394440

0 commit comments

Comments
 (0)