From 4ebe68121984c098a0a6f06df3029c0124d8c684 Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Fri, 13 Mar 2026 15:38:01 +0100 Subject: [PATCH 1/5] fix FIT after migration --- bazel_common/score_python.MODULE.bazel | 2 +- feature_integration_tests/test_cases/BUILD | 15 ++++----------- feature_integration_tests/test_cases/pytest.ini | 1 + 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/bazel_common/score_python.MODULE.bazel b/bazel_common/score_python.MODULE.bazel index 08ceadcd674..b59a4efb120 100644 --- a/bazel_common/score_python.MODULE.bazel +++ b/bazel_common/score_python.MODULE.bazel @@ -22,7 +22,7 @@ python.toolchain( python_version = PYTHON_VERSION, ) -pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip", dev_dependency = True) +pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") pip.parse( hub_name = "pip_score_venv_test", python_version = PYTHON_VERSION, diff --git a/feature_integration_tests/test_cases/BUILD b/feature_integration_tests/test_cases/BUILD index a845e016941..ca7693e8e4a 100644 --- a/feature_integration_tests/test_cases/BUILD +++ b/feature_integration_tests/test_cases/BUILD @@ -12,7 +12,7 @@ # ******************************************************************************* load("@pip_score_venv_test//:requirements.bzl", "all_requirements") load("@rules_python//python:pip.bzl", "compile_pip_requirements") -load("@score_tooling//python_basics:defs.bzl", "score_py_pytest", "score_virtualenv") +load("@score_tooling//python_basics:defs.bzl", "score_py_pytest") # In order to update the requirements, change the `requirements.txt` file and run: # `bazel run //feature_integration_tests/python_test_cases:requirements.update`. @@ -31,26 +31,19 @@ compile_pip_requirements( ], ) -score_virtualenv( - name = "python_tc_venv", - reqs = all_requirements, - venv_name = ".python_tc_venv", -) - # Tests targets score_py_pytest( name = "fit", srcs = glob(["tests/**/*.py"]) + [ - "conftest.py", - "fit_scenario.py", - "test_properties.py", ], args = [ "--traces=all", "--rust-target-path=$(rootpath //feature_integration_tests/test_scenarios/rust:rust_test_scenarios)", ], data = [ - ":python_tc_venv", + "conftest.py", + "fit_scenario.py", + "test_properties.py", "//feature_integration_tests/test_scenarios/rust:rust_test_scenarios", ], env = { diff --git a/feature_integration_tests/test_cases/pytest.ini b/feature_integration_tests/test_cases/pytest.ini index 801c0a4304e..4dfb181ef85 100644 --- a/feature_integration_tests/test_cases/pytest.ini +++ b/feature_integration_tests/test_cases/pytest.ini @@ -13,3 +13,4 @@ [pytest] addopts = -v testpaths = tests +pythonpath = . \ No newline at end of file From cdcec2df59d6a5c87f07b85783f928bc2f61eb4c Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Mon, 16 Mar 2026 14:30:05 +0100 Subject: [PATCH 2/5] switch config file ini -> toml --- feature_integration_tests/test_cases/BUILD | 2 +- feature_integration_tests/test_cases/pytest.ini | 16 ---------------- pyproject.toml | 13 ++++++++++++- 3 files changed, 13 insertions(+), 18 deletions(-) delete mode 100644 feature_integration_tests/test_cases/pytest.ini diff --git a/feature_integration_tests/test_cases/BUILD b/feature_integration_tests/test_cases/BUILD index ca7693e8e4a..40cc724aa51 100644 --- a/feature_integration_tests/test_cases/BUILD +++ b/feature_integration_tests/test_cases/BUILD @@ -49,6 +49,6 @@ score_py_pytest( env = { "RUST_BACKTRACE": "1", }, - pytest_config = ":pytest.ini", + pytest_config = "//:pyproject.toml", deps = all_requirements, ) diff --git a/feature_integration_tests/test_cases/pytest.ini b/feature_integration_tests/test_cases/pytest.ini deleted file mode 100644 index 4dfb181ef85..00000000000 --- a/feature_integration_tests/test_cases/pytest.ini +++ /dev/null @@ -1,16 +0,0 @@ -# ******************************************************************************* -# Copyright (c) 2026 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0 -# -# SPDX-License-Identifier: Apache-2.0 -# ******************************************************************************* -[pytest] -addopts = -v -testpaths = tests -pythonpath = . \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 6b8b4dba378..227a0370c4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,20 @@ [tool.pytest] +addopts = ["-v"] pythonpath = [ ".", "scripts/tooling", + "feature_integration_tests/test_cases" +] +testpaths = [ + "scripts/tooling/tests", + "feature_integration_tests/test_cases/tests" +] +junit_log_passing_tests = true +junit_family = "xunit1" +filterwarnings = [ + 'ignore:record_property is incompatible with junit_family:pytest.PytestWarning', + 'ignore:record_xml_attribute is an experimental feature:pytest.PytestExperimentalApiWarning', ] -testpaths = ["scripts/tooling/tests"] [tool.ruff] # Exclude a variety of commonly ignored directories. From 6d78d064fc6b4124d0b916d8068918a219e85e1e Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Mon, 16 Mar 2026 14:30:12 +0100 Subject: [PATCH 3/5] enable ci --- .github/workflows/test_and_docs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test_and_docs.yml b/.github/workflows/test_and_docs.yml index ad27a1fcb00..6017213b8d7 100644 --- a/.github/workflows/test_and_docs.yml +++ b/.github/workflows/test_and_docs.yml @@ -68,6 +68,9 @@ jobs: - name: Execute Unit Tests with Coverage Analysis run: | python ./scripts/quality_runners.py + - name: Execute Feature Integration Tests + run: | + bazel test //feature_integration_tests/test_cases:fit - name: Publish build summary if: always() run: | From 8cb64efae4f6eb9ba34c9a07fce8802691d2b56b Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Tue, 17 Mar 2026 11:20:37 +0100 Subject: [PATCH 4/5] add markers --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 227a0370c4b..469533f41bf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,6 +11,10 @@ testpaths = [ ] junit_log_passing_tests = true junit_family = "xunit1" +markers = [ + "metadata", + "test_properties(dict): Add custom properties to test XML output", +] filterwarnings = [ 'ignore:record_property is incompatible with junit_family:pytest.PytestWarning', 'ignore:record_xml_attribute is an experimental feature:pytest.PytestExperimentalApiWarning', From 29f2209166d687e56fd1a58d255cc81fb76ff082 Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Wed, 18 Mar 2026 14:17:24 +0100 Subject: [PATCH 5/5] update removed req --- .../tests/basic/test_orchestration_with_persistency.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feature_integration_tests/test_cases/tests/basic/test_orchestration_with_persistency.py b/feature_integration_tests/test_cases/tests/basic/test_orchestration_with_persistency.py index d22276baf16..0dff3149527 100644 --- a/feature_integration_tests/test_cases/tests/basic/test_orchestration_with_persistency.py +++ b/feature_integration_tests/test_cases/tests/basic/test_orchestration_with_persistency.py @@ -22,7 +22,7 @@ @add_test_properties( - partially_verifies=["feat_req__persistency__persistency"], + partially_verifies=["feat_req__persistency__store_data"], test_type="requirements-based", derivation_technique="requirements-analysis", )