Module: wine Branch: master Commit: 0e33105abb981ec4231292af1772dc75bd487efb URL: https://source.winehq.org/git/wine.git/?a=commit;h=0e33105abb981ec4231292af1... Author: Alexandre Julliard <julliard(a)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(a)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(a)foobar @pwd@ ------------ Testing attrib ------------ -A @drive@@path(a)foobar\foo(a)or_broken@A @drive@@path(a)foobar\foo(a)or_broken@A I @drive@@path(a)foobar\foo +A(a)spaces@@drive@@path(a)foobar\foo(a)or_broken@A I(a)spaces@@drive@@path(a)foobar\foo --- read-only attribute -A R @drive@@path(a)foobar\foo(a)or_broken@A R @drive@@path(a)foobar\foo(a)or_broken@A R I @drive@@path(a)foobar\foo +A R(a)spaces@@drive@@path(a)foobar\foo(a)or_broken@A R I(a)spaces@@drive@@path(a)foobar\foo foo foo original contents Read-only file not deleted Read-only file forcibly deleted --- recursive behaviour -A @drive@@path(a)foobar\baz\level2(a)or_broken@A @drive@@path(a)foobar\baz\level2(a)or_broken@A I @drive@@path(a)foobar\baz\level2 -A R @drive@@path(a)foobar\level1(a)or_broken@A R @drive@@path(a)foobar\level1(a)or_broken@A R I @drive@@path(a)foobar\level1 -A R @drive@@path(a)foobar\baz\level2(a)or_broken@A R @drive@@path(a)foobar\baz\level2(a)or_broken@A R I @drive@@path(a)foobar\baz\level2 -A @drive@@path(a)foobar\bar(a)or_broken@A @drive@@path(a)foobar\bar(a)or_broken@A I @drive@@path(a)foobar\bar +A(a)spaces@@drive@@path(a)foobar\baz\level2(a)or_broken@A I(a)spaces@@drive@@path(a)foobar\baz\level2 +A R(a)spaces@@drive@@path(a)foobar\level1(a)or_broken@A R I(a)spaces@@drive@@path(a)foobar\level1 +A R(a)spaces@@drive@@path(a)foobar\baz\level2(a)or_broken@A R I(a)spaces@@drive@@path(a)foobar\baz\level2 +A(a)spaces@@drive@@path(a)foobar\bar(a)or_broken@A I(a)spaces@@drive@@path(a)foobar\bar --- folders processing - @drive@@path(a)foobar@or_broken@ @drive@@path(a)foobar@or_broken@ I @drive@@path(a)foobar -(a)todo_wine@ R @drive@@path(a)foobar\baz(a)or_broken@ R @drive@@path(a)foobar\baz(a)or_broken@ @drive@@path(a)foobar\baz(a)or_broken@ R I @drive@@path(a)foobar\baz -A @drive@@path(a)foobar\baz\toto(a)or_broken@A @drive@@path(a)foobar\baz\toto(a)or_broken@A I @drive@@path(a)foobar\baz\toto +(a)spaces@@drive@@path(a)foobar@or_broken@ I(a)spaces@@drive@@path(a)foobar +(a)todo_wine@ R(a)spaces@@drive@@path(a)foobar\baz(a)or_broken@@spaces@@drive@@path(a)foobar\baz(a)or_broken@ R I(a)spaces@@drive@@path(a)foobar\baz +A(a)spaces@@drive@@path(a)foobar\baz\toto(a)or_broken@A I(a)spaces@@drive@@path(a)foobar\baz\toto toto lulu file created in read-only dir