CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
Change-Id: I74ea88e0d4973d6ab3c57da7d8bb643c31592b14
This commit is contained in:
@@ -162,19 +162,33 @@ TEST(stdlib_DeathTest, getenv_after_main_thread_exits) {
|
||||
ASSERT_EXIT(TestBug57421_main(), ::testing::ExitedWithCode(0), "");
|
||||
}
|
||||
|
||||
TEST(stdlib, mkostemp64) {
|
||||
TemporaryFile tf([](char* path) { return mkostemp64(path, O_CLOEXEC); });
|
||||
int flags = fcntl(tf.fd, F_GETFD);
|
||||
ASSERT_TRUE(flags != -1);
|
||||
ASSERT_EQ(FD_CLOEXEC, flags & FD_CLOEXEC);
|
||||
}
|
||||
|
||||
TEST(stdlib, mkostemp) {
|
||||
TemporaryFile tf([](char* path) { return mkostemp(path, O_CLOEXEC); });
|
||||
int flags = fcntl(tf.fd, F_GETFD);
|
||||
ASSERT_TRUE(flags != -1);
|
||||
ASSERT_EQ(FD_CLOEXEC, flags & FD_CLOEXEC);
|
||||
}
|
||||
|
||||
TEST(stdlib, mkstemp64) {
|
||||
TemporaryFile tf(mkstemp64);
|
||||
struct stat64 sb;
|
||||
ASSERT_EQ(0, fstat64(tf.fd, &sb));
|
||||
ASSERT_EQ(O_LARGEFILE, fcntl(tf.fd, F_GETFL) & O_LARGEFILE);
|
||||
}
|
||||
|
||||
TEST(stdlib, mkstemp) {
|
||||
TemporaryFile tf;
|
||||
struct stat sb;
|
||||
ASSERT_EQ(0, fstat(tf.fd, &sb));
|
||||
}
|
||||
|
||||
TEST(stdlib, mkstemp64) {
|
||||
GenericTemporaryFile<mkstemp64> tf;
|
||||
struct stat64 sb;
|
||||
ASSERT_EQ(0, fstat64(tf.fd, &sb));
|
||||
ASSERT_EQ(O_LARGEFILE, fcntl(tf.fd, F_GETFL) & O_LARGEFILE);
|
||||
}
|
||||
|
||||
TEST(stdlib, system) {
|
||||
int status;
|
||||
|
||||
|
Reference in New Issue
Block a user