mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
Move filewrapper to tools
directory
This decouples it from the underlying build system PiperOrigin-RevId: 313764652 Change-Id: I64de2f8533d307567de297942a3d02d26b0839f4
This commit is contained in:
parent
e76e73dfe8
commit
5aff251a92
|
@ -12,7 +12,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
add_subdirectory(bazel) # For filewrapper
|
add_subdirectory(tools/filewrapper)
|
||||||
add_subdirectory(sandbox2)
|
add_subdirectory(sandbox2)
|
||||||
add_subdirectory(util)
|
add_subdirectory(util)
|
||||||
if(SAPI_ENABLE_GENERATOR)
|
if(SAPI_ENABLE_GENERATOR)
|
||||||
|
|
|
@ -19,42 +19,3 @@ exports_files([
|
||||||
"embed_data.bzl",
|
"embed_data.bzl",
|
||||||
"sapi.bzl",
|
"sapi.bzl",
|
||||||
])
|
])
|
||||||
|
|
||||||
load("//sandboxed_api/bazel:build_defs.bzl", "sapi_platform_copts")
|
|
||||||
load("//sandboxed_api/bazel:embed_data.bzl", "sapi_cc_embed_data")
|
|
||||||
|
|
||||||
# An implicit dependency of all "sapi_cc_embed_data" rules that builds
|
|
||||||
# embedded data into .cc files.
|
|
||||||
cc_binary(
|
|
||||||
name = "filewrapper",
|
|
||||||
srcs = ["filewrapper.cc"],
|
|
||||||
copts = sapi_platform_copts(),
|
|
||||||
visibility = ["//visibility:public"],
|
|
||||||
deps = [
|
|
||||||
"@com_google_absl//absl/strings",
|
|
||||||
"@com_google_absl//absl/strings:str_format",
|
|
||||||
"//sandboxed_api/sandbox2/util:fileops",
|
|
||||||
"//sandboxed_api/sandbox2/util:strerror",
|
|
||||||
"//sandboxed_api/util:raw_logging",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
sapi_cc_embed_data(
|
|
||||||
name = "filewrapper_embedded",
|
|
||||||
srcs = ["testdata/filewrapper_embedded.bin"],
|
|
||||||
)
|
|
||||||
|
|
||||||
cc_test(
|
|
||||||
name = "filewrapper_test",
|
|
||||||
srcs = ["filewrapper_test.cc"],
|
|
||||||
copts = sapi_platform_copts(),
|
|
||||||
data = ["testdata/filewrapper_embedded.bin"],
|
|
||||||
deps = [
|
|
||||||
":filewrapper_embedded",
|
|
||||||
"@com_google_googletest//:gtest_main",
|
|
||||||
"@com_google_absl//absl/strings",
|
|
||||||
"//sandboxed_api/sandbox2:testing",
|
|
||||||
"//sandboxed_api/sandbox2/util:file_helpers",
|
|
||||||
"//sandboxed_api/util:status_matchers",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
"""Embeds binary data in cc_*() rules."""
|
"""Embeds binary data in cc_*() rules."""
|
||||||
|
|
||||||
_FILEWRAPPER = "//sandboxed_api/bazel:filewrapper"
|
_FILEWRAPPER = "//sandboxed_api/tools/filewrapper"
|
||||||
|
|
||||||
# TODO(cblichmann): Convert this is to use a "_cc_toolchain" once Bazel #4370
|
# TODO(cblichmann): Convert this is to use a "_cc_toolchain" once Bazel #4370
|
||||||
# is fixed.
|
# is fixed.
|
||||||
|
|
|
@ -24,13 +24,15 @@ std::string GetTestTempPath(absl::string_view name) {
|
||||||
// set.
|
// set.
|
||||||
// See https://docs.bazel.build/versions/master/test-encyclopedia.html for
|
// See https://docs.bazel.build/versions/master/test-encyclopedia.html for
|
||||||
// details.
|
// details.
|
||||||
return file::JoinPath(getenv("TEST_TMPDIR"), name);
|
const char* test_tmpdir = getenv("TEST_TMPDIR");
|
||||||
|
return file::JoinPath(test_tmpdir ? test_tmpdir : ".", name);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string GetTestSourcePath(absl::string_view name) {
|
std::string GetTestSourcePath(absl::string_view name) {
|
||||||
// Like in GetTestTempPath(), when using Bazel, the environment variable
|
// Like in GetTestTempPath(), when using Bazel, the environment variable
|
||||||
// TEST_SRCDIR is guaranteed to be set.
|
// TEST_SRCDIR is guaranteed to be set.
|
||||||
return file::JoinPath(getenv("TEST_SRCDIR"),
|
const char* test_srcdir = getenv("TEST_SRCDIR");
|
||||||
|
return file::JoinPath(test_srcdir ? test_srcdir : ".",
|
||||||
"com_google_sandboxed_api/sandboxed_api", name);
|
"com_google_sandboxed_api/sandboxed_api", name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
54
sandboxed_api/tools/filewrapper/BUILD
Normal file
54
sandboxed_api/tools/filewrapper/BUILD
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
# http://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.
|
||||||
|
|
||||||
|
licenses(["notice"])
|
||||||
|
|
||||||
|
load("//sandboxed_api/bazel:build_defs.bzl", "sapi_platform_copts")
|
||||||
|
load("//sandboxed_api/bazel:embed_data.bzl", "sapi_cc_embed_data")
|
||||||
|
|
||||||
|
# An implicit dependency of all "sapi_cc_embed_data" rules that builds
|
||||||
|
# embedded data into .cc files.
|
||||||
|
cc_binary(
|
||||||
|
name = "filewrapper",
|
||||||
|
srcs = ["filewrapper.cc"],
|
||||||
|
copts = sapi_platform_copts(),
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
deps = [
|
||||||
|
"@com_google_absl//absl/strings",
|
||||||
|
"@com_google_absl//absl/strings:str_format",
|
||||||
|
"//sandboxed_api/sandbox2/util:fileops",
|
||||||
|
"//sandboxed_api/sandbox2/util:strerror",
|
||||||
|
"//sandboxed_api/util:raw_logging",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
sapi_cc_embed_data(
|
||||||
|
name = "filewrapper_embedded",
|
||||||
|
srcs = ["testdata/filewrapper_embedded.bin"],
|
||||||
|
)
|
||||||
|
|
||||||
|
cc_test(
|
||||||
|
name = "filewrapper_test",
|
||||||
|
srcs = ["filewrapper_test.cc"],
|
||||||
|
copts = sapi_platform_copts(),
|
||||||
|
data = ["testdata/filewrapper_embedded.bin"],
|
||||||
|
deps = [
|
||||||
|
":filewrapper_embedded",
|
||||||
|
"@com_google_googletest//:gtest_main",
|
||||||
|
"@com_google_absl//absl/strings",
|
||||||
|
"//sandboxed_api/sandbox2:testing",
|
||||||
|
"//sandboxed_api/sandbox2/util:file_helpers",
|
||||||
|
"//sandboxed_api/util:status_matchers",
|
||||||
|
],
|
||||||
|
)
|
|
@ -12,7 +12,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
# sandboxed_api/bazel:filewrapper
|
# sandboxed_api/tools/filewrapper:filewrapper
|
||||||
add_executable(filewrapper
|
add_executable(filewrapper
|
||||||
filewrapper.cc
|
filewrapper.cc
|
||||||
)
|
)
|
||||||
|
@ -30,7 +30,7 @@ sapi_cc_embed_data(NAME filewrapper_embedded
|
||||||
)
|
)
|
||||||
|
|
||||||
if(SAPI_ENABLE_TESTS)
|
if(SAPI_ENABLE_TESTS)
|
||||||
# sandboxed_api/bazel:filewrapper_test
|
# sandboxed_api/tools/filewrapper:filewrapper_test
|
||||||
add_executable(filewrapper_test
|
add_executable(filewrapper_test
|
||||||
filewrapper_test.cc
|
filewrapper_test.cc
|
||||||
)
|
)
|
|
@ -16,11 +16,10 @@
|
||||||
|
|
||||||
#include "gmock/gmock.h"
|
#include "gmock/gmock.h"
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
#include "absl/strings/string_view.h"
|
#include "absl/strings/string_view.h"
|
||||||
#include "sandboxed_api/bazel/filewrapper_embedded.h"
|
|
||||||
#include "sandboxed_api/sandbox2/testing.h"
|
#include "sandboxed_api/sandbox2/testing.h"
|
||||||
#include "sandboxed_api/sandbox2/util/file_helpers.h"
|
#include "sandboxed_api/sandbox2/util/file_helpers.h"
|
||||||
|
#include "sandboxed_api/tools/filewrapper/filewrapper_embedded.h"
|
||||||
#include "sandboxed_api/util/status_matchers.h"
|
#include "sandboxed_api/util/status_matchers.h"
|
||||||
|
|
||||||
using ::sandbox2::GetTestSourcePath;
|
using ::sandbox2::GetTestSourcePath;
|
||||||
|
@ -40,7 +39,8 @@ TEST(FilewrapperTest, BasicFunctionality) {
|
||||||
|
|
||||||
std::string contents;
|
std::string contents;
|
||||||
ASSERT_THAT(sandbox2::file::GetContents(
|
ASSERT_THAT(sandbox2::file::GetContents(
|
||||||
GetTestSourcePath("bazel/testdata/filewrapper_embedded.bin"),
|
GetTestSourcePath(
|
||||||
|
"tools/filewrapper/testdata/filewrapper_embedded.bin"),
|
||||||
&contents, sandbox2::file::Defaults()),
|
&contents, sandbox2::file::Defaults()),
|
||||||
IsOk());
|
IsOk());
|
||||||
EXPECT_THAT(std::string(toc->data, toc->size), StrEq(contents));
|
EXPECT_THAT(std::string(toc->data, toc->size), StrEq(contents));
|
Loading…
Reference in New Issue
Block a user