From 2363fa3182d8e8bccb76b0d5670b55e5d8e23cd8 Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Mon, 20 Sep 2021 15:41:08 +0100 Subject: [PATCH] Add test --- tests/unittest_tests.bzl | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tests/unittest_tests.bzl b/tests/unittest_tests.bzl index a3741f6c..abddbdda 100644 --- a/tests/unittest_tests.bzl +++ b/tests/unittest_tests.bzl @@ -194,6 +194,50 @@ inspect_actions_test = analysistest.make( _inspect_actions_test, ) +#################################### +####### inspect_aspect_test ####### +#################################### +_AddedByAspectInfo = provider( + doc = "Example provider added by example aspect", + fields = { + "value": "(str)", + }, +) + +def _example_aspect_impl(target, ctx): + return [ + _AddedByAspectInfo(value = "attached by aspect"), + ] + +example_aspect = aspect( + implementation = _example_aspect_impl, +) + +def _inspect_aspect_test(ctx): + """Test verifying aspect run on a target.""" + env = analysistest.begin(ctx) + + tut = env.ctx.attr.target_under_test + asserts.equals(env, "attached by aspect", tut[_AddedByAspectInfo].value) + return analysistest.end(env) + +def _inspect_aspect_fake_rule(ctx): + out_file = ctx.actions.declare_file("out.txt") + ctx.actions.run_shell( + command = "echo 'hello' > %s" % out_file.basename, + outputs = [out_file], + ) + return [DefaultInfo(files = depset([out_file]))] + +inspect_aspect_fake_rule = rule( + implementation = _inspect_aspect_fake_rule, +) + +inspect_aspect_test = analysistest.make( + _inspect_aspect_test, + extra_target_under_test_aspects = [example_aspect], +) + ######################################## ####### inspect_output_dirs_test ####### ######################################## @@ -293,6 +337,15 @@ def unittest_passing_tests_suite(): tags = ["manual"], ) + inspect_aspect_test( + name = "inspect_aspect_test", + target_under_test = ":inspect_aspect_fake_target", + ) + inspect_aspect_fake_rule( + name = "inspect_aspect_fake_target", + tags = ["manual"], + ) + inspect_output_dirs_test( name = "inspect_output_dirs_test", target_under_test = ":inspect_output_dirs_fake_target",