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