diff options
author | Elliott Hughes <enh@google.com> | 2014-09-23 17:34:29 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2014-09-23 18:21:52 -0700 |
commit | 31165edf5733dae8fbe79551b18cbc0e56c8d808 (patch) | |
tree | e7ed184d94540342f16514a84e02c1f8d38882db /tests/stdlib_test.cpp | |
parent | 87b6906f6e0c17b2541535be8e054324cc2fef4a (diff) | |
download | android_bionic-31165edf5733dae8fbe79551b18cbc0e56c8d808.tar.gz android_bionic-31165edf5733dae8fbe79551b18cbc0e56c8d808.tar.bz2 android_bionic-31165edf5733dae8fbe79551b18cbc0e56c8d808.zip |
CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
Change-Id: I74ea88e0d4973d6ab3c57da7d8bb643c31592b14
Diffstat (limited to 'tests/stdlib_test.cpp')
-rw-r--r-- | tests/stdlib_test.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp index 667ccd6a4..e814ef714 100644 --- a/tests/stdlib_test.cpp +++ b/tests/stdlib_test.cpp @@ -162,19 +162,33 @@ TEST(stdlib_DeathTest, getenv_after_main_thread_exits) { ASSERT_EXIT(TestBug57421_main(), ::testing::ExitedWithCode(0), ""); } -TEST(stdlib, mkstemp) { - TemporaryFile tf; - struct stat sb; - ASSERT_EQ(0, fstat(tf.fd, &sb)); +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) { - GenericTemporaryFile<mkstemp64> tf; + 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, system) { int status; |