From 07bd546081911f34440a0d7da8cd7f0f75b7a068 Mon Sep 17 00:00:00 2001 From: cloudhan Date: Thu, 8 Aug 2024 00:41:33 +0800 Subject: [PATCH] test: workaround label resolving with bzlmod (#263) workaround label resolving with bzlmod restrict canonical label resolving only when bzlmod is enabled --- tests/flag/flag_validation_test.bzl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/flag/flag_validation_test.bzl b/tests/flag/flag_validation_test.bzl index 9ed4e00c..904f744e 100644 --- a/tests/flag/flag_validation_test.bzl +++ b/tests/flag/flag_validation_test.bzl @@ -59,7 +59,15 @@ def _create_cuda_library_flag_test(*config_settings): merged_config_settings = {} for cs in config_settings: for k, v in cs.items(): - merged_config_settings[k] = v + # https://github.com/bazelbuild/bazel/issues/19286#issuecomment-1684325913 + # Wrapping all keys into str(Label(...)) should be a workaround with Bazel 6 and later. + # NOTE: //command_line_option will resolve to @@//command_line_option which is not correct. + # Only apply to cuda related labels when bzlmod is enabled + is_bzlmod_enabled = str(Label("//:invalid")).startswith("@@") + if is_bzlmod_enabled and "cuda" in k: + merged_config_settings[str(Label(k))] = v + else: + merged_config_settings[k] = v return analysistest.make( cuda_library_flag_test_impl, config_settings = merged_config_settings,