aboutsummaryrefslogtreecommitdiffstats
path: root/tests/stdlib_test.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-09-23 17:34:29 -0700
committerElliott Hughes <enh@google.com>2014-09-23 18:21:52 -0700
commit31165edf5733dae8fbe79551b18cbc0e56c8d808 (patch)
treee7ed184d94540342f16514a84e02c1f8d38882db /tests/stdlib_test.cpp
parent87b6906f6e0c17b2541535be8e054324cc2fef4a (diff)
downloadandroid_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.cpp24
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;