Extract linux-specific test setup to separate file

PiperOrigin-RevId: 280264564
This commit is contained in:
Jay Zhuang
2019-11-13 13:21:50 -08:00
committed by gVisor bot
parent c2d3dc0c13
commit 683e8798ab
4 changed files with 47 additions and 14 deletions
+7 -1
View File
@@ -232,7 +232,13 @@ cc_library(
cc_library(
name = "test_util",
testonly = 1,
srcs = ["test_util.cc"],
srcs = [
"test_util.cc",
] + select_for_linux(
[
"test_util_impl.cc",
],
),
hdrs = ["test_util.h"],
deps = [
":fs_util",
-13
View File
@@ -116,9 +116,6 @@ PosixErrorOr<KernelVersion> GetKernelVersion() {
return ParseKernelVersion(buf.release);
}
void SetupGvisorDeathTest() {
}
std::string CPUSetToString(const cpu_set_t& set, size_t cpus) {
std::string str = "cpuset[";
for (unsigned int n = 0; n < cpus; n++) {
@@ -224,15 +221,5 @@ bool Equivalent(uint64_t current, uint64_t target, double tolerance) {
return abs_diff <= static_cast<uint64_t>(tolerance * target);
}
void TestInit(int* argc, char*** argv) {
::testing::InitGoogleTest(argc, *argv);
::absl::ParseCommandLine(*argc, *argv);
// Always mask SIGPIPE as it's common and tests aren't expected to handle it.
struct sigaction sa = {};
sa.sa_handler = SIG_IGN;
TEST_CHECK(sigaction(SIGPIPE, &sa, nullptr) == 0);
}
} // namespace testing
} // namespace gvisor
+2
View File
@@ -221,7 +221,9 @@ enum class Platform {
bool IsRunningOnGvisor();
Platform GvisorPlatform();
#ifdef __linux__
void SetupGvisorDeathTest();
#endif
struct KernelVersion {
int major;
+38
View File
@@ -0,0 +1,38 @@
// Copyright 2019 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 <signal.h>
#include "gtest/gtest.h"
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "test/util/logging.h"
namespace gvisor {
namespace testing {
void SetupGvisorDeathTest() {}
void TestInit(int* argc, char*** argv) {
::testing::InitGoogleTest(argc, *argv);
::absl::ParseCommandLine(*argc, *argv);
// Always mask SIGPIPE as it's common and tests aren't expected to handle it.
struct sigaction sa = {};
sa.sa_handler = SIG_IGN;
TEST_CHECK(sigaction(SIGPIPE, &sa, nullptr) == 0);
}
} // namespace testing
} // namespace gvisor