diff options
author | Andrei Vagin <avagin@gmail.com> | 2020-09-14 15:32:46 -0700 |
---|---|---|
committer | Andrei Vagin <avagin@gmail.com> | 2020-09-16 12:22:17 -0700 |
commit | f148242abab1ff043428036ccaf464de98268863 (patch) | |
tree | 1e57aea21f2fe0cfaf7031d6fa4b9f2fb3b0aa8c /test/fuse | |
parent | 113928754c26ea3d4d7d387bae459ce447774d30 (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/BUILD | 45 | ||||
-rw-r--r-- | test/fuse/benchmark/BUILD | 91 | ||||
-rw-r--r-- | test/fuse/benchmark/mkdir_benchmark.cc | 51 | ||||
-rw-r--r-- | test/fuse/benchmark/open_benchmark.cc | 60 | ||||
-rw-r--r-- | test/fuse/benchmark/read_benchmark.cc | 57 | ||||
-rw-r--r-- | test/fuse/benchmark/stat_benchmark.cc | 65 | ||||
-rw-r--r-- | test/fuse/benchmark/symlink_benchmark.cc | 60 |
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 |