1*99e0aae7SDavid Rees# Copyright 2019 Google LLC 2*99e0aae7SDavid Rees# 3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License"); 4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License. 5*99e0aae7SDavid Rees# You may obtain a copy of the License at 6*99e0aae7SDavid Rees# 7*99e0aae7SDavid Rees# https://www.apache.org/licenses/LICENSE-2.0 8*99e0aae7SDavid Rees# 9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software 10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS, 11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and 13*99e0aae7SDavid Rees# limitations under the License. 14*99e0aae7SDavid Rees 15*99e0aae7SDavid Rees# -*- mode: python; -*- 16*99e0aae7SDavid Rees# vim:set ft=blazebuild: 17*99e0aae7SDavid Rees 18*99e0aae7SDavid Rees"""Macro to run tests both with and without optimizations.""" 19*99e0aae7SDavid Rees 20*99e0aae7SDavid Reesdef emboss_cc_util_test(name, copts = [], **kwargs): 21*99e0aae7SDavid Rees """Constructs two cc_test targets, with and without optimizations.""" 22*99e0aae7SDavid Rees native.cc_test( 23*99e0aae7SDavid Rees name = name, 24*99e0aae7SDavid Rees copts = copts + ["-Wsign-compare"], 25*99e0aae7SDavid Rees **kwargs 26*99e0aae7SDavid Rees ) 27*99e0aae7SDavid Rees native.cc_test( 28*99e0aae7SDavid Rees name = name + "_no_opts", 29*99e0aae7SDavid Rees copts = copts + [ 30*99e0aae7SDavid Rees # This is generally a dangerous flag for an individual target, but 31*99e0aae7SDavid Rees # these tests do not depend on any other .cc files that might 32*99e0aae7SDavid Rees # #include any Emboss headers. 33*99e0aae7SDavid Rees "-DEMBOSS_NO_OPTIMIZATIONS", 34*99e0aae7SDavid Rees ], 35*99e0aae7SDavid Rees **kwargs 36*99e0aae7SDavid Rees ) 37