Jason Edmeades : cmd: Make tests supply stderr + more diagnostics.
Alexandre Julliard
julliard at winehq.org
Wed Sep 8 13:32:12 CDT 2010
Module: wine
Branch: master
Commit: 199b2db50209e9aecb51b6f5fa04f9e38de45940
URL: http://source.winehq.org/git/wine.git/?a=commit;h=199b2db50209e9aecb51b6f5fa04f9e38de45940
Author: Jason Edmeades <jason.edmeades at googlemail.com>
Date: Tue Sep 7 15:59:41 2010 -0700
cmd: Make tests supply stderr + more diagnostics.
---
programs/cmd/tests/batch.c | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/programs/cmd/tests/batch.c b/programs/cmd/tests/batch.c
index 9e93a01..cc8c020 100644
--- a/programs/cmd/tests/batch.c
+++ b/programs/cmd/tests/batch.c
@@ -31,7 +31,7 @@ static BOOL run_cmd(const char *cmd_data, DWORD cmd_size)
char command[] = "test.cmd";
STARTUPINFOA si = {sizeof(si)};
PROCESS_INFORMATION pi;
- HANDLE file;
+ HANDLE file,fileerr;
DWORD size;
BOOL bres;
@@ -53,8 +53,15 @@ static BOOL run_cmd(const char *cmd_data, DWORD cmd_size)
if(file == INVALID_HANDLE_VALUE)
return FALSE;
+ fileerr = CreateFileA("test.err", GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, &sa, CREATE_ALWAYS,
+ FILE_ATTRIBUTE_NORMAL, NULL);
+ ok(fileerr != INVALID_HANDLE_VALUE, "CreateFile stderr failed\n");
+ if(fileerr == INVALID_HANDLE_VALUE)
+ return FALSE;
+
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdOutput = file;
+ si.hStdError = fileerr;
bres = CreateProcessA(NULL, command, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
ok(bres, "CreateProcess failed: %u\n", GetLastError());
if(!bres) {
@@ -66,6 +73,7 @@ static BOOL run_cmd(const char *cmd_data, DWORD cmd_size)
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
CloseHandle(file);
+ CloseHandle(fileerr);
DeleteFileA("test.cmd");
return TRUE;
}
@@ -185,8 +193,8 @@ static void test_output(const char *out_data, DWORD out_size, const char *exp_da
exp_ptr++;
}
- ok(exp_ptr >= exp_data+exp_size, "unexpected end of output in line %d, expected 0x%x\n", line, *exp_ptr);
- ok(out_ptr >= out_data+out_size, "too long output\n");
+ ok(exp_ptr >= exp_data+exp_size, "unexpected end of output in line %d, missing %s\n", line, exp_ptr);
+ ok(out_ptr >= out_data+out_size, "too long output, got additional %s\n", out_ptr);
}
static void run_test(const char *cmd_data, DWORD cmd_size, const char *exp_data, DWORD exp_size)
@@ -203,6 +211,7 @@ static void run_test(const char *cmd_data, DWORD cmd_size, const char *exp_data,
UnmapViewOfFile(out_data);
}
DeleteFileA("test.out");
+ DeleteFileA("test.err");
}
static void run_from_file(char *file_name)
More information about the wine-cvs
mailing list