Commit graph

11 commits

Author SHA1 Message Date
Jilles Tjoelker
93a65e1b5f libc/stdio: Fail fdopen() on an execute-only fd.
An execute-only fd (opened with O_EXEC) allows neither read() nor write()
and is therefore incompatible with all stdio modes. Therefore, the [EINVAL]
error applies.

Also adjust the similar check in freopen() with a NULL path, even though
this checks an fd which is already from a FILE.
2014-04-21 17:40:23 +00:00
Jilles Tjoelker
9f36ecc590 libc: Add fopen() test to regression Makefile. 2014-04-21 12:39:35 +00:00
Jilles Tjoelker
65ba8dff5f Add mkostemp() and mkostemps().
These are like mkstemp() and mkstemps() but allow passing open(2) flags like
O_CLOEXEC.
2013-08-09 17:24:23 +00:00
John Baldwin
9240031ac6 Add an implementation of open_memstream() and open_wmemstream(). These
routines provide write-only stdio FILE objects that store their data in a
dynamically allocated buffer.  They are a string builder interface somewhat
akin to a completely dynamic sbuf.

Reviewed by:	bde, jilles (earlier versions)
MFC after:	1 month
2013-02-27 19:50:46 +00:00
David Schultz
7fb2aa104f Tests for getdelim(). 2009-02-28 06:39:39 +00:00
David Schultz
e2ef8d9b1d Add a file containing tests for simple format specifiers.
Currently it only has tests for a few sign issues with integer
formats, including PR 131880.
2009-02-28 06:37:10 +00:00
David Schultz
b03825c532 Add some regression tests for printf() with positional arguments.
The first test comes from OpenBSD, and the others are additions or
adaptations.

This is based on OpenBSD's
src/regress/lib/libc/sprintf/sprintf_test.c, v1.3.
I deliberately did not use v1.4 because it's bogus.
2008-06-29 21:03:14 +00:00
David Schultz
73961b3d51 - Split the printfloat test into 11 individually wrapped and packaged
tests.  (Buy 10, get one free!)  The separate categories were
  already there; they just weren't labeled.
- Use fesetround() instead of fpsetround(), since the former is
  standard and implemented on all supported architectures.  Add
  tests for each rounding mode.
- Add additional tests for subnormals.

Some of these tests won't pass until problems in vendor sources
(gdtoa and gcc) are fixed and new versions imported, but I
want to get these changes into the tree before I accidentally
blow them away.
2005-03-01 01:43:05 +00:00
David Schultz
3f0b22498b Add regression tests for floating point parsing in scanf(3). 2003-06-28 09:03:44 +00:00
David Schultz
600276e186 Regression tests for printf()'s floating point formats.
Tests for correct printing of subnormals are lacking.
2003-04-05 22:13:01 +00:00
Tim J. Robbins
a932a3f4b5 Add a test program for perror() that demonstrates two bugs in the
current implementation.
2002-12-19 09:46:10 +00:00