From ba681f1bfd3adf032946b133c05e0e75249b78b8 Mon Sep 17 00:00:00 2001 From: Alex Tercete Date: Mon, 14 Apr 2025 11:39:08 +0100 Subject: [PATCH 1/2] chore(test): set test size --- e2e/test/BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/e2e/test/BUILD.bazel b/e2e/test/BUILD.bazel index 161fc7b0..cc303286 100644 --- a/e2e/test/BUILD.bazel +++ b/e2e/test/BUILD.bazel @@ -11,6 +11,7 @@ py_binary( labgrid_test( name = "test", + size = "small", src = ":inner", platform = "@rules_labgrid//labgrid/platform:localhost", ) -- GitLab From 3ec99b69ce98938c2a3d4ed684fb10a0ff08b0fe Mon Sep 17 00:00:00 2001 From: Alex Tercete Date: Mon, 14 Apr 2025 11:49:12 +0100 Subject: [PATCH 2/2] fix(test): respect `env` from `src` --- e2e/test/BUILD.bazel | 24 ++++++++++++++++++++++++ labgrid/test/rule.bzl | 7 ++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/e2e/test/BUILD.bazel b/e2e/test/BUILD.bazel index cc303286..f107770d 100644 --- a/e2e/test/BUILD.bazel +++ b/e2e/test/BUILD.bazel @@ -1,3 +1,4 @@ +load("@bazel_skylib//rules:write_file.bzl", "write_file") load("@rules_labgrid//labgrid/test:defs.bzl", "labgrid_test") load("@rules_python//python:defs.bzl", "py_binary") @@ -15,3 +16,26 @@ labgrid_test( src = ":inner", platform = "@rules_labgrid//labgrid/platform:localhost", ) + +write_file( + name = "greeting", + out = "greeting.py", + content = [ + "from os import environ", + "assert environ.get('GREETING') == 'hello'", + ], +) + +py_binary( + name = "inner-with-env", + srcs = ["greeting.py"], + env = {"GREETING": "hello"}, + main = "greeting.py", +) + +labgrid_test( + name = "forward-env-test", + size = "small", + src = ":inner-with-env", + platform = "@rules_labgrid//labgrid/platform:localhost", +) diff --git a/labgrid/test/rule.bzl b/labgrid/test/rule.bzl index c14f842f..e0f89942 100644 --- a/labgrid/test/rule.bzl +++ b/labgrid/test/rule.bzl @@ -39,6 +39,11 @@ def _runfile(label, file): return path.removeprefix("../") return "{}/{}".format(label.workspace_name or "_main", path) +def _run_env(target): + if RunEnvironmentInfo in target: + return target[RunEnvironmentInfo].environment + return {} + def _env(pair): key, value = pair return ["--env", "{}={}".format(key, value)] @@ -48,7 +53,7 @@ def _get(pair): return ["--get", "{}:{}".format(key, value)] def implementation(ctx): - env = { + env = _run_env(ctx.attr.src) | { "XML_OUTPUT_FILE": "results.xml", "BAZEL_TEST": "1", } -- GitLab