Alexandre Julliard : cmd/tests: Fix test failures on latest Windows 10.

Alexandre Julliard julliard at winehq.org
Tue Dec 11 15:58:17 CST 2018


Module: wine
Branch: master
Commit: 0e33105abb981ec4231292af1772dc75bd487efb
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0e33105abb981ec4231292af1772dc75bd487efb

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Dec 11 16:29:14 2018 +0100

cmd/tests: Fix test failures on latest Windows 10.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/cmd/tests/batch.c               | 14 +++++++++++---
 programs/cmd/tests/test_builtins.cmd.exp | 18 +++++++++---------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/programs/cmd/tests/batch.c b/programs/cmd/tests/batch.c
index 0c94d7e..162e9cf 100644
--- a/programs/cmd/tests/batch.c
+++ b/programs/cmd/tests/batch.c
@@ -165,6 +165,7 @@ static const char *compare_line(const char *out_line, const char *out_end, const
     static const char path_cmd[]  = {'@','p','a','t','h','@'};
     static const char shortpath_cmd[]  = {'@','s','h','o','r','t','p','a','t','h','@'};
     static const char space_cmd[] = {'@','s','p','a','c','e','@'};
+    static const char spaces_cmd[] = {'@','s','p','a','c','e','s','@'};
     static const char tab_cmd[]   = {'@','t','a','b','@'};
     static const char or_broken_cmd[] = {'@','o','r','_','b','r','o','k','e','n','@'};
 
@@ -223,6 +224,15 @@ static const char *compare_line(const char *out_line, const char *out_end, const
                 } else {
                     err = out_end;
                 }
+            }else if(exp_ptr+sizeof(spaces_cmd) <= exp_end
+                    && !memcmp(exp_ptr, spaces_cmd, sizeof(spaces_cmd))) {
+                exp_ptr += sizeof(spaces_cmd);
+                if(out_ptr < out_end && *out_ptr == ' ') {
+                    while (out_ptr < out_end && *out_ptr == ' ') out_ptr++;
+                    continue;
+                } else {
+                    err = out_end;
+                }
             }else if(exp_ptr+sizeof(tab_cmd) <= exp_end
                     && !memcmp(exp_ptr, tab_cmd, sizeof(tab_cmd))) {
                 exp_ptr += sizeof(tab_cmd);
@@ -250,10 +260,8 @@ static const char *compare_line(const char *out_line, const char *out_end, const
 
             while(exp_ptr+sizeof(or_broken_cmd) <= exp_end && memcmp(exp_ptr, or_broken_cmd, sizeof(or_broken_cmd)))
                 exp_ptr++;
-            if(!exp_ptr)
-                return err;
-
             exp_ptr += sizeof(or_broken_cmd);
+            if (exp_ptr > exp_end) return err;
             out_ptr = out_line;
             err = NULL;
             continue;
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index bb27c6d..01ddc4d 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -1392,22 +1392,22 @@ bar\baz removed
 @drive@@path at foobar
 @pwd@
 ------------ Testing attrib ------------
-A            @drive@@path at foobar\foo at or_broken@A          @drive@@path at foobar\foo at or_broken@A       I    @drive@@path at foobar\foo
+A at spaces@@drive@@path at foobar\foo at or_broken@A       I at spaces@@drive@@path at foobar\foo
 --- read-only attribute
-A    R       @drive@@path at foobar\foo at or_broken@A    R     @drive@@path at foobar\foo at or_broken@A    R  I    @drive@@path at foobar\foo
+A    R at spaces@@drive@@path at foobar\foo at or_broken@A    R  I at spaces@@drive@@path at foobar\foo
 foo
 foo original contents
 Read-only file not deleted
 Read-only file forcibly deleted
 --- recursive behaviour
-A            @drive@@path at foobar\baz\level2 at or_broken@A          @drive@@path at foobar\baz\level2 at or_broken@A       I    @drive@@path at foobar\baz\level2
-A    R       @drive@@path at foobar\level1 at or_broken@A    R     @drive@@path at foobar\level1 at or_broken@A    R  I    @drive@@path at foobar\level1
-A    R       @drive@@path at foobar\baz\level2 at or_broken@A    R     @drive@@path at foobar\baz\level2 at or_broken@A    R  I    @drive@@path at foobar\baz\level2
-A            @drive@@path at foobar\bar at or_broken@A          @drive@@path at foobar\bar at or_broken@A       I    @drive@@path at foobar\bar
+A at spaces@@drive@@path at foobar\baz\level2 at or_broken@A       I at spaces@@drive@@path at foobar\baz\level2
+A    R at spaces@@drive@@path at foobar\level1 at or_broken@A    R  I at spaces@@drive@@path at foobar\level1
+A    R at spaces@@drive@@path at foobar\baz\level2 at or_broken@A    R  I at spaces@@drive@@path at foobar\baz\level2
+A at spaces@@drive@@path at foobar\bar at or_broken@A       I at spaces@@drive@@path at foobar\bar
 --- folders processing
-             @drive@@path at foobar@or_broken@           @drive@@path at foobar@or_broken@        I    @drive@@path at foobar
- at todo_wine@     R       @drive@@path at foobar\baz at or_broken@     R     @drive@@path at foobar\baz at or_broken@           @drive@@path at foobar\baz at or_broken@     R  I    @drive@@path at foobar\baz
-A            @drive@@path at foobar\baz\toto at or_broken@A          @drive@@path at foobar\baz\toto at or_broken@A       I    @drive@@path at foobar\baz\toto
+ at spaces@@drive@@path at foobar@or_broken@        I at spaces@@drive@@path at foobar
+ at todo_wine@     R at spaces@@drive@@path at foobar\baz at or_broken@@spaces@@drive@@path at foobar\baz at or_broken@     R  I at spaces@@drive@@path at foobar\baz
+A at spaces@@drive@@path at foobar\baz\toto at or_broken@A       I at spaces@@drive@@path at foobar\baz\toto
 toto
 lulu
 file created in read-only dir




More information about the wine-cvs mailing list