summaryrefslogtreecommitdiff
path: root/tests/stdlib_test.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2021-02-04 16:58:13 -0800
committerElliott Hughes <enh@google.com>2021-02-04 17:01:55 -0800
commitf9cfecf3d4d848e247dc8bdc486ed227bff7315f (patch)
tree00f1b5a19b7acaa16783ea14361d156a38a98989 /tests/stdlib_test.cpp
parent15ade069b10f7f5291e48c01db2da4852dae04b7 (diff)
Fix freopen() where the path is null.
This has been in the standard since C99, but we've never supported it before. It's apparently used by SPIRV-Tools. I tried implementing this the other way (with fcntl(2)) first, but eventually realized that that's more complicated and gives worse results. This implementation assumes that /proc is mounted, but so much of libc relies on that at this point that I don't think there's any realistic case where the fcntl(2) implementation would be preferable, and there are many where it's not. The fact that no-one's mentioned this until now suggests that it's not a heavily used feature anyway. I've also replaced AssertCloseOnExec() with a CloseOnExec() boolean-valued function instead, because it's really annoying getting assertion failures that don't point you at the test line in question, and instead point to some common helper code. Test: treehugger Change-Id: Ia2e53bf2664a4f782581042054ecd492830e2aed
Diffstat (limited to 'tests/stdlib_test.cpp')
-rw-r--r--tests/stdlib_test.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index c7b2ad89a..bb1fd7ce5 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -456,12 +456,12 @@ TEST_F(stdlib_DeathTest, getenv_after_main_thread_exits) {
TEST(stdlib, mkostemp64) {
MyTemporaryFile tf([](char* path) { return mkostemp64(path, O_CLOEXEC); });
- AssertCloseOnExec(tf.fd, true);
+ ASSERT_TRUE(CloseOnExec(tf.fd));
}
TEST(stdlib, mkostemp) {
MyTemporaryFile tf([](char* path) { return mkostemp(path, O_CLOEXEC); });
- AssertCloseOnExec(tf.fd, true);
+ ASSERT_TRUE(CloseOnExec(tf.fd));
}
TEST(stdlib, mkstemp64) {