Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
November 2014
- 48 participants
- 283 messages
Re: [PATCH] cmd/tests: Add tests for 'del' (Fixes bug 35970)
by Marvin
Hi,
While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
https://testbot.winehq.org/JobDetails.pl?Key=9945
Your paranoid android.
=== wxppro (32 bit) ===
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 689 (got 'Got unexpected result: "C:\Documents"', wanted 'Plain directory enumeration from provided root')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 690 (got 'Got unexpected result: "C:\Documents"', wanted 'File enumeration')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 691 (got 'Got unexpected result: "C:\Documents"', wanted 'File enumeration from provided root')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 692 (got 'Got unexpected result: "C:\Documents"', wanted 'Mixed enumeration')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 693 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\."', wanted 'Mixed enumeration from provided root')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 694 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\."', wanted 'With duplicates enumeration')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 695 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\."', wanted 'Strip missing wildcards, keep unwildcarded names')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 696 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\."', wanted 'for /R passed')
batch.c:312: Test failed: unexpected char 0x50 position 0 in line 697 (got 'Plain directory enumeration from provided root', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 698 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 699 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 700 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 701 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 702 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 703 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 704 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 705 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 706 (got 'File enumeration', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 707 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 708 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 709 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 710 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 711 (got 'File enumeration from provided root', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 712 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 713 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 714 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 715 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x4d position 0 in line 716 (got 'Mixed enumeration', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 717 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 718 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 719 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 720 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 721 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 722 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 723 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 724 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 725 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 726 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 727 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 728 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x4d position 0 in line 729 (got 'Mixed enumeration from provided root', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 730 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 731 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 732 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 733 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 734 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 735 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 736 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 737 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 738 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 739 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 740 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 741 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\."', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x57 position 0 in line 742 (got 'With duplicates enumeration', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 743 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 744 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 745 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 746 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 747 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 748 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 749 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 750 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 751 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 752 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 753 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 754 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 755 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 756 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\fred"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 757 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 758 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 759 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 760 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\fred"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 761 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 762 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 763 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 764 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 765 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\fred"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 766 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\fred"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x53 position 0 in line 767 (got 'Strip missing wildcards, keep unwildcarded names', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 768 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 769 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 770 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 771 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 772 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x47 position 0 in line 773 (got 'Got unexpected result: "C:\Documents"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 774 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bar\jim"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 775 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 776 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\baz\jim"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 777 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\bazbaz"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 778 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\foo\jim"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 779 (got 'Found missing result: "C:\Documents and Settings\winetest\My Documents\foobar\jim"', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x66 position 0 in line 780 (got 'for /R passed', wanted '--- Complex wildcards unix and windows slash')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 1368 (got 'Finished:', wanted 'value2')
batch.c:312: Test failed: unexpected char 0x76 position 0 in line 1369 (got 'value2', wanted '2set1endvalue1')
batch.c:312: Test failed: unexpected char 0x43 position 0 in line 1370 (got 'C:\Documents and Settings\winetest\My Documents\foobar\foodir2', wanted '@drive@@path(a)foobar\foodir3')
batch.c:312: Test failed: unexpected char 0x76 position 0 in line 1371 (got 'value1', wanted 'Finished:')
batch.c:312: Test failed: unexpected char 0x43 position 0 in line 1372 (got 'C:\Documents and Settings\winetest\My Documents\foobar', wanted 'value2')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1373 (got '--- Extra endlocal in called batch', wanted '@drive@@path(a)foobar\foodir2')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1374 (got '--- Extra endlocal in called batch', wanted 'value1')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1375 (got '--- Extra endlocal in called batch', wanted '@drive@@path(a)foobar')
batch.c:312: Test failed: unexpected char 0x46 position 0 in line 1377 (got 'Finished:', wanted 'value2')
batch.c:312: Test failed: unexpected char 0x76 position 0 in line 1380 (got 'value1', wanted 'value2')
batch.c:312: Test failed: unexpected char 0x43 position 0 in line 1381 (got 'C:\Documents and Settings\winetest\My Documents\foobar', wanted '@drive@@path(a)foobar\foodir2')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1382 (got '--- endlocal in called function rather than batch pgm is ineffective', wanted 'Finished:')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1383 (got '--- endlocal in called function rather than batch pgm is ineffective', wanted 'value2')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1384 (got '--- endlocal in called function rather than batch pgm is ineffective', wanted '@drive@@path(a)foobar\foodir2')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1385 (got '--- endlocal in called function rather than batch pgm is ineffective', wanted 'value1')
batch.c:312: Test failed: unexpected char 0x2d position 0 in line 1386 (got '--- endlocal in called function rather than batch pgm is ineffective', wanted '@drive@@path(a)foobar')
=== wvistau64 (32 bit) ===
batch.c:312: Test failed: unexpected char 0x27 position 0 in line 318 (got ''--a--c---'', wanted ''--a------'@or_broken@'%~ai'')
=== w8 (32 bit) ===
batch.c:312: Test failed: unexpected char 0x27 position 0 in line 318 (got ''--a--------'', wanted ''--a------'@or_broken@'%~ai'')
=== wvistau64 (64 bit) ===
batch.c:312: Test failed: unexpected char 0x27 position 0 in line 318 (got ''--a--c---'', wanted ''--a------'@or_broken@'%~ai'')
Nov. 1, 2014
Re: [2/2] oleaut32: Implement TLB dependencies lookup in resources (resend 3 - last submit before abandon)
by Guillaume Charifi
Thanks a lot for your reply, I have nothing to add, so I'm about to submit just your fixed version.Thanks to Alexander and Andrew too.
Nov. 1, 2014
Re: [2/2] oleaut32: Implement TLB dependencies lookup in resources (resend 3 - last submit before abandon)
by Sebastian Lackner
I had this patch on my list for a couple of weeks, and finally had time to take a closer look.
There were still a lot of issues. I've listed them below, and have also added a fixed version to our staging tree:
https://github.com/wine-compholio/wine-staging/blob/master/patches/oleaut32…
Feel free to integrate my changes and resubmit if you like.
On 27.09.2014 20:10, Guillaume Charifi wrote:
> Fixes https://bugs.winehq.org/show_bug.cgi?id=34184
>
> This is the last time without a review before I give up.
>
> --- dlls/oleaut32/tests/typelib.c | 2 +-
> dlls/oleaut32/typelib.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
> 2 files changed, 103 insertions(+), 10 deletions(-)
>
>
>diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c
>index cb5bc23..99e2aedd 100644
>--- a/dlls/oleaut32/tests/typelib.c
>+++ b/dlls/oleaut32/tests/typelib.c
>@@ -5595,7 +5595,7 @@ static void test_dep(void) {
> ok(hr == S_OK, "got: %x\n", hr);
>
> hr = ITypeInfo_GetRefTypeInfo(ptInfo, refType, &ptInfoExt);
>- todo_wine ok(hr == S_OK || broken(hr == TYPE_E_CANTLOADLIBRARY) /* win 2000 */, "got: %x\n", hr);
>+ ok(hr == S_OK || broken(hr == TYPE_E_CANTLOADLIBRARY) /* win 2000 */, "got: %x\n", hr);
>
> ITypeInfo_Release(ptInfo);
> if(ptInfoExt)
>diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
>index 48b171b..d895696 100644
>--- a/dlls/oleaut32/typelib.c
>+++ b/dlls/oleaut32/typelib.c
>@@ -7572,6 +7572,84 @@ static HRESULT ITypeInfoImpl_GetDispatchRefTypeInfo( ITypeInfo *iface,
> return E_FAIL;
> }
>
>+struct search_res_tlb_param {
>+ GUID *guid;
GUID should be const.
>+ ITypeLib *pTLib;
>+ HRESULT result;
>+};
There is no need to store 'result' here. If the lookup fails the result is not used anyway. Comparing pTlib != NULL should be sufficient.
>+
>+static BOOL CALLBACK search_res_tlb(HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszIntName, LONG_PTR lParam)
>+{
>+ struct search_res_tlb_param *This = (LPVOID)lParam;
>+
>+ HRESULT ret;
>+
>+ static WCHAR resFormatStrW[] = {'\\','%','d',0};
Should be const.
>+ WCHAR szPath[MAX_PATH];
>+ WCHAR szTLBPath[MAX_PATH];
>+ WCHAR szStringName[12];
>+ LPVOID pBase = NULL;
>+ DWORD dwTLBLength = 0;
>+ IUnknown *pFile = NULL;
>+ ITypeLib2 *pTLib = NULL;
>+ RPC_STATUS rpc_stat;
>+
>+ This->pTLib = NULL;
>+ This->result = E_FAIL;
>+
>+ if(IS_INTRESOURCE(lpszIntName) == FALSE)
>+ return TRUE;
>+
>+ GetModuleFileNameW(hModule, szPath, MAX_PATH);
Missing error checks.
>+
>+ strcpyW(szTLBPath, szPath);
>+ snprintfW(szStringName, sizeof(szStringName)/sizeof(WCHAR), resFormatStrW, PtrToInt(lpszIntName));
>+ strcatW(szTLBPath, szStringName);
Here also missing error checks. Moreover copying the data all the time is a bit ugly.
>+
>+ ret = TLB_PEFile_Open(szPath, PtrToInt(lpszIntName), &pBase, &dwTLBLength, &pFile);
>+ if (ret == TYPE_E_CANTLOADLIBRARY)
>+ ret = TLB_NEFile_Open(szPath, PtrToInt(lpszIntName), &pBase, &dwTLBLength, &pFile);
>+ if (ret == TYPE_E_CANTLOADLIBRARY)
>+ ret = TLB_Mapping_Open(szPath, &pBase, &dwTLBLength, &pFile);
>+ if (SUCCEEDED(ret))
>+ {
>+ if (dwTLBLength >= 4)
>+ {
>+ DWORD dwSignature = FromLEDWord(*((DWORD*) pBase));
>+ if (dwSignature == MSFT_SIGNATURE)
>+ pTLib = ITypeLib2_Constructor_MSFT(pBase, dwTLBLength);
>+ else if (dwSignature == SLTG_SIGNATURE)
>+ pTLib = ITypeLib2_Constructor_SLTG(pBase, dwTLBLength);
>+ else
>+ {
>+ FIXME("Header type magic 0x%08x not supported.\n", dwSignature);
>+ ret = E_FAIL;
>+ }
>+ }
>+ else
>+ ret = E_FAIL;
>+ IUnknown_Release(pFile);
>+ }
As already pointed out by Alexandre, this whole block is duplicated, although that is not really necessary. You can just call existing functions to load the typelib, SearchPathW will have no influence when its an absolute path.
>+
>+ if(pTLib) {
>+ ITypeLibImpl *impl = impl_from_ITypeLib2(pTLib);
>+ ret = UuidEqual((UUID *)This->guid, (UUID *)TLB_get_guid_null(impl->guid), &rpc_stat);
Why casting and using this API? The rest of the file uses IsEqualGUID. This also allows to get rid of the dummy rpc_stat variable.
Moreover you are storing a BOOL value in a HRESULT variable.
>+ ITypeLib_Release((ITypeLib *)pTLib);
>+
>+ ret = (ret == TRUE) ? LoadTypeLibEx(szTLBPath, REGKIND_NONE, (ITypeLib **)&pTLib) : E_FAIL;
That is especially ugly, because you free the library, just to load it again immediately afterwards. I don't think there is any good reason to do that, correct me if I'm wrong.
>+ }
>+
>+ This->result = ret;
>+
>+ if(SUCCEEDED(ret)) {
>+ /* If found, stop to enumerate */
>+ This->pTLib = (ITypeLib *)pTLib;
>+ return FALSE;
>+ }
>+
>+ return TRUE;
>+}
>+
> /* ITypeInfo::GetRefTypeInfo
> *
> * If a type description references other type descriptions, it retrieves
>@@ -7665,20 +7743,35 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
> ITypeLib_AddRef(pTLib);
> result = S_OK;
> } else {
>+ static const WCHAR TYPELIBW[] = {'T','Y','P','E','L','I','B',0};
>+ struct search_res_tlb_param param;
> BSTR libnam;
>
> TRACE("typeinfo in imported typelib that isn't already loaded\n");
>
>- result = query_typelib_path(TLB_get_guid_null(ref_type->pImpTLInfo->guid),
>- ref_type->pImpTLInfo->wVersionMajor,
>- ref_type->pImpTLInfo->wVersionMinor,
>- This->pTypeLib->syskind,
>- ref_type->pImpTLInfo->lcid, &libnam, TRUE);
>- if(FAILED(result))
>- libnam = SysAllocString(ref_type->pImpTLInfo->name);
>+ /* Search in resource table */
>+ param.guid = (GUID *)TLB_get_guid_null(ref_type->pImpTLInfo->guid);
You are casting away the const here. Normally there is no cast required at all.
>+ param.pTLib = NULL;
>+ param.result = E_FAIL;
>+
>+ EnumResourceNamesW(NULL, TYPELIBW, search_res_tlb, (LONG_PTR)¶m);
>+
>+ pTLib = param.pTLib;
>+ result = param.result;
>
>- result = LoadTypeLib(libnam, &pTLib);
>- SysFreeString(libnam);
>+ /* Search on disk */
>+ if(FAILED(result)) {
>+ result = query_typelib_path(TLB_get_guid_null(ref_type->pImpTLInfo->guid),
>+ ref_type->pImpTLInfo->wVersionMajor,
>+ ref_type->pImpTLInfo->wVersionMinor,
>+ This->pTypeLib->syskind,
>+ ref_type->pImpTLInfo->lcid, &libnam, TRUE);
>+ if(FAILED(result))
>+ libnam = SysAllocString(ref_type->pImpTLInfo->name);
>+
>+ result = LoadTypeLib(libnam, &pTLib);
>+ SysFreeString(libnam);
>+ }
>
> if(SUCCEEDED(result)) {
> ref_type->pImpTLInfo->pImpTypeLib = impl_from_ITypeLib(pTLib);
Nov. 1, 2014