diff options
Diffstat (limited to 'rules/test_common/rules.bzl')
-rw-r--r-- | rules/test_common/rules.bzl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/rules/test_common/rules.bzl b/rules/test_common/rules.bzl new file mode 100644 index 00000000..5b9b8228 --- /dev/null +++ b/rules/test_common/rules.bzl @@ -0,0 +1,31 @@ +""" +Copyright (C) 2022 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +load("@bazel_skylib//lib:unittest.bzl", "analysistest", "asserts") + +def _rule_failure_impl(ctx): + env = analysistest.begin(ctx) + asserts.expect_failure(env, ctx.attr.failure_message) + return analysistest.end(env) + +expect_failure_test = analysistest.make( + impl = _rule_failure_impl, + expect_failure = True, + attrs = { + "failure_message": attr.string(), + }, + doc = "This test checks that a rule fails with the expected failure_message", +) |