summaryrefslogtreecommitdiffhomepage
path: root/test/syscalls/linux/readahead.cc
diff options
context:
space:
mode:
authorZach Koopmans <zkoopmans@google.com>2020-08-18 09:53:47 -0700
committergVisor bot <gvisor-bot@google.com>2020-08-18 10:02:27 -0700
commit673b6cc7fc4a99c8fb20f7becb91288ce98ae593 (patch)
tree1b6768bcae4436afc8f6ed47dad142f9035a2712 /test/syscalls/linux/readahead.cc
parentda5c2ea6dc4ea01c667bff88aa37f5efb39b704a (diff)
Fix readahead test for opensource.
Skip InvalidOffset and InvalidLength for Linux as the test is invalid for later Kernel versions. Add UnsupportedFile test as this check is in all kernel versions. PiperOrigin-RevId: 327248035
Diffstat (limited to 'test/syscalls/linux/readahead.cc')
-rw-r--r--test/syscalls/linux/readahead.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/syscalls/linux/readahead.cc b/test/syscalls/linux/readahead.cc
index 09703b5c1..71073bb3c 100644
--- a/test/syscalls/linux/readahead.cc
+++ b/test/syscalls/linux/readahead.cc
@@ -16,6 +16,7 @@
#include <fcntl.h>
#include "gtest/gtest.h"
+#include "test/syscalls/linux/socket_test_util.h"
#include "test/util/file_descriptor.h"
#include "test/util/temp_path.h"
#include "test/util/test_util.h"
@@ -29,7 +30,15 @@ TEST(ReadaheadTest, InvalidFD) {
EXPECT_THAT(readahead(-1, 1, 1), SyscallFailsWithErrno(EBADF));
}
+TEST(ReadaheadTest, UnsupportedFile) {
+ FileDescriptor sock =
+ ASSERT_NO_ERRNO_AND_VALUE(Socket(AF_UNIX, SOCK_STREAM, 0));
+ ASSERT_THAT(readahead(sock.get(), 1, 1), SyscallFailsWithErrno(EINVAL));
+}
+
TEST(ReadaheadTest, InvalidOffset) {
+ // This test is not valid for some Linux Kernels.
+ SKIP_IF(!IsRunningOnGvisor());
const TempPath in_file = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateFile());
const FileDescriptor fd =
ASSERT_NO_ERRNO_AND_VALUE(Open(in_file.path(), O_RDWR));
@@ -79,6 +88,8 @@ TEST(ReadaheadTest, WriteOnly) {
}
TEST(ReadaheadTest, InvalidSize) {
+ // This test is not valid on some Linux kernels.
+ SKIP_IF(!IsRunningOnGvisor());
const TempPath in_file = ASSERT_NO_ERRNO_AND_VALUE(TempPath::CreateFile());
const FileDescriptor fd =
ASSERT_NO_ERRNO_AND_VALUE(Open(in_file.path(), O_RDWR));