Skip to content

Commit 0c5e4bb

Browse files
authored
Joho restore tests (#176)
* [rules_score] restore previously deleted tests * [rules_score] fix the tests and adapt them to the model updates
1 parent bff44df commit 0c5e4bb

38 files changed

Lines changed: 3467 additions & 6 deletions

bazel/rules/rules_score/lobster/config/lobster_component.conf.tpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
requirements "Feature Requirements" {
2+
{FEAT_REQ_SOURCES}
3+
}
4+
15
requirements "Component Requirements" {
26
{COMP_REQ_SOURCES}
37
}

bazel/rules/rules_score/private/component.bzl

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ with associated requirements and tests.
2020
"""
2121

2222
load("@lobster//:lobster.bzl", "subrule_lobster_gtest", "subrule_lobster_html_report", "subrule_lobster_report")
23-
load("//bazel/rules/rules_score:providers.bzl", "CertifiedScope", "ComponentInfo", "ComponentRequirementsInfo", "SphinxSourcesInfo", "UnitInfo")
23+
load("//bazel/rules/rules_score:providers.bzl", "CertifiedScope", "ComponentInfo", "ComponentRequirementsInfo", "FeatureRequirementsInfo", "SphinxSourcesInfo", "UnitInfo")
2424
load("//bazel/rules/rules_score/private:lobster_config.bzl", "format_lobster_sources")
2525

2626
# ============================================================================
@@ -59,13 +59,18 @@ def _component_impl(ctx):
5959

6060
# -------------------------------------------------------------------------
6161
# Lobster Tracing: collect .lobster files from component_requirements targets
62+
# and feature_requirements targets (needed to resolve derived_from references)
6263
# -------------------------------------------------------------------------
6364
req_lobster_files = []
65+
feat_req_lobster_files = []
6466
for req_target in ctx.attr.requirements:
6567
if ComponentRequirementsInfo in req_target:
6668
req_lobster_files.append(req_target[ComponentRequirementsInfo].srcs)
69+
if FeatureRequirementsInfo in req_target:
70+
feat_req_lobster_files.append(req_target[FeatureRequirementsInfo].srcs)
6771

6872
req_lobster_depset = depset(transitive = req_lobster_files)
73+
feat_req_lobster_depset = depset(transitive = feat_req_lobster_files)
6974

7075
# Collect nested components
7176
components_depset = depset(ctx.attr.components)
@@ -132,7 +137,8 @@ def _component_impl(ctx):
132137
# only the source file lists (the structure is fixed per variant).
133138
# -------------------------------------------------------------------------
134139
comp_req_lobster_files = req_lobster_depset.to_list()
135-
all_lobster_inputs = list(comp_req_lobster_files)
140+
feat_req_lobster_files_list = feat_req_lobster_depset.to_list()
141+
all_lobster_inputs = list(comp_req_lobster_files) + feat_req_lobster_files_list
136142

137143
if arch_lobster_file:
138144
all_lobster_inputs.append(arch_lobster_file)
@@ -144,6 +150,7 @@ def _component_impl(ctx):
144150
template = ctx.file._lobster_comp_template,
145151
output = lobster_config,
146152
substitutions = {
153+
"{FEAT_REQ_SOURCES}": format_lobster_sources(feat_req_lobster_files_list),
147154
"{COMP_REQ_SOURCES}": format_lobster_sources(comp_req_lobster_files),
148155
"{ARCH_SOURCES}": format_lobster_sources([arch_lobster_file] if arch_lobster_file else []),
149156
"{UNIT_TEST_SOURCES}": format_lobster_sources([gtest_lobster_file]),
@@ -211,8 +218,8 @@ _component_test = rule(
211218
attrs = {
212219
"requirements": attr.label_list(
213220
mandatory = True,
214-
providers = [ComponentRequirementsInfo],
215-
doc = "Component requirements artifacts (component_requirements targets only)",
221+
providers = [[ComponentRequirementsInfo], [FeatureRequirementsInfo]],
222+
doc = "Component requirements artifacts (component_requirements or feature_requirements targets)",
216223
),
217224
"components": attr.label_list(
218225
providers = [[ComponentInfo], [UnitInfo]],

bazel/rules/rules_score/src/safety_analysis_tools.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,7 @@ def _is_valid_trlc_fqn(alias: str) -> bool:
8787
return False
8888
return all(
8989
part
90-
and part[0].isalpha()
91-
or part[0] == "_"
90+
and (part[0].isalpha() or part[0] == "_")
9291
and all(c.isalnum() or c == "_" for c in part)
9392
for part in parts
9493
)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Copyright (c) 2026 Contributors to the Eclipse Foundation
2+
#
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
6+
common --registry=https://bcr.bazel.build
7+
8+
build --java_language_version=17
9+
build --tool_java_language_version=17
10+
build --java_runtime_version=remotejdk_17
11+
build --tool_java_runtime_version=remotejdk_17
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8.3.1

0 commit comments

Comments
 (0)