Piotr Caban : msvcrt: Added _setmode tests.
Alexandre Julliard
julliard at winehq.org
Thu Jan 10 13:36:11 CST 2013
Module: wine
Branch: master
Commit: f93259b3053d39b84d9377e89e41c98503fa1c00
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f93259b3053d39b84d9377e89e41c98503fa1c00
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Jan 10 11:45:05 2013 +0100
msvcrt: Added _setmode tests.
---
dlls/msvcrt/tests/file.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcrt/tests/file.c b/dlls/msvcrt/tests/file.c
index 260ff18..7928b9e 100644
--- a/dlls/msvcrt/tests/file.c
+++ b/dlls/msvcrt/tests/file.c
@@ -1496,6 +1496,61 @@ static void test__wfopen_s( void )
ok(_unlink(name) == 0, "Couldn't unlink file named '%s'\n", name);
}
+static void test_setmode(void)
+{
+ const char name[] = "empty1";
+ int fd, ret;
+
+ if(!p_fopen_s) {
+ win_skip("unicode file modes are not available, skipping setmode tests\n");
+ return;
+ }
+
+ fd = _open(name, _O_CREAT|_O_WRONLY, _S_IWRITE);
+ ok(fd != -1, "failed to open file\n");
+
+ errno = 0xdeadbeef;
+ ret = _setmode(fd, 0xffffffff);
+ ok(ret == -1, "_setmode returned %x, expected -1\n", ret);
+ ok(errno == EINVAL, "errno = %d\n", errno);
+
+ errno = 0xdeadbeef;
+ ret = _setmode(fd, 0);
+ ok(ret == -1, "_setmode returned %x, expected -1\n", ret);
+ ok(errno == EINVAL, "errno = %d\n", errno);
+
+ errno = 0xdeadbeef;
+ ret = _setmode(fd, _O_BINARY|_O_TEXT);
+ ok(ret == -1, "_setmode returned %x, expected -1\n", ret);
+ ok(errno == EINVAL, "errno = %d\n", errno);
+
+ errno = 0xdeadbeef;
+ ret = _setmode(fd, _O_WTEXT|_O_U16TEXT);
+ ok(ret == -1, "_setmode returned %x, expected -1\n", ret);
+ ok(errno == EINVAL, "errno = %d\n", errno);
+
+ ret = _setmode(fd, _O_BINARY);
+ ok(ret == _O_TEXT, "_setmode returned %x, expected _O_TEXT\n", ret);
+
+ ret = _setmode(fd, _O_WTEXT);
+ ok(ret == _O_BINARY, "_setmode returned %x, expected _O_BINARY\n", ret);
+
+ ret = _setmode(fd, _O_TEXT);
+ ok(ret == _O_WTEXT, "_setmode returned %x, expected _O_WTEXT\n", ret);
+
+ ret = _setmode(fd, _O_U16TEXT);
+ ok(ret == _O_TEXT, "_setmode returned %x, expected _O_TEXT\n", ret);
+
+ ret = _setmode(fd, _O_U8TEXT);
+ ok(ret == _O_WTEXT, "_setmode returned %x, expected _O_WTEXT\n", ret);
+
+ ret = _setmode(fd, _O_TEXT);
+ ok(ret == _O_WTEXT, "_setmode returned %x, expected _O_WTEXT\n", ret);
+
+ _close(fd);
+ _unlink(name);
+}
+
static void test_get_osfhandle(void)
{
int fd;
@@ -1784,6 +1839,7 @@ START_TEST(file)
test_fopen_fclose_fcloseall();
test_fopen_s();
test__wfopen_s();
+ test_setmode();
test_fileops();
test_asciimode();
test_asciimode2();
More information about the wine-cvs
mailing list