From a3ec215973c3653ebdeb81dcdd1274519c376a3d Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Sun, 21 Aug 2016 05:23:24 +0000 Subject: diffutils-3.5 --- gnulib-tests/test-binary-io.c | 69 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 gnulib-tests/test-binary-io.c (limited to 'gnulib-tests/test-binary-io.c') diff --git a/gnulib-tests/test-binary-io.c b/gnulib-tests/test-binary-io.c new file mode 100644 index 0000000..6801e96 --- /dev/null +++ b/gnulib-tests/test-binary-io.c @@ -0,0 +1,69 @@ +/* Test of binary mode I/O. + Copyright (C) 2005, 2007-2016 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2005. */ + +#include + +#include "binary-io.h" + +#include +#include +#include +#include +#include +#include + +#include "macros.h" + +int +main (int argc, char *argv[]) +{ + /* Test the O_BINARY macro. */ + { + int fd = + open ("t-bin-out0.tmp", O_CREAT | O_TRUNC | O_RDWR | O_BINARY, 0600); + if (write (fd, "Hello\n", 6) < 0) + exit (1); + close (fd); + } + { + struct stat statbuf; + if (stat ("t-bin-out0.tmp", &statbuf) < 0) + exit (1); + ASSERT (statbuf.st_size == 6); + } + + switch (argv[1][0]) + { + case '1': + /* Test the set_binary_mode() function. */ + set_binary_mode (1, O_BINARY); + fputs ("Hello\n", stdout); + break; + + case '2': + /* Test the SET_BINARY macro. */ + SET_BINARY (1); + fputs ("Hello\n", stdout); + break; + + default: + break; + } + + return 0; +} -- cgit v1.2.1