1*ec63e07aSXin Li# Copyright 2019 Google LLC 2*ec63e07aSXin Li# 3*ec63e07aSXin Li# Licensed under the Apache License, Version 2.0 (the "License"); 4*ec63e07aSXin Li# you may not use this file except in compliance with the License. 5*ec63e07aSXin Li# You may obtain a copy of the License at 6*ec63e07aSXin Li# 7*ec63e07aSXin Li# https://www.apache.org/licenses/LICENSE-2.0 8*ec63e07aSXin Li# 9*ec63e07aSXin Li# Unless required by applicable law or agreed to in writing, software 10*ec63e07aSXin Li# distributed under the License is distributed on an "AS IS" BASIS, 11*ec63e07aSXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ec63e07aSXin Li# See the License for the specific language governing permissions and 13*ec63e07aSXin Li# limitations under the License. 14*ec63e07aSXin Li 15*ec63e07aSXin Liload("//sandboxed_api/bazel:build_defs.bzl", "sapi_platform_copts") 16*ec63e07aSXin Liload("//sandboxed_api/bazel:proto.bzl", "sapi_proto_library") 17*ec63e07aSXin Liload("//sandboxed_api/bazel:sapi.bzl", "sapi_library") 18*ec63e07aSXin Li 19*ec63e07aSXin Lipackage(default_visibility = ["//sandboxed_api:__subpackages__"]) 20*ec63e07aSXin Li 21*ec63e07aSXin Lilicenses(["notice"]) 22*ec63e07aSXin Li 23*ec63e07aSXin Lisapi_proto_library( 24*ec63e07aSXin Li name = "sum_params_proto", 25*ec63e07aSXin Li srcs = ["sum_params.proto"], 26*ec63e07aSXin Li visibility = ["//visibility:public"], 27*ec63e07aSXin Li alwayslink = 1, 28*ec63e07aSXin Li) 29*ec63e07aSXin Li 30*ec63e07aSXin Licc_library( 31*ec63e07aSXin Li name = "sum", 32*ec63e07aSXin Li srcs = [ 33*ec63e07aSXin Li "sum.c", 34*ec63e07aSXin Li "sum_cpp.cc", 35*ec63e07aSXin Li ], 36*ec63e07aSXin Li copts = sapi_platform_copts(), 37*ec63e07aSXin Li visibility = ["//visibility:public"], 38*ec63e07aSXin Li deps = [ 39*ec63e07aSXin Li ":sum_params_cc_proto", 40*ec63e07aSXin Li "@com_google_absl//absl/log", 41*ec63e07aSXin Li ], 42*ec63e07aSXin Li alwayslink = 1, # All functions are linked into depending binaries 43*ec63e07aSXin Li) 44*ec63e07aSXin Li 45*ec63e07aSXin Lisapi_library( 46*ec63e07aSXin Li name = "sum-sapi", 47*ec63e07aSXin Li functions = [ 48*ec63e07aSXin Li "sum", 49*ec63e07aSXin Li "sums", 50*ec63e07aSXin Li "addf", 51*ec63e07aSXin Li "sub", 52*ec63e07aSXin Li "mul", 53*ec63e07aSXin Li "divs", 54*ec63e07aSXin Li "muld", 55*ec63e07aSXin Li "crash", 56*ec63e07aSXin Li "violate", 57*ec63e07aSXin Li "sumarr", 58*ec63e07aSXin Li "testptr", 59*ec63e07aSXin Li "read_int", 60*ec63e07aSXin Li "sleep_for_sec", 61*ec63e07aSXin Li "sumproto", 62*ec63e07aSXin Li ], 63*ec63e07aSXin Li generator_version = 1, 64*ec63e07aSXin Li input_files = [ 65*ec63e07aSXin Li "sum.c", 66*ec63e07aSXin Li "sum_cpp.cc", 67*ec63e07aSXin Li ], 68*ec63e07aSXin Li lib = ":sum", 69*ec63e07aSXin Li lib_name = "Sum", 70*ec63e07aSXin Li namespace = "", 71*ec63e07aSXin Li visibility = ["//visibility:public"], 72*ec63e07aSXin Li deps = [":sum_params_cc_proto"], 73*ec63e07aSXin Li) 74*ec63e07aSXin Li 75*ec63e07aSXin Li# A quick'n'dirty testing binary 76*ec63e07aSXin Licc_binary( 77*ec63e07aSXin Li name = "main_sum", 78*ec63e07aSXin Li srcs = ["main_sum.cc"], 79*ec63e07aSXin Li copts = sapi_platform_copts(), 80*ec63e07aSXin Li deps = [ 81*ec63e07aSXin Li ":sum-sapi", 82*ec63e07aSXin Li ":sum_params_cc_proto", 83*ec63e07aSXin Li "//sandboxed_api:sapi", 84*ec63e07aSXin Li "//sandboxed_api:vars", 85*ec63e07aSXin Li "@com_google_absl//absl/base:core_headers", 86*ec63e07aSXin Li "@com_google_absl//absl/base:log_severity", 87*ec63e07aSXin Li "@com_google_absl//absl/flags:parse", 88*ec63e07aSXin Li "@com_google_absl//absl/log", 89*ec63e07aSXin Li "@com_google_absl//absl/log:check", 90*ec63e07aSXin Li "@com_google_absl//absl/log:globals", 91*ec63e07aSXin Li "@com_google_absl//absl/log:initialize", 92*ec63e07aSXin Li "@com_google_absl//absl/status", 93*ec63e07aSXin Li "@com_google_absl//absl/status:statusor", 94*ec63e07aSXin Li "@com_google_absl//absl/strings", 95*ec63e07aSXin Li ], 96*ec63e07aSXin Li) 97*ec63e07aSXin Li 98*ec63e07aSXin Li# For now we only test exit status from the binary 99*ec63e07aSXin Lish_test( 100*ec63e07aSXin Li name = "main_sum_test", 101*ec63e07aSXin Li srcs = ["main_sum_test.sh"], 102*ec63e07aSXin Li data = [":main_sum"], 103*ec63e07aSXin Li) 104