Windows: fix tests for native test wrapper (#129)
All tests work with `--incompatible_windows_native_test_wrapper` except for the ones already broken on Windows (//tests:analysis_test_e2e_test and //tests:unittest_e2e_test). See https://github.com/bazelbuild/bazel/issues/6622
This commit is contained in:
parent
98ef48ebb2
commit
4c26bf475c
11
tests/BUILD
11
tests/BUILD
|
@ -8,7 +8,7 @@ load(":partial_tests.bzl", "partial_test_suite")
|
||||||
load(":paths_tests.bzl", "paths_test_suite")
|
load(":paths_tests.bzl", "paths_test_suite")
|
||||||
load(":selects_tests.bzl", "selects_test_suite")
|
load(":selects_tests.bzl", "selects_test_suite")
|
||||||
load(":sets_tests.bzl", "sets_test_suite")
|
load(":sets_tests.bzl", "sets_test_suite")
|
||||||
load(":shell_tests.bzl", "shell_test_suite")
|
load(":shell_tests.bzl", "shell_args_test_gen", "shell_test_suite")
|
||||||
load(":structs_tests.bzl", "structs_test_suite")
|
load(":structs_tests.bzl", "structs_test_suite")
|
||||||
load(":types_tests.bzl", "types_test_suite")
|
load(":types_tests.bzl", "types_test_suite")
|
||||||
load(":unittest_tests.bzl", "unittest_passing_tests_suite")
|
load(":unittest_tests.bzl", "unittest_passing_tests_suite")
|
||||||
|
@ -84,3 +84,12 @@ sh_test(
|
||||||
],
|
],
|
||||||
tags = ["local"],
|
tags = ["local"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
shell_args_test_gen(
|
||||||
|
name = "shell_spawn_e2e_test_src",
|
||||||
|
)
|
||||||
|
|
||||||
|
sh_test(
|
||||||
|
name = "shell_spawn_e2e_test",
|
||||||
|
srcs = [":shell_spawn_e2e_test_src"],
|
||||||
|
)
|
||||||
|
|
|
@ -52,8 +52,8 @@ def _shell_quote_test(ctx):
|
||||||
|
|
||||||
shell_quote_test = unittest.make(_shell_quote_test)
|
shell_quote_test = unittest.make(_shell_quote_test)
|
||||||
|
|
||||||
def _shell_spawn_e2e_test_impl(ctx):
|
def _shell_args_test_gen_impl(ctx):
|
||||||
"""Test spawning a real shell."""
|
"""Test argument escaping: this rule writes a script for a sh_test."""
|
||||||
args = [
|
args = [
|
||||||
"foo",
|
"foo",
|
||||||
"foo bar",
|
"foo bar",
|
||||||
|
@ -83,19 +83,16 @@ def _shell_spawn_e2e_test_impl(ctx):
|
||||||
"line tab\tcharacter $foo qu\"o\"te it'\\''s foo\\bar back`echo q`uote'",
|
"line tab\tcharacter $foo qu\"o\"te it'\\''s foo\\bar back`echo q`uote'",
|
||||||
'[[ "${output}" == "${expected}" ]]',
|
'[[ "${output}" == "${expected}" ]]',
|
||||||
])
|
])
|
||||||
script_file = ctx.actions.declare_file("%s.sh" % (ctx.label.name))
|
out = ctx.actions.declare_file(ctx.label.name + ".sh")
|
||||||
ctx.actions.write(
|
ctx.actions.write(
|
||||||
output = script_file,
|
output = out,
|
||||||
content = script_content,
|
content = script_content,
|
||||||
is_executable = True,
|
is_executable = True,
|
||||||
)
|
)
|
||||||
return [
|
return [DefaultInfo(files = depset([out]))]
|
||||||
DefaultInfo(executable = script_file),
|
|
||||||
]
|
|
||||||
|
|
||||||
shell_spawn_e2e_test = rule(
|
shell_args_test_gen = rule(
|
||||||
test = True,
|
implementation = _shell_args_test_gen_impl,
|
||||||
implementation = _shell_spawn_e2e_test_impl,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def shell_test_suite():
|
def shell_test_suite():
|
||||||
|
@ -104,5 +101,4 @@ def shell_test_suite():
|
||||||
"shell_tests",
|
"shell_tests",
|
||||||
shell_array_literal_test,
|
shell_array_literal_test,
|
||||||
shell_quote_test,
|
shell_quote_test,
|
||||||
shell_spawn_e2e_test,
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue