@@ -122,13 +122,91 @@ def _test_neverlink_deps(
122
122
123
123
return _case
124
124
125
- def _test_deps_core (
125
+ def _test_runfiles (
126
126
rule_under_test ,
127
127
compile_mnemonic ,
128
128
srcjar_ext = ".srcjar" ,
129
129
additional_compile_libs = [],
130
130
** kwargs ):
131
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 (
203
+ rule_under_test ,
204
+ compile_mnemonic ,
205
+ srcjar_ext = ".srcjar" ,
206
+ additional_compile_libs = [],
207
+ ** kwargs ):
208
+ def _case (test ):
209
+ have_data = test .artifact ("some.file" )
132
210
have = test .have (
133
211
rule_under_test ,
134
212
name = "have" ,
@@ -137,6 +215,9 @@ def _test_deps_core(
137
215
],
138
216
deps = [
139
217
],
218
+ data = [
219
+ have_data ,
220
+ ],
140
221
** kwargs
141
222
)
142
223
@@ -181,7 +262,9 @@ def _test_deps_core(
181
262
),
182
263
"runfiles" : Want (
183
264
attr = attr .label_list (allow_empty = True , allow_files = True ),
184
- value = [],
265
+ value = [
266
+ have_data ,
267
+ ],
185
268
),
186
269
},
187
270
)
@@ -338,13 +421,14 @@ def test_core():
338
421
compile_mnemonic = COMPILE_MNEMONIC ,
339
422
)
340
423
return dict (
341
- test_deps_core_kt_jvm_binary = _test_deps_core (** binary ),
424
+ test_deps_core_kt_jvm_binary = _test_deps (** binary ),
342
425
test_neverlink_deps_core_kt_jvm_binary = _test_neverlink_deps (** binary ),
343
426
test_no_deps_core_kt_jvm_binary = _test_no_deps (** binary ),
344
- test_deps_core_kt_jvm_library = _test_deps_core (** library ),
427
+ test_deps_core_kt_jvm_library = _test_deps (** library ),
345
428
test_neverlink_deps_core_kt_jvm_library = _test_neverlink_deps (** library ),
346
429
test_no_deps_core_kt_jvm_library = _test_no_deps (** library ),
347
430
test_exports_core_kt_jvm_library = _test_exports (** library ),
431
+ test_runfiles_core = _test_runfiles (** library ),
348
432
)
349
433
350
434
def test_jvm ():
@@ -360,10 +444,11 @@ def test_jvm():
360
444
],
361
445
)
362
446
return dict (
363
- test_deps_kt_jvm_library = _test_deps_core (** library ),
447
+ test_deps_kt_jvm_library = _test_deps (** library ),
364
448
test_neverlink_deps_kt_jvm_library = _test_neverlink_deps (** library ),
365
449
test_no_deps_kt_jvm_library = _test_no_deps (** library ),
366
450
test_exports_kt_jvm_library = _test_exports (** library ),
451
+ test_runfiles = _test_runfiles (** library ),
367
452
)
368
453
369
454
def test_suite (name ):
0 commit comments