@@ -194,6 +194,50 @@ inspect_actions_test = analysistest.make(
194194 _inspect_actions_test ,
195195)
196196
197+ ####################################
198+ ####### inspect_aspect_test #######
199+ ####################################
200+ _AddedByAspectInfo = provider (
201+ doc = "Example provider added by example aspect" ,
202+ fields = {
203+ "value" : "(str)" ,
204+ },
205+ )
206+
207+ def _example_aspect_impl (target , ctx ):
208+ return [
209+ _AddedByAspectInfo (value = "attached by aspect" ),
210+ ]
211+
212+ example_aspect = aspect (
213+ implementation = _example_aspect_impl ,
214+ )
215+
216+ def _inspect_aspect_test (ctx ):
217+ """Test verifying aspect run on a target."""
218+ env = analysistest .begin (ctx )
219+
220+ tut = env .ctx .attr .target_under_test
221+ asserts .equals (env , "attached by aspect" , tut [_AddedByAspectInfo ].value )
222+ return analysistest .end (env )
223+
224+ def _inspect_aspect_fake_rule (ctx ):
225+ out_file = ctx .actions .declare_file ("out.txt" )
226+ ctx .actions .run_shell (
227+ command = "echo 'hello' > %s" % out_file .basename ,
228+ outputs = [out_file ],
229+ )
230+ return [DefaultInfo (files = depset ([out_file ]))]
231+
232+ inspect_aspect_fake_rule = rule (
233+ implementation = _inspect_aspect_fake_rule ,
234+ )
235+
236+ inspect_aspect_test = analysistest .make (
237+ _inspect_aspect_test ,
238+ extra_target_under_test_aspects = [example_aspect ],
239+ )
240+
197241########################################
198242####### inspect_output_dirs_test #######
199243########################################
@@ -293,6 +337,15 @@ def unittest_passing_tests_suite():
293337 tags = ["manual" ],
294338 )
295339
340+ inspect_aspect_test (
341+ name = "inspect_aspect_test" ,
342+ target_under_test = ":inspect_aspect_fake_target" ,
343+ )
344+ inspect_aspect_fake_rule (
345+ name = "inspect_aspect_fake_target" ,
346+ tags = ["manual" ],
347+ )
348+
296349 inspect_output_dirs_test (
297350 name = "inspect_output_dirs_test" ,
298351 target_under_test = ":inspect_output_dirs_fake_target" ,
0 commit comments