diff options
Diffstat (limited to 'sim/testsuite/cris/c/ftruncate2.c')
-rw-r--r-- | sim/testsuite/cris/c/ftruncate2.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sim/testsuite/cris/c/ftruncate2.c b/sim/testsuite/cris/c/ftruncate2.c new file mode 100644 index 0000000..f1ef18c --- /dev/null +++ b/sim/testsuite/cris/c/ftruncate2.c @@ -0,0 +1,39 @@ +/* +#notarget: cris*-*-elf +*/ + +/* Check that we get a proper error indication if trying ftruncate on a + fd that is a pipe descriptor. */ + +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> +#include <unistd.h> +int main (void) +{ + int pip[2]; + + if (pipe (pip) != 0) + { + perror ("pipe"); + abort (); + } + + if (ftruncate (pip[0], 20) == 0 || errno != EINVAL) + { + perror ("ftruncate 1"); + abort (); + } + + errno = 0; + + if (ftruncate (pip[1], 20) == 0 || errno != EINVAL) + { + perror ("ftruncate 2"); + abort (); + } + + printf ("pass\n"); + + exit (0); +} |