31 #include <gtest/gtest.h>
49 cout <<
"fd: " <<
static_cast<int>(fd) << endl;
52 TEST(FileDesc_test, nil)
55 ASSERT_EQ(
static_cast<int>(fd), -1);
59 TEST(FileDesc_test, dup_stdout)
61 cout <<
"dup stdout:" << endl;
63 cout <<
"fd: " << (int)fd << endl;
64 dprintf(1,
"print to stdout\n");
66 cout <<
"fd: " << (int)fd << endl;
67 dprintf(fd,
"print to dup\n");
68 ASSERT_NE(
static_cast<int>(fd), -1);
69 ASSERT_NE(
static_cast<int>(fd), 1);
70 dprintf(1,
"print to stdout again\n");
73 TEST(FileDesc_test, copy_construct)
75 cout <<
"copy construct:" << endl;
77 cout <<
"fd: " << (int)fd << endl;
78 dprintf(1,
"print to stdout\n");
80 cout <<
"fd: " << (int)fd << endl;
81 dprintf(fd,
"print to dup\n");
83 cout <<
"fd: " << (int)fd << endl;
84 cout <<
"fd2: " << (int)fd2 << endl;
85 dprintf(fd2,
"print to dup2\n");
86 ASSERT_NE(
static_cast<int>(fd), -1);
87 ASSERT_NE(
static_cast<int>(fd2), -1);
88 ASSERT_NE(
static_cast<int>(fd),
static_cast<int>(fd2));
91 TEST(FileDesc_test, copy)
93 cout <<
"copy:" << endl;
95 cout <<
"fd: " << (int)fd << endl;
96 dprintf(1,
"print to stdout\n");
98 cout <<
"fd: " << (int)fd << endl;
99 dprintf(fd,
"print to dup\n");
101 cout <<
"fd: " << (int)fd << endl;
102 cout <<
"fd2: " << (int)fd2 << endl;
103 dprintf(fd2,
"print to dup2\n");
104 ASSERT_NE(
static_cast<int>(fd), -1);
105 ASSERT_NE(
static_cast<int>(fd2), -1);
106 ASSERT_NE(
static_cast<int>(fd),
static_cast<int>(fd2));
109 TEST(FileDesc_test, move_construct)
111 cout <<
"move construct:" << endl;
113 cout <<
"fd: " << (int)fd << endl;
114 dprintf(1,
"print to stdout\n");
116 cout <<
"fd: " << (int)fd << endl;
117 dprintf(fd,
"print to dup\n");
119 cout <<
"fd: " << (int)fd << endl;
120 cout <<
"fd2: " << (int)fd2 << endl;
121 dprintf(fd2,
"print to dup2\n");
122 ASSERT_EQ(
static_cast<int>(fd), -1);
123 ASSERT_NE(
static_cast<int>(fd2), -1);
126 TEST(FileDesc_test, move)
128 cout <<
"move:" << endl;
130 cout <<
"fd: " << (int)fd << endl;
131 dprintf(1,
"print to stdout\n");
133 cout <<
"fd: " << (int)fd << endl;
134 dprintf(fd,
"print to dup\n");
136 cout <<
"fd: " << (int)fd << endl;
137 cout <<
"fd2: " << (int)fd2 << endl;
138 dprintf(fd2,
"print to dup2\n");
139 ASSERT_EQ(
static_cast<int>(fd), -1);
140 ASSERT_NE(
static_cast<int>(fd2), -1);
void dup(int)
Duplicate a file descriptor.
TEST(inet_example, client_server_stream_test)
[Inet client server]