Module: wine Branch: master Commit: 62bd615452cc0216c54b7707b1102f8511938d7e URL: http://source.winehq.org/git/wine.git/?a=commit;h=62bd615452cc0216c54b7707b1...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Jan 10 11:45:20 2013 +0100
msvcrt: Added more read tests.
---
dlls/msvcrt/tests/file.c | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcrt/tests/file.c b/dlls/msvcrt/tests/file.c index 7928b9e..7304b34 100644 --- a/dlls/msvcrt/tests/file.c +++ b/dlls/msvcrt/tests/file.c @@ -956,6 +956,11 @@ static void test_file_write_read( void ) _lseek(tempfd, -2, FILE_END); ret = _read(tempfd,btext,LLEN); ok(ret == 1 && *btext == '\n', "_read expected '\n' got bad length: %d\n", ret); + _lseek(tempfd, -2, FILE_END); + ret = _read(tempfd,btext,1); + ok(ret == 1 && *btext == '\n', "_read returned %d, buf: %d\n", ret, *btext); + ret = read(tempfd,btext,1); + ok(ret == 0, "_read returned %d, expected 0\n", ret); _lseek(tempfd, -3, FILE_END); ret = _read(tempfd,btext,1); ok(ret == 1 && *btext == 'e', "_read expected 'e' got "%.*s" bad length: %d\n", ret, btext, ret); @@ -1784,6 +1789,29 @@ static void test_pipes(const char* selfname)
i=fclose(file); ok(!i, "unable to close the pipe: %d\n", errno); + + if (_pipe(pipes, 1024, O_BINARY) < 0) + { + ok(0, "pipe failed with errno %d\n", errno); + return; + } + r = write(pipes[1], "\r\n\rab", 5); + ok(r == 5, "write returned %d, errno = %d\n", r, errno); + setmode(pipes[0], O_TEXT); + r = read(pipes[0], buf, 1); + ok(r == 1, "read returned %d, expected 1\n", r); + ok(buf[0] == '\n', "buf[0] = %x, expected '\n'\n", buf[0]); + r = read(pipes[0], buf, 1); + ok(r == 1, "read returned %d, expected 1\n", r); + ok(buf[0] == '\r', "buf[0] = %x, expected '\r'\n", buf[0]); + r = read(pipes[0], buf, 1); + ok(r == 1, "read returned %d, expected 1\n", r); + ok(buf[0] == 'a', "buf[0] = %x, expected 'a'\n", buf[0]); + r = read(pipes[0], buf, 1); + ok(r == 1, "read returned %d, expected 1\n", r); + ok(buf[0] == 'b', "buf[0] = %x, expected 'b'\n", buf[0]); + close(pipes[1]); + close(pipes[0]); }
static void test_unlink(void)