X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Funittests%2Fscoped_fd-selftests.c;h=6a9c727477da787ae99d8e9b809d47154d700a23;hb=36033ef57cd048588f9a3d5523712147066421f2;hp=fb6a0d675dd58574629230df1f124b3175c387ee;hpb=b3279b601e67ce47263082ef86cfc86e25607c5e;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/unittests/scoped_fd-selftests.c b/gdb/unittests/scoped_fd-selftests.c index fb6a0d675d..6a9c727477 100644 --- a/gdb/unittests/scoped_fd-selftests.c +++ b/gdb/unittests/scoped_fd-selftests.c @@ -65,12 +65,29 @@ test_release () SELF_CHECK (close (fd) == 0 || errno != EBADF); } +/* Test that the file descriptor can be converted to a FILE *. */ +static void +test_to_file () +{ + char filename[] = "scoped_fd-selftest-XXXXXX"; + + ::scoped_fd sfd (gdb_mkostemp_cloexec (filename)); + SELF_CHECK (sfd.get () >= 0); + + unlink (filename); + + gdb_file_up file = sfd.to_file ("rw"); + SELF_CHECK (file != nullptr); + SELF_CHECK (sfd.get () == -1); +} + /* Run selftests. */ static void run_tests () { test_destroy (); test_release (); + test_to_file (); } } /* namespace scoped_fd */