1*9e965d6fSRomain Jobredeaux# Copyright 2018 The Bazel Authors. All rights reserved. 2*9e965d6fSRomain Jobredeaux# 3*9e965d6fSRomain Jobredeaux# Licensed under the Apache License, Version 2.0 (the "License"); 4*9e965d6fSRomain Jobredeaux# you may not use this file except in compliance with the License. 5*9e965d6fSRomain Jobredeaux# You may obtain a copy of the License at 6*9e965d6fSRomain Jobredeaux# 7*9e965d6fSRomain Jobredeaux# http://www.apache.org/licenses/LICENSE-2.0 8*9e965d6fSRomain Jobredeaux# 9*9e965d6fSRomain Jobredeaux# Unless required by applicable law or agreed to in writing, software 10*9e965d6fSRomain Jobredeaux# distributed under the License is distributed on an "AS IS" BASIS, 11*9e965d6fSRomain Jobredeaux# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9e965d6fSRomain Jobredeaux# See the License for the specific language governing permissions and 13*9e965d6fSRomain Jobredeaux# limitations under the License. 14*9e965d6fSRomain Jobredeaux 15*9e965d6fSRomain Jobredeaux"""Bazel Android testing libs.""" 16*9e965d6fSRomain Jobredeaux 17*9e965d6fSRomain Jobredeauxload( 18*9e965d6fSRomain Jobredeaux ":file.bzl", 19*9e965d6fSRomain Jobredeaux _file = "file", 20*9e965d6fSRomain Jobredeaux) 21*9e965d6fSRomain Jobredeauxload( 22*9e965d6fSRomain Jobredeaux ":unittest.bzl", 23*9e965d6fSRomain Jobredeaux _analysistest = "analysistest", 24*9e965d6fSRomain Jobredeaux _unittest = "unittest", 25*9e965d6fSRomain Jobredeaux) 26*9e965d6fSRomain Jobredeauxload( 27*9e965d6fSRomain Jobredeaux "@bazel_skylib//lib:unittest.bzl", 28*9e965d6fSRomain Jobredeaux _asserts = "asserts", 29*9e965d6fSRomain Jobredeaux) 30*9e965d6fSRomain Jobredeaux 31*9e965d6fSRomain Jobredeauxfile = _file 32*9e965d6fSRomain Jobredeaux 33*9e965d6fSRomain Jobredeauxunittest = _unittest 34*9e965d6fSRomain Jobredeaux 35*9e965d6fSRomain Jobredeauxanalysistest = _analysistest 36*9e965d6fSRomain Jobredeaux 37*9e965d6fSRomain Jobredeauxasserts = _asserts 38*9e965d6fSRomain Jobredeaux 39*9e965d6fSRomain Jobredeauxdef _failure_test_impl(ctx): 40*9e965d6fSRomain Jobredeaux env = analysistest.begin(ctx) 41*9e965d6fSRomain Jobredeaux if ctx.attr.expected_error_msg != "": 42*9e965d6fSRomain Jobredeaux asserts.expect_failure(env, ctx.attr.expected_error_msg) 43*9e965d6fSRomain Jobredeaux return analysistest.end(env) 44*9e965d6fSRomain Jobredeaux 45*9e965d6fSRomain Jobredeauxfailure_test = analysistest.make( 46*9e965d6fSRomain Jobredeaux _failure_test_impl, 47*9e965d6fSRomain Jobredeaux expect_failure = True, 48*9e965d6fSRomain Jobredeaux attrs = dict( 49*9e965d6fSRomain Jobredeaux expected_error_msg = attr.string(), 50*9e965d6fSRomain Jobredeaux ), 51*9e965d6fSRomain Jobredeaux) 52