diff --git a/e2e/test/BUILD.bazel b/e2e/test/BUILD.bazel index f107770dd2a8876206e8656400476060a021c28d..e615b8dba01fa0531c7eca47f4be4f292824768b 100644 --- a/e2e/test/BUILD.bazel +++ b/e2e/test/BUILD.bazel @@ -34,8 +34,37 @@ py_binary( ) labgrid_test( - name = "forward-env-test", + name = "src-env", size = "small", src = ":inner-with-env", platform = "@rules_labgrid//labgrid/platform:localhost", ) + +py_binary( + name = "inner-without-env", + srcs = ["greeting.py"], + main = "greeting.py", +) + +labgrid_test( + name = "env", + size = "small", + src = ":inner-without-env", + env = {"GREETING": "hello"}, + platform = "@rules_labgrid//labgrid/platform:localhost", +) + +py_binary( + name = "inner-with-override-env", + srcs = ["greeting.py"], + env = {"GREETING": "olá"}, + main = "greeting.py", +) + +labgrid_test( + name = "override-src-env", + size = "small", + src = ":inner-with-override-env", + env = {"GREETING": "hello"}, + platform = "@rules_labgrid//labgrid/platform:localhost", +) diff --git a/labgrid/test/rule.bzl b/labgrid/test/rule.bzl index e0f899427f685a9a596fd76b2e378817f5b90f15..9a81490c9d4225cf01d8d87b18bcc1309ad80e37 100644 --- a/labgrid/test/rule.bzl +++ b/labgrid/test/rule.bzl @@ -19,6 +19,10 @@ ATTRS = { doc = "Platform to transition to.", providers = [platform_common.PlatformInfo], ), + "env": attr.string_dict( + doc = "Environment variables to set in the test environment.", + default = {}, + ), "_executor": attr.label( doc = "The labgrid environment executor", default = "//labgrid/executor", @@ -53,7 +57,7 @@ def _get(pair): return ["--get", "{}:{}".format(key, value)] def implementation(ctx): - env = _run_env(ctx.attr.src) | { + env = _run_env(ctx.attr.src) | ctx.attr.env | { "XML_OUTPUT_FILE": "results.xml", "BAZEL_TEST": "1", }