Skip to content

Commit 0c6bcc8

Browse files
authored
cargo_build_script: Add regression test for revert #2925 (#2936)
#2931 added tests for _pwd_flags, however the test as-is passes with #2911 and #2922, which still caused problems and reverted. Here I introduce a test case for likely unfixed in reverted #2925. The test needs strictter check for cflags. As-ls `flag in cflags` is a just substring search and very weak test for abs path. For #2917
1 parent 63fa643 commit 0c6bcc8

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

test/cargo_build_script/cc_args_and_env/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@ load(
55
"isystem_absolute_test",
66
"isystem_relative_test",
77
"sysroot_absolute_test",
8+
"sysroot_next_absolute_test",
89
"sysroot_relative_test",
910
)
1011

1112
sysroot_relative_test(name = "sysroot_relative_test")
1213

1314
sysroot_absolute_test(name = "sysroot_absolute_test")
1415

16+
sysroot_next_absolute_test(name = "sysroot_next_absolute_test")
17+
1518
isystem_relative_test(name = "isystem_relative_test")
1619

1720
isystem_absolute_test(name = "isystem_absolute_test")

test/cargo_build_script/cc_args_and_env/cc_args_and_env_test.bzl

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def _cc_args_and_env_analysis_test_impl(ctx):
8383
env = analysistest.begin(ctx)
8484
tut = analysistest.target_under_test(env)
8585
cargo_action = tut[DepActionsInfo].actions[0]
86-
cflags = cargo_action.env["CFLAGS"]
86+
cflags = cargo_action.env["CFLAGS"].split(" ")
8787
for flag in ctx.attr.expected_cflags:
8888
asserts.true(
8989
env,
@@ -173,6 +173,17 @@ def sysroot_absolute_test(name):
173173
expected_cflags = ["--sysroot=/test/absolute/sysroot"],
174174
)
175175

176+
def sysroot_next_absolute_test(name):
177+
cargo_build_script_with_extra_cc_compile_flags(
178+
name = "%s/cargo_build_script" % name,
179+
extra_cc_compile_flags = ["--sysroot=/test/absolute/sysroot", "test/relative/another"],
180+
)
181+
cc_args_and_env_analysis_test(
182+
name = name,
183+
target_under_test = "%s/cargo_build_script" % name,
184+
expected_cflags = ["--sysroot=/test/absolute/sysroot", "test/relative/another"],
185+
)
186+
176187
def isystem_relative_test(name):
177188
cargo_build_script_with_extra_cc_compile_flags(
178189
name = "%s/cargo_build_script" % name,
@@ -181,7 +192,7 @@ def isystem_relative_test(name):
181192
cc_args_and_env_analysis_test(
182193
name = name,
183194
target_under_test = "%s/cargo_build_script" % name,
184-
expected_cflags = ["-isystem ${pwd}/test/relative/path"],
195+
expected_cflags = ["-isystem", "${pwd}/test/relative/path"],
185196
)
186197

187198
def isystem_absolute_test(name):
@@ -192,7 +203,7 @@ def isystem_absolute_test(name):
192203
cc_args_and_env_analysis_test(
193204
name = name,
194205
target_under_test = "%s/cargo_build_script" % name,
195-
expected_cflags = ["-isystem /test/absolute/path"],
206+
expected_cflags = ["-isystem", "/test/absolute/path"],
196207
)
197208

198209
def fsanitize_ignorelist_relative_test(name):

0 commit comments

Comments
 (0)