# Copyright 2019 Google LLC # # 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 # # https://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("//sandboxed_api/bazel:build_defs.bzl", "sapi_platform_copts") load("//sandboxed_api/bazel:proto.bzl", "sapi_proto_library") load("//sandboxed_api/bazel:sapi.bzl", "sapi_library") package(default_visibility = ["//sandboxed_api:__subpackages__"]) licenses(["notice"]) sapi_proto_library( name = "sum_params_proto", srcs = ["sum_params.proto"], visibility = ["//visibility:public"], alwayslink = 1, ) cc_library( name = "sum", srcs = [ "sum.c", "sum_cpp.cc", ], copts = sapi_platform_copts(), visibility = ["//visibility:public"], deps = [ ":sum_params_cc_proto", "@com_google_absl//absl/log", ], alwayslink = 1, # All functions are linked into depending binaries ) sapi_library( name = "sum-sapi", srcs = [], hdrs = ["sandbox.h"], functions = [ "sum", "sums", "addf", "sub", "mul", "divs", "muld", "crash", "violate", "sumarr", "testptr", "read_int", "sleep_for_sec", "sumproto", ], generator_version = 1, input_files = [ "sum.c", "sum_cpp.cc", ], lib = ":sum", lib_name = "Sum", namespace = "", visibility = ["//visibility:public"], deps = [":sum_params_cc_proto"], ) # A quick'n'dirty testing binary cc_binary( name = "main_sum", srcs = ["main_sum.cc"], copts = sapi_platform_copts(), deps = [ ":sum-sapi", ":sum_params_cc_proto", "//sandboxed_api:sapi", "//sandboxed_api:vars", "@com_google_absl//absl/base:log_severity", "@com_google_absl//absl/flags:flag", "@com_google_absl//absl/flags:parse", "@com_google_absl//absl/log", "@com_google_absl//absl/log:check", "@com_google_absl//absl/log:globals", "@com_google_absl//absl/log:initialize", "@com_google_absl//absl/status", "@com_google_absl//absl/strings", ], ) # For now we only test exit status from the binary sh_test( name = "main_sum_test", srcs = ["main_sum_test.sh"], data = [":main_sum"], )