Merge "The generic failure case disappeared..."
This commit is contained in:
commit
a16b0f4c3a
|
@ -79,6 +79,8 @@ bool WriteFdExactly(int fd, const void* buf, size_t len) {
|
|||
D("writex: fd=%d disconnected\n", fd);
|
||||
errno = 0;
|
||||
return false;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
len -= r;
|
||||
|
|
|
@ -18,8 +18,11 @@
|
|||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <string>
|
||||
|
@ -127,6 +130,15 @@ TEST(io, WriteFdExactly_partial) {
|
|||
EXPECT_EQ(expected, s);
|
||||
}
|
||||
|
||||
TEST(io, WriteFdExactly_ENOSPC) {
|
||||
int fd = open("/dev/full", O_WRONLY);
|
||||
ASSERT_NE(-1, fd);
|
||||
|
||||
char buf[] = "foo";
|
||||
ASSERT_FALSE(WriteFdExactly(fd, buf, sizeof(buf)));
|
||||
ASSERT_EQ(ENOSPC, errno);
|
||||
}
|
||||
|
||||
TEST(io, WriteStringFully) {
|
||||
const char str[] = "Foobar";
|
||||
TemporaryFile tf;
|
||||
|
|
Loading…
Reference in New Issue