From dead9ff788355aa2b117af73df331ff9908ce3fd Mon Sep 17 00:00:00 2001 From: Pierre-Marie de Rodat Date: Tue, 22 Mar 2022 09:56:03 +0000 Subject: [PATCH] Testsuite: refactor OCaml handling Instead of using a dedicated machinery to automatically skip tests requiring an OCaml toolchain, use the standard "control" mechanism from e3-testsuite. TN: S521-024 --- testsuite/drivers/base_driver.py | 11 +---------- testsuite/tests/ocaml_api/general/test.yaml | 3 ++- testsuite/testsuite.py | 1 + 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/testsuite/drivers/base_driver.py b/testsuite/drivers/base_driver.py index 42ecfb1d8..143f95237 100644 --- a/testsuite/drivers/base_driver.py +++ b/testsuite/drivers/base_driver.py @@ -2,7 +2,7 @@ import os import os.path from e3.testsuite.control import YAMLTestControlCreator -from e3.testsuite.driver.classic import TestAbortWithError, TestSkip +from e3.testsuite.driver.classic import TestAbortWithError from e3.testsuite.driver.diff import DiffTestDriver, PatternSubstitute from drivers.valgrind import valgrind_cmd @@ -17,15 +17,6 @@ class BaseDriver(DiffTestDriver): def test_control_creator(self): return YAMLTestControlCreator(self.env.control_condition_env) - def set_up(self): - super().set_up() - - if ( - self.test_env.get('require_ocaml', False) and - self.env.options.disable_ocaml - ): - raise TestSkip('Test requires OCaml') - @property def output_refiners(self): # RA22-015: Line numbers for Python DSL diagnostics vary depending on diff --git a/testsuite/tests/ocaml_api/general/test.yaml b/testsuite/tests/ocaml_api/general/test.yaml index b612147c7..becff9014 100644 --- a/testsuite/tests/ocaml_api/general/test.yaml +++ b/testsuite/tests/ocaml_api/general/test.yaml @@ -1,3 +1,4 @@ driver: python -require_ocaml: True encoding: utf-8 +control: + - [SKIP, "not has_ocaml", "OCaml support required"] diff --git a/testsuite/testsuite.py b/testsuite/testsuite.py index 03225a8d8..dcc736bbb 100755 --- a/testsuite/testsuite.py +++ b/testsuite/testsuite.py @@ -106,6 +106,7 @@ class LangkitTestsuite(Testsuite): self.env.rewrite_baselines = args.rewrite self.env.control_condition_env = { 'restricted_env': args.restricted_env, + 'has_ocaml': not args.disable_ocaml, } if args.coverage: