From 59442238d4d9e48433cd0601ffa53e280fb872bc Mon Sep 17 00:00:00 2001 From: Tamir Duberstein Date: Fri, 26 Apr 2019 12:46:14 -0700 Subject: Remove syscall tests' dependency on glog PiperOrigin-RevId: 245469859 Change-Id: I0610e477cc3a884275852e83028ecfb501f2c039 --- test/syscalls/linux/affinity.cc | 3 +-- test/syscalls/linux/concurrency.cc | 1 - test/syscalls/linux/exec.cc | 11 ++++++----- test/syscalls/linux/poll.cc | 4 +++- test/syscalls/linux/proc.cc | 10 +++------- test/syscalls/linux/proc_pid_smaps.cc | 7 ++++--- test/syscalls/linux/ptrace.cc | 3 ++- test/syscalls/linux/sendfile_socket.cc | 6 ++++-- test/syscalls/linux/socket_inet_loopback.cc | 3 ++- test/syscalls/linux/socket_netlink_route.cc | 4 +++- test/syscalls/linux/socket_unix_non_stream.cc | 8 ++------ test/util/BUILD | 1 - test/util/capability_util.cc | 6 ++++-- test/util/proc_util.cc | 3 ++- test/util/temp_path.cc | 8 +++++--- test/util/test_util.cc | 7 ++++--- test/util/test_util.h | 10 +++------- 17 files changed, 48 insertions(+), 47 deletions(-) (limited to 'test') diff --git a/test/syscalls/linux/affinity.cc b/test/syscalls/linux/affinity.cc index 3b59d5777..81bd9bcb5 100644 --- a/test/syscalls/linux/affinity.cc +++ b/test/syscalls/linux/affinity.cc @@ -121,8 +121,7 @@ TEST_F(AffinityTest, SchedSetAffinityOnlyNonexistentCPUFails) { // it's implicitly returned by raw sched_getaffinity syscall. int cpu = cpuset_size_ * 8 - 1; if (cpu <= NumCPUs()) { - LOG(INFO) << "Skipping test: cpu " << cpu << " exists"; - return; + GTEST_SKIP() << "Skipping test: cpu " << cpu << " exists"; } CPU_SET(cpu, &mask_); EXPECT_THAT( diff --git a/test/syscalls/linux/concurrency.cc b/test/syscalls/linux/concurrency.cc index f5a941ca8..7978845c1 100644 --- a/test/syscalls/linux/concurrency.cc +++ b/test/syscalls/linux/concurrency.cc @@ -103,7 +103,6 @@ TEST(ConcurrencyTest, MultiProcessConcurrency) { if (child_pid == 0) { while (true) { } - __builtin_unreachable(); } ASSERT_THAT(child_pid, SyscallSucceeds()); diff --git a/test/syscalls/linux/exec.cc b/test/syscalls/linux/exec.cc index d5a938a98..30bc4b608 100644 --- a/test/syscalls/linux/exec.cc +++ b/test/syscalls/linux/exec.cc @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -567,26 +568,26 @@ void ExecFromThread() { bool ValidateProcCmdlineVsArgv(const int argc, const char* const* argv) { auto contents_or = GetContents("/proc/self/cmdline"); if (!contents_or.ok()) { - LOG(ERROR) << "Unable to get /proc/self/cmdline: " << contents_or.error(); + std::cerr << "Unable to get /proc/self/cmdline: " << contents_or.error(); return false; } auto contents = contents_or.ValueOrDie(); if (contents.back() != '\0') { - LOG(ERROR) << "Non-null terminated /proc/self/cmdline!"; + std::cerr << "Non-null terminated /proc/self/cmdline!"; return false; } contents.pop_back(); std::vector procfs_cmdline = absl::StrSplit(contents, '\0'); if (static_cast(procfs_cmdline.size()) != argc) { - LOG(ERROR) << "argc = " << argc << " != " << procfs_cmdline.size(); + std::cerr << "argc = " << argc << " != " << procfs_cmdline.size(); return false; } for (int i = 0; i < argc; ++i) { if (procfs_cmdline[i] != argv[i]) { - LOG(ERROR) << "Procfs command line argument " << i << " mismatch " - << procfs_cmdline[i] << " != " << argv[i]; + std::cerr << "Procfs command line argument " << i << " mismatch " + << procfs_cmdline[i] << " != " << argv[i]; return false; } } diff --git a/test/syscalls/linux/poll.cc b/test/syscalls/linux/poll.cc index 67a86cc22..cd2161bb1 100644 --- a/test/syscalls/linux/poll.cc +++ b/test/syscalls/linux/poll.cc @@ -16,7 +16,9 @@ #include #include #include + #include +#include #include "gtest/gtest.h" #include "absl/synchronization/notification.h" @@ -264,7 +266,7 @@ TEST_F(PollTest, Nfds) { } rlim_t max_fds = rlim.rlim_cur; - LOG(INFO) << "Using limit: " << max_fds; + std::cout << "Using limit: " << max_fds; // Create an eventfd. Since its value is initially zero, it is writable. FileDescriptor efd = ASSERT_NO_ERRNO_AND_VALUE(NewEventFD()); diff --git a/test/syscalls/linux/proc.cc b/test/syscalls/linux/proc.cc index 67d3d18c7..a55ecaef1 100644 --- a/test/syscalls/linux/proc.cc +++ b/test/syscalls/linux/proc.cc @@ -133,7 +133,6 @@ PosixError WithSubprocess(SubprocessCallback const& running, while (true) { SleepSafe(absl::Milliseconds(100)); } - __builtin_unreachable(); } close(pipe_fds[1]); // Close the write end. @@ -565,12 +564,9 @@ TEST(ProcSelfMaps, MapUnmap) { } TEST(ProcSelfMaps, Mprotect) { - if (!IsRunningOnGvisor()) { - // FIXME: Linux's mprotect() sometimes fails to merge VMAs in this - // case. - LOG(WARNING) << "Skipping test on Linux"; - return; - } + // FIXME: Linux's mprotect() sometimes fails to merge VMAs in this + // case. + SKIP_IF(!IsRunningOnGvisor()); // Reserve 5 pages of address space. Mapping m = ASSERT_NO_ERRNO_AND_VALUE( diff --git a/test/syscalls/linux/proc_pid_smaps.cc b/test/syscalls/linux/proc_pid_smaps.cc index 4aefc1b41..5f9c42ce5 100644 --- a/test/syscalls/linux/proc_pid_smaps.cc +++ b/test/syscalls/linux/proc_pid_smaps.cc @@ -16,6 +16,7 @@ #include #include +#include #include #include #include @@ -172,7 +173,7 @@ PosixErrorOr> ParseProcPidSmaps( return; } unknown_fields.insert(std::string(key)); - LOG(INFO) << "skipping unknown smaps field " << key; + std::cerr << "skipping unknown smaps field " << key; }; auto lines = absl::StrSplit(contents, '\n', absl::SkipEmpty()); @@ -189,8 +190,8 @@ PosixErrorOr> ParseProcPidSmaps( // "key:value" (where value in practice will be preceded by a variable // amount of whitespace). if (!entry) { - LOG(WARNING) << "smaps line not considered a maps line: " - << maybe_maps_entry.error_message(); + std::cerr << "smaps line not considered a maps line: " + << maybe_maps_entry.error_message(); return PosixError( EINVAL, absl::StrCat("smaps field line without preceding maps line: ", l)); diff --git a/test/syscalls/linux/ptrace.cc b/test/syscalls/linux/ptrace.cc index 668d49128..7927b1697 100644 --- a/test/syscalls/linux/ptrace.cc +++ b/test/syscalls/linux/ptrace.cc @@ -22,6 +22,7 @@ #include #include +#include #include #include "gmock/gmock.h" @@ -1188,7 +1189,7 @@ TEST(PtraceTest, SeizeSetOptions) { // gVisor is not susceptible to this race because // kernel.Task.waitCollectTraceeStopLocked() checks specifically for an // active ptraceStop, which is not initiated if SIGKILL is pending. - LOG(INFO) << "Observed syscall-exit after SIGKILL"; + std::cout << "Observed syscall-exit after SIGKILL"; ASSERT_THAT(waitpid(child_pid, &status, 0), SyscallSucceedsWithValue(child_pid)); } diff --git a/test/syscalls/linux/sendfile_socket.cc b/test/syscalls/linux/sendfile_socket.cc index 7010dc211..e2ccf17ce 100644 --- a/test/syscalls/linux/sendfile_socket.cc +++ b/test/syscalls/linux/sendfile_socket.cc @@ -17,6 +17,8 @@ #include #include #include + +#include #include #include "gtest/gtest.h" @@ -110,7 +112,7 @@ TEST(SendFileTest, SendMultiple) { addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_port = server_addr.sin_port; - LOG(INFO) << "Connecting on port=" << server_addr.sin_port; + std::cout << "Connecting on port=" << server_addr.sin_port; ASSERT_THAT( RetryEINTR(connect)( outf.get(), reinterpret_cast(&addr), sizeof(addr)), @@ -119,7 +121,7 @@ TEST(SendFileTest, SendMultiple) { int cnt = 0; for (size_t sent = 0; sent < data.size(); cnt++) { const size_t remain = data.size() - sent; - LOG(INFO) << "sendfile, size=" << data.size() << ", sent=" << sent + std::cout << "sendfile, size=" << data.size() << ", sent=" << sent << ", remain=" << remain; // Send data and verify that sendfile returns the correct value. diff --git a/test/syscalls/linux/socket_inet_loopback.cc b/test/syscalls/linux/socket_inet_loopback.cc index 4195e402c..a079b85dd 100644 --- a/test/syscalls/linux/socket_inet_loopback.cc +++ b/test/syscalls/linux/socket_inet_loopback.cc @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -1025,7 +1026,7 @@ TEST_P(SocketMultiProtocolInetLoopbackTest, PortReuseTwoSockets) { setsockopt(fd2, SOL_SOCKET, SO_REUSEPORT, &portreuse2, sizeof(int)), SyscallSucceeds()); - LOG(INFO) << portreuse1 << " " << portreuse2; + std::cout << portreuse1 << " " << portreuse2; int ret = bind(fd2, reinterpret_cast(&addr), addrlen); // Verify that two sockets can be bound to the same port only if diff --git a/test/syscalls/linux/socket_netlink_route.cc b/test/syscalls/linux/socket_netlink_route.cc index fa895d841..50943d384 100644 --- a/test/syscalls/linux/socket_netlink_route.cc +++ b/test/syscalls/linux/socket_netlink_route.cc @@ -18,6 +18,8 @@ #include #include #include + +#include #include #include "gtest/gtest.h" @@ -210,7 +212,7 @@ TEST(NetlinkRouteTest, GetLinkDump) { ASSERT_GE(hdr->nlmsg_len, NLMSG_SPACE(sizeof(struct ifinfomsg))); const struct ifinfomsg* msg = reinterpret_cast(NLMSG_DATA(hdr)); - LOG(INFO) << "Found interface idx=" << msg->ifi_index + std::cout << "Found interface idx=" << msg->ifi_index << ", type=" << std::hex << msg->ifi_type; if (msg->ifi_type == ARPHRD_LOOPBACK) { loopbackFound = true; diff --git a/test/syscalls/linux/socket_unix_non_stream.cc b/test/syscalls/linux/socket_unix_non_stream.cc index a84939011..8e0cbee4c 100644 --- a/test/syscalls/linux/socket_unix_non_stream.cc +++ b/test/syscalls/linux/socket_unix_non_stream.cc @@ -138,9 +138,7 @@ TEST_P(UnixNonStreamSocketPairTest, FragmentedSendMsg) { // // TODO: When internal UDS support SO_SNDBUF, we can assert that // we always get the right SO_SNDBUF on gVisor. - LOG(INFO) << "SO_SNDBUF = " << actual_sndbuf << ", want " << sndbuf - << ". Skipping test"; - return; + GTEST_SKIP() << "SO_SNDBUF = " << actual_sndbuf << ", want " << sndbuf; } // Create a contiguous region of memory of 2*UIO_MAXIOV*PAGE_SIZE. We'll call @@ -196,9 +194,7 @@ TEST_P(UnixNonStreamSocketPairTest, FragmentedRecvMsg) { // // TODO: When internal UDS support SO_SNDBUF, we can assert that // we always get the right SO_SNDBUF on gVisor. - LOG(INFO) << "SO_SNDBUF = " << actual_sndbuf << ", want " << sndbuf - << ". Skipping test"; - return; + GTEST_SKIP() << "SO_SNDBUF = " << actual_sndbuf << ", want " << sndbuf; } std::vector write_buf(buffer_size, 'a'); diff --git a/test/util/BUILD b/test/util/BUILD index fac0730b4..a4b47de56 100644 --- a/test/util/BUILD +++ b/test/util/BUILD @@ -226,7 +226,6 @@ cc_library( "@com_google_absl//absl/strings", "@com_google_absl//absl/strings:str_format", "@com_google_absl//absl/time", - "@com_google_glog//:glog", "@com_google_googletest//:gtest", ], ) diff --git a/test/util/capability_util.cc b/test/util/capability_util.cc index 0656775d6..d1dd95e76 100644 --- a/test/util/capability_util.cc +++ b/test/util/capability_util.cc @@ -19,6 +19,8 @@ #include #include +#include + #include "absl/strings/str_cat.h" #include "test/util/memory_util.h" #include "test/util/posix_error.h" @@ -61,13 +63,13 @@ PosixErrorOr CanCreateUserNamespace() { // is in a chroot environment (i.e., the caller's root directory does // not match the root directory of the mount namespace in which it // resides)." - LOG(INFO) << "clone(CLONE_NEWUSER) failed with EPERM"; + std::cerr << "clone(CLONE_NEWUSER) failed with EPERM"; return false; } else if (errno == EUSERS) { // "(since Linux 3.11) CLONE_NEWUSER was specified in flags, and the call // would cause the limit on the number of nested user namespaces to be // exceeded. See user_namespaces(7)." - LOG(INFO) << "clone(CLONE_NEWUSER) failed with EUSERS"; + std::cerr << "clone(CLONE_NEWUSER) failed with EUSERS"; return false; } else { // Unexpected error code; indicate an actual error. diff --git a/test/util/proc_util.cc b/test/util/proc_util.cc index 7ebce0759..2d9eb1986 100644 --- a/test/util/proc_util.cc +++ b/test/util/proc_util.cc @@ -15,6 +15,7 @@ #include "test/util/proc_util.h" #include +#include #include #include "absl/strings/ascii.h" @@ -86,7 +87,7 @@ PosixErrorOr> ParseProcMaps( std::vector entries; auto lines = absl::StrSplit(contents, '\n', absl::SkipEmpty()); for (const auto& l : lines) { - LOG(INFO) << "line: " << l; + std::cout << "line: " << l; ASSIGN_OR_RETURN_ERRNO(auto entry, ParseProcMapsLine(l)); entries.push_back(entry); } diff --git a/test/util/temp_path.cc b/test/util/temp_path.cc index 11c14fb1a..48ce82d20 100644 --- a/test/util/temp_path.cc +++ b/test/util/temp_path.cc @@ -15,8 +15,10 @@ #include "test/util/temp_path.h" #include + #include #include +#include #include "gtest/gtest.h" #include "absl/time/clock.h" @@ -52,9 +54,9 @@ void TryDeleteRecursively(std::string const& path) { int undeleted_files = 0; auto status = RecursivelyDelete(path, &undeleted_dirs, &undeleted_files); if (undeleted_dirs || undeleted_files || !status.ok()) { - LOG(WARNING) << path << ": failed to delete " << undeleted_dirs - << " directories and " << undeleted_files - << " files: " << status; + std::cerr << path << ": failed to delete " << undeleted_dirs + << " directories and " << undeleted_files + << " files: " << status; } } } diff --git a/test/util/test_util.cc b/test/util/test_util.cc index ebcbca238..9b7cfa4dc 100644 --- a/test/util/test_util.cc +++ b/test/util/test_util.cc @@ -25,6 +25,7 @@ #include #include +#include #include #include "absl/base/attributes.h" @@ -54,8 +55,8 @@ Platform GvisorPlatform() { if (strcmp(env, "kvm") == 0) { return Platform::kKVM; } - LOG(FATAL) << "unknown platform " << env; - __builtin_unreachable(); + std::cerr << "unknown platform " << env; + abort(); } // Inline cpuid instruction. Preserve %ebx/%rbx register. In PIC compilations @@ -227,7 +228,7 @@ void SleepSafe(absl::Duration duration) { uint64_t Megabytes(uint64_t n) { // Overflow check, upper 20 bits in n shouldn't be set. - CHECK(!(0xfffff00000000000 & n)); + TEST_CHECK(!(0xfffff00000000000 & n)); return n << 20; } diff --git a/test/util/test_util.h b/test/util/test_util.h index 6f2fa4875..905412b24 100644 --- a/test/util/test_util.h +++ b/test/util/test_util.h @@ -186,7 +186,6 @@ #include #include -#include #include "gmock/gmock.h" #include "absl/strings/str_cat.h" #include "absl/strings/str_format.h" @@ -210,12 +209,9 @@ void TestInit(int* argc, char*** argv); // SKIP_IF may be used to skip a test case. // // These cases are still emitted, but a SKIPPED line will appear. -#define SKIP_IF(expr) \ - do { \ - if (expr) { \ - std::cout << "\033[0;33m[ SKIPPED ]\033[m => " << #expr << std::endl; \ - return; \ - } \ +#define SKIP_IF(expr) \ + do { \ + if (expr) GTEST_SKIP() << #expr; \ } while (0) enum class Platform { -- cgit v1.2.3