22#include "gdbsupport/filestuff.h"
23#include "gdbsupport/scoped_fd.h"
25#include "gdbsupport/selftest.h"
34 char filename[] =
"scoped_fd-selftest-XXXXXX";
35 int fd = gdb_mkostemp_cloexec (filename).release ();
43 SELF_CHECK (sfd.get () == fd);
46 SELF_CHECK (close (fd) == -1 && errno == EBADF);
53 char filename[] =
"scoped_fd-selftest-XXXXXX";
54 int fd = gdb_mkostemp_cloexec (filename).release ();
62 SELF_CHECK (sfd.release () == fd);
65 SELF_CHECK (close (fd) == 0 || errno != EBADF);
72 char filename[] =
"scoped_fd-selftest-XXXXXX";
74 ::scoped_fd sfd = gdb_mkostemp_cloexec (filename);
75 SELF_CHECK (sfd.get () >= 0);
79 gdb_file_up file = sfd.to_file (
"rw");
80 SELF_CHECK (file !=
nullptr);
81 SELF_CHECK (sfd.get () == -1);
100 selftests::register_test (
"scoped_fd",
static void test_to_file()
static void test_release()
static void test_destroy()
void _initialize_scoped_fd_selftests()