2020-01-17 21:05:03 +08:00
|
|
|
# Copyright 2019 Google LLC
|
2019-03-19 00:21:48 +08:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
#
|
2022-01-28 17:38:27 +08:00
|
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
2019-03-19 00:21:48 +08:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
|
2019-05-09 20:21:11 +08:00
|
|
|
load("//sandboxed_api/bazel:build_defs.bzl", "sapi_platform_copts")
|
2019-03-19 00:21:48 +08:00
|
|
|
load("//sandboxed_api/bazel:sapi.bzl", "sapi_library")
|
|
|
|
|
2021-01-05 23:18:13 +08:00
|
|
|
licenses(["notice"])
|
|
|
|
|
2019-03-19 00:21:48 +08:00
|
|
|
py_library(
|
|
|
|
name = "code",
|
|
|
|
srcs = ["code.py"],
|
|
|
|
)
|
|
|
|
|
|
|
|
py_test(
|
|
|
|
name = "code_test",
|
|
|
|
size = "small",
|
|
|
|
srcs = [
|
|
|
|
"code_test.py",
|
|
|
|
"code_test_util.py",
|
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":code",
|
|
|
|
"@com_google_absl_py//absl/testing:absltest",
|
|
|
|
"@com_google_absl_py//absl/testing:parameterized",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
py_binary(
|
|
|
|
name = "sapi_generator",
|
|
|
|
srcs = ["sapi_generator.py"],
|
|
|
|
visibility = ["//visibility:public"],
|
|
|
|
deps = [
|
|
|
|
":code",
|
|
|
|
"@com_google_absl_py//absl:app",
|
2023-08-24 21:23:03 +08:00
|
|
|
"@com_google_absl_py//absl/flags",
|
|
|
|
"@com_google_absl_py//absl/logging",
|
2019-03-19 00:21:48 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_library(
|
|
|
|
name = "tests",
|
|
|
|
srcs = [
|
|
|
|
"testdata/tests.cc",
|
|
|
|
"testdata/tests.h",
|
|
|
|
"testdata/tests2.cc",
|
|
|
|
],
|
2019-05-09 20:21:11 +08:00
|
|
|
copts = sapi_platform_copts(),
|
2019-03-19 00:21:48 +08:00
|
|
|
alwayslink = 1,
|
|
|
|
)
|
|
|
|
|
|
|
|
# Targets for testing if generated code compiles
|
|
|
|
sapi_library(
|
|
|
|
name = "tests_sapi_generator",
|
2022-04-01 16:45:23 +08:00
|
|
|
generator_version = 1,
|
2019-03-19 00:21:48 +08:00
|
|
|
input_files = [
|
|
|
|
"testdata/tests.cc",
|
|
|
|
"testdata/tests2.cc",
|
|
|
|
],
|
|
|
|
lib = ":tests",
|
|
|
|
lib_name = "Tests",
|
|
|
|
namespace = "sapi::tests",
|
|
|
|
)
|
|
|
|
|
|
|
|
cc_binary(
|
|
|
|
name = "build_test_bin",
|
|
|
|
srcs = [
|
|
|
|
"testdata/main.cc",
|
|
|
|
":tests_sapi_generator.sapi.h",
|
|
|
|
":tests_sapi_generator_embed.h",
|
|
|
|
],
|
2019-05-09 20:21:11 +08:00
|
|
|
copts = sapi_platform_copts(),
|
2019-03-19 00:21:48 +08:00
|
|
|
deps = [
|
2023-08-24 21:23:03 +08:00
|
|
|
":tests_sapi_generator",
|
2019-03-19 00:21:48 +08:00
|
|
|
"//sandboxed_api:sapi",
|
|
|
|
"//sandboxed_api:vars",
|
2021-01-05 23:18:13 +08:00
|
|
|
"//sandboxed_api/util:status",
|
|
|
|
"@com_google_absl//absl/status",
|
|
|
|
"@com_google_absl//absl/status:statusor",
|
2019-03-19 00:21:48 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2021-01-11 22:58:06 +08:00
|
|
|
# Compilation test - always passes if dependency builds properly
|
2019-03-19 00:21:48 +08:00
|
|
|
sh_test(
|
|
|
|
name = "build_test",
|
|
|
|
srcs = ["build_test.sh"],
|
|
|
|
data = [":build_test_bin"],
|
|
|
|
tags = ["nobuilder"],
|
|
|
|
)
|