@@ -122,7 +122,84 @@ def _test_neverlink_deps(
122
122
123
123
return _case
124
124
125
- def _test_deps_core (
125
+ def _test_runfiles (
126
+ rule_under_test ,
127
+ compile_mnemonic ,
128
+ srcjar_ext = ".srcjar" ,
129
+ additional_compile_libs = [],
130
+ ** kwargs ):
131
+ def _case (test ):
132
+ transitive_data_file = test .artifact ("transitive_data.file" )
133
+ transitive_data = test .have (
134
+ rule_under_test ,
135
+ name = "transitive_data" ,
136
+ srcs = [],
137
+ deps = [],
138
+ data = [transitive_data_file ],
139
+ ** kwargs
140
+ )
141
+ data_file = test .artifact ("data.file" )
142
+ data = test .have (
143
+ rule_under_test ,
144
+ name = "data" ,
145
+ srcs = [],
146
+ runtime_deps = [transitive_data ],
147
+ data = [data_file ],
148
+ ** kwargs
149
+ )
150
+
151
+ got = test .got (
152
+ rule_under_test ,
153
+ name = "got" ,
154
+ srcs = [
155
+ test .artifact ("gave.kt" ),
156
+ ],
157
+ deps = [
158
+ data ,
159
+ ],
160
+ ** kwargs
161
+ )
162
+ test .claim (
163
+ got = got ,
164
+ what = _outputs ,
165
+ wants = {
166
+ "class_jar" : Want (
167
+ attr = attr .label (allow_single_file = True ),
168
+ value = got + ".jar" ,
169
+ ),
170
+ "source_jar" : Want (
171
+ attr = attr .label (allow_single_file = True ),
172
+ value = got + srcjar_ext ,
173
+ ),
174
+ "inputs" : Want (
175
+ attr = attr .label_list (allow_empty = True , allow_files = True ),
176
+ value = [data ],
177
+ ),
178
+ "transitive_compile_deps" : Want (
179
+ attr = attr .label_list (providers = [[JavaInfo ], [KtJvmInfo ]]),
180
+ value = [data , got ] + additional_compile_libs ,
181
+ ),
182
+ "transitive_runtime_deps" : Want (
183
+ attr = attr .label_list (providers = [[JavaInfo ], [KtJvmInfo ]]),
184
+ value = [got ],
185
+ ),
186
+ "compile_mnemonic" : Want (
187
+ attr = attr .string (),
188
+ value = compile_mnemonic ,
189
+ ),
190
+ "runfiles" : Want (
191
+ attr = attr .label_list (allow_empty = True , allow_files = True ),
192
+ value = [
193
+ data_file ,
194
+ transitive_data_file ,
195
+ ],
196
+ ),
197
+ },
198
+ )
199
+
200
+ return _case
201
+
202
+ def _test_deps (
126
203
rule_under_test ,
127
204
compile_mnemonic ,
128
205
srcjar_ext = ".srcjar" ,
@@ -344,13 +421,14 @@ def test_core():
344
421
compile_mnemonic = COMPILE_MNEMONIC ,
345
422
)
346
423
return dict (
347
- test_deps_core_kt_jvm_binary = _test_deps_core (** binary ),
424
+ test_deps_core_kt_jvm_binary = _test_deps (** binary ),
348
425
test_neverlink_deps_core_kt_jvm_binary = _test_neverlink_deps (** binary ),
349
426
test_no_deps_core_kt_jvm_binary = _test_no_deps (** binary ),
350
- test_deps_core_kt_jvm_library = _test_deps_core (** library ),
427
+ test_deps_core_kt_jvm_library = _test_deps (** library ),
351
428
test_neverlink_deps_core_kt_jvm_library = _test_neverlink_deps (** library ),
352
429
test_no_deps_core_kt_jvm_library = _test_no_deps (** library ),
353
430
test_exports_core_kt_jvm_library = _test_exports (** library ),
431
+ test_runfiles_core = _test_runfiles (** library ),
354
432
)
355
433
356
434
def test_jvm ():
@@ -366,10 +444,11 @@ def test_jvm():
366
444
],
367
445
)
368
446
return dict (
369
- test_deps_kt_jvm_library = _test_deps_core (** library ),
447
+ test_deps_kt_jvm_library = _test_deps (** library ),
370
448
test_neverlink_deps_kt_jvm_library = _test_neverlink_deps (** library ),
371
449
test_no_deps_kt_jvm_library = _test_no_deps (** library ),
372
450
test_exports_kt_jvm_library = _test_exports (** library ),
451
+ test_runfiles = _test_runfiles (** library ),
373
452
)
374
453
375
454
def test_suite (name ):
0 commit comments