summaryrefslogtreecommitdiffhomepage
path: root/test/fuse
diff options
context:
space:
mode:
authorAndrei Vagin <avagin@gmail.com>2020-09-14 15:32:46 -0700
committerAndrei Vagin <avagin@gmail.com>2020-09-16 12:22:17 -0700
commitf148242abab1ff043428036ccaf464de98268863 (patch)
tree1e57aea21f2fe0cfaf7031d6fa4b9f2fb3b0aa8c /test/fuse
parent113928754c26ea3d4d7d387bae459ce447774d30 (diff)
Revert "fuse: add benchmarking support for FUSE"
test/fuse/benchmark/read_benchmark.cc:34: Failure Expected: (fuse_prefix) != (nullptr), actual: NULL vs (nullptr) external/com_google_benchmark/src/benchmark_runner.cc:120: RunInThread: Check `st.iterations() >= st.max_iterations' failed. Benchmark returned before State::KeepRunning() returned false! --- FAIL: Benchmarks_BM_Read/262144/real_time (0.29s) runner.go:502: test "Benchmarks.BM_Read/262144/real_time" failed with error exit status 134, want nil FAIL
Diffstat (limited to 'test/fuse')
-rw-r--r--test/fuse/BUILD45
-rw-r--r--test/fuse/benchmark/BUILD91
-rw-r--r--test/fuse/benchmark/mkdir_benchmark.cc51
-rw-r--r--test/fuse/benchmark/open_benchmark.cc60
-rw-r--r--test/fuse/benchmark/read_benchmark.cc57
-rw-r--r--test/fuse/benchmark/stat_benchmark.cc65
-rw-r--r--test/fuse/benchmark/symlink_benchmark.cc60
7 files changed, 0 insertions, 429 deletions
diff --git a/test/fuse/BUILD b/test/fuse/BUILD
index dacfe0175..8e31fdd41 100644
--- a/test/fuse/BUILD
+++ b/test/fuse/BUILD
@@ -71,48 +71,3 @@ syscall_test(
fuse = "True",
test = "//test/fuse/linux:setstat_test",
)
-
-syscall_test(
- size = "large",
- add_overlay = True,
- debug = False,
- setup_command = "'./server-bin mountpoint'",
- test = "//test/fuse/benchmark:stat_benchmark",
- use_image = "basic/fuse",
-)
-
-syscall_test(
- size = "large",
- add_overlay = True,
- debug = False,
- setup_command = "'./server-bin mountpoint'",
- test = "//test/fuse/benchmark:open_benchmark",
- use_image = "basic/fuse",
-)
-
-syscall_test(
- size = "large",
- add_overlay = True,
- debug = False,
- setup_command = "'./server-bin mountpoint'",
- test = "//test/fuse/benchmark:read_benchmark",
- use_image = "basic/fuse",
-)
-
-syscall_test(
- size = "large",
- add_overlay = True,
- debug = False,
- setup_command = "'./server-bin mountpoint'",
- test = "//test/fuse/benchmark:symlink_benchmark",
- use_image = "basic/fuse",
-)
-
-syscall_test(
- size = "large",
- add_overlay = True,
- debug = False,
- setup_command = "'./server-bin mountpoint'",
- test = "//test/fuse/benchmark:mkdir_benchmark",
- use_image = "basic/fuse",
-)
diff --git a/test/fuse/benchmark/BUILD b/test/fuse/benchmark/BUILD
deleted file mode 100644
index 16369d99b..000000000
--- a/test/fuse/benchmark/BUILD
+++ /dev/null
@@ -1,91 +0,0 @@
-load("//tools:defs.bzl", "cc_binary", "gbenchmark", "gtest")
-
-package(
- default_visibility = ["//:sandbox"],
- licenses = ["notice"],
-)
-
-cc_binary(
- name = "stat_benchmark",
- testonly = 1,
- srcs = [
- "stat_benchmark.cc",
- ],
- deps = [
- gbenchmark,
- gtest,
- "//test/util:fs_util",
- "//test/util:temp_path",
- "//test/util:test_main",
- "//test/util:test_util",
- "@com_google_absl//absl/strings",
- ],
-)
-
-cc_binary(
- name = "open_benchmark",
- testonly = 1,
- srcs = [
- "open_benchmark.cc",
- ],
- deps = [
- gbenchmark,
- gtest,
- "//test/util:fs_util",
- "//test/util:temp_path",
- "//test/util:test_main",
- "//test/util:test_util",
- "@com_google_absl//absl/strings",
- ],
-)
-
-cc_binary(
- name = "read_benchmark",
- testonly = 1,
- srcs = [
- "read_benchmark.cc",
- ],
- deps = [
- gbenchmark,
- gtest,
- "//test/util:fs_util",
- "//test/util:temp_path",
- "//test/util:test_main",
- "//test/util:test_util",
- "@com_google_absl//absl/strings",
- ],
-)
-
-cc_binary(
- name = "symlink_benchmark",
- testonly = 1,
- srcs = [
- "symlink_benchmark.cc",
- ],
- deps = [
- gbenchmark,
- gtest,
- "//test/util:fs_util",
- "//test/util:temp_path",
- "//test/util:test_main",
- "//test/util:test_util",
- "@com_google_absl//absl/strings",
- ],
-)
-
-cc_binary(
- name = "mkdir_benchmark",
- testonly = 1,
- srcs = [
- "mkdir_benchmark.cc",
- ],
- deps = [
- gbenchmark,
- gtest,
- "//test/util:fs_util",
- "//test/util:temp_path",
- "//test/util:test_main",
- "//test/util:test_util",
- "@com_google_absl//absl/strings",
- ],
-)
diff --git a/test/fuse/benchmark/mkdir_benchmark.cc b/test/fuse/benchmark/mkdir_benchmark.cc
deleted file mode 100644
index 30759603e..000000000
--- a/test/fuse/benchmark/mkdir_benchmark.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2020 The gVisor Authors.
-//
-// 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.
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "absl/strings/str_cat.h"
-#include "benchmark/benchmark.h"
-#include "gtest/gtest.h"
-#include "test/util/fs_util.h"
-#include "test/util/temp_path.h"
-#include "test/util/test_util.h"
-
-namespace gvisor {
-namespace testing {
-
-namespace {
-
-void BM_Mkdir(benchmark::State& state) {
- const char* fuse_prefix = getenv("TEST_FUSEPRE");
- ASSERT_NE(fuse_prefix, nullptr);
-
- const TempPath top_dir = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateDir());
- std::string dir_path = top_dir.path();
-
- int index = 0;
- for (auto t : state) {
- const std::string new_dir_path = absl::StrCat(dir_path, index);
- ASSERT_THAT(mkdir(new_dir_path.c_str(), 0777), SyscallSucceeds());
- index++;
- }
-}
-
-BENCHMARK(BM_Mkdir)->Range(1, 128)->UseRealTime();
-
-} // namespace
-
-} // namespace testing
-} // namespace gvisor
diff --git a/test/fuse/benchmark/open_benchmark.cc b/test/fuse/benchmark/open_benchmark.cc
deleted file mode 100644
index 11c1c1c80..000000000
--- a/test/fuse/benchmark/open_benchmark.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2020 The gVisor Authors.
-//
-// 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.
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "benchmark/benchmark.h"
-#include "gtest/gtest.h"
-#include "test/util/fs_util.h"
-#include "test/util/logging.h"
-#include "test/util/temp_path.h"
-
-namespace gvisor {
-namespace testing {
-
-namespace {
-
-void BM_Open(benchmark::State& state) {
- const char* fuse_prefix = getenv("TEST_FUSEPRE");
- ASSERT_NE(fuse_prefix, nullptr);
-
- const int size = state.range(0);
- std::vector<TempPath> cache;
- for (int i = 0; i < size; i++) {
- auto path = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateFile());
- cache.emplace_back(std::move(path));
- }
-
- unsigned int seed = 1;
- for (auto _ : state) {
- const int chosen = rand_r(&seed) % size;
- const std::string file_path = JoinPath(fuse_prefix, cache[chosen].path());
- int fd = open(file_path.c_str(), O_RDONLY);
- TEST_CHECK(fd != -1);
- close(fd);
- }
-}
-
-BENCHMARK(BM_Open)->Range(1, 128)->UseRealTime();
-
-} // namespace
-
-} // namespace testing
-} // namespace gvisor
diff --git a/test/fuse/benchmark/read_benchmark.cc b/test/fuse/benchmark/read_benchmark.cc
deleted file mode 100644
index 2106b7d5a..000000000
--- a/test/fuse/benchmark/read_benchmark.cc
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2020 The gVisor Authors.
-//
-// 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.
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include "benchmark/benchmark.h"
-#include "gtest/gtest.h"
-#include "test/util/fs_util.h"
-#include "test/util/logging.h"
-#include "test/util/temp_path.h"
-#include "test/util/test_util.h"
-
-namespace gvisor {
-namespace testing {
-
-namespace {
-
-void BM_Read(benchmark::State& state) {
- const char* fuse_prefix = getenv("TEST_FUSEPRE");
- ASSERT_NE(fuse_prefix, nullptr);
-
- const int size = state.range(0);
- const std::string contents(size, 0);
- auto path = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateFileWith(
- GetAbsoluteTestTmpdir(), contents, TempPath::kDefaultFileMode));
- FileDescriptor fd = ASSERT_NO_ERRNO_AND_VALUE(
- Open(JoinPath(fuse_prefix, path.path()), O_RDONLY));
-
- std::vector<char> buf(size);
- for (auto _ : state) {
- TEST_CHECK(PreadFd(fd.get(), buf.data(), buf.size(), 0) == size);
- }
-
- state.SetBytesProcessed(static_cast<int64_t>(size) *
- static_cast<int64_t>(state.iterations()));
-}
-
-BENCHMARK(BM_Read)->Range(1, 1 << 26)->UseRealTime();
-
-} // namespace
-
-} // namespace testing
-} // namespace gvisor
diff --git a/test/fuse/benchmark/stat_benchmark.cc b/test/fuse/benchmark/stat_benchmark.cc
deleted file mode 100644
index d2ab6a706..000000000
--- a/test/fuse/benchmark/stat_benchmark.cc
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2020 The gVisor Authors.
-//
-// 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.
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "gtest/gtest.h"
-#include "absl/strings/str_cat.h"
-#include "benchmark/benchmark.h"
-#include "test/util/fs_util.h"
-#include "test/util/temp_path.h"
-#include "test/util/test_util.h"
-
-namespace gvisor {
-namespace testing {
-
-namespace {
-
-// Creates a file in a nested directory hierarchy at least `depth` directories
-// deep, and stats that file multiple times.
-void BM_Stat(benchmark::State& state) {
- const char* fuse_prefix = getenv("TEST_FUSEPRE");
- ASSERT_NE(fuse_prefix, nullptr);
-
- // Create nested directories with given depth.
- int depth = state.range(0);
- const TempPath top_dir = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateDir());
- std::string dir_path = top_dir.path();
-
- while (depth-- > 0) {
- // Don't use TempPath because it will make paths too long to use.
- //
- // The top_dir destructor will clean up this whole tree.
- dir_path = JoinPath(dir_path, absl::StrCat(depth));
- ASSERT_NO_ERRNO(Mkdir(dir_path, 0755));
- }
-
- // Create the file that will be stat'd.
- const TempPath file =
- ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateFileIn(dir_path));
- std::string file_path = JoinPath(fuse_prefix, file.path());
- struct stat st;
- for (auto _ : state) {
- ASSERT_THAT(stat(file_path.c_str(), &st), SyscallSucceeds());
- }
-}
-
-BENCHMARK(BM_Stat)->Range(1, 100)->UseRealTime();
-
-} // namespace
-
-} // namespace testing
-} // namespace gvisor
diff --git a/test/fuse/benchmark/symlink_benchmark.cc b/test/fuse/benchmark/symlink_benchmark.cc
deleted file mode 100644
index 363b9a976..000000000
--- a/test/fuse/benchmark/symlink_benchmark.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2020 The gVisor Authors.
-//
-// 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.
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include "absl/strings/str_cat.h"
-#include "benchmark/benchmark.h"
-#include "gtest/gtest.h"
-#include "test/util/fs_util.h"
-#include "test/util/temp_path.h"
-#include "test/util/test_util.h"
-
-namespace gvisor {
-namespace testing {
-
-namespace {
-
-void BM_Symlink(benchmark::State& state) {
- char* fuse_prefix = getenv("TEST_FUSEPRE");
- ASSERT_NE(fuse_prefix, nullptr);
- const TempPath top_dir = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateDir());
- std::string dir_path = top_dir.path();
-
- const int size = state.range(0);
- std::vector<TempPath> cache;
- for (int i = 0; i < size; i++) {
- auto path = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateFile());
- cache.emplace_back(std::move(path));
- }
-
- int index = 0;
- unsigned int seed = 1;
- for (auto t : state) {
- const int chosen = rand_r(&seed) % size;
- const std::string symlink_path = absl::StrCat(fuse_prefix, dir_path, index);
- ASSERT_THAT(symlink(cache[chosen].path().c_str(), symlink_path.c_str()),
- SyscallSucceeds());
- index++;
- }
-}
-
-BENCHMARK(BM_Symlink)->Range(1, 128)->UseRealTime();
-
-} // namespace
-
-} // namespace testing
-} // namespace gvisor