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
December 2002
- 132 participants
- 1012 messages
Re: Visual-MinGW: Winelib patch
by Dimitrie O. Paun
On December 31, 2002 03:43 pm, Manu wrote:
> > that Visual-MinGW should not depend on cygwin, no? If so, it makes
> > sense to make this explicit with -mno-cygwin.
>
> If MinGW doesn't complain, I agree.
It shouldn't, it's documented to do so, try it out.
> -fvtable-thunks is problematic. I use gcc version 2.95.3-6 (mingw special),
> (faster, smaller binaries) -fvtable-thunks is required with gcc 2,
> but gcc 3 outputs a warning.
> Any workaround?
The best thing would be to determine the version of gcc dynamically
in the makefile, like so:
GCC_VER_2 := 'gcc version 2.'
CFLAGS = -mno-cygwin -W -Wall -fno-exceptions -fno-rtti
ifeq ($(findstring $(GCC_VER_2), $(shell gcc -v)),$(GCC_VER_2))
CFLAGS += -fvtable-thunks
endif
ifeq ($(MAKECMDGOALS),debug)
CFLAGS += -g
else
CFLAGS += $(OPTIMIZ)
else
This would require GNU make, but your current makefile requires
GNU make anyway, so... In this case, it would be better to
rename makefile -> Makefile, it's more standard for GNU make files.
> Visual-MinGW generates the right makefile indeed, from user
> parameters in the ".prj" file. There is three possibilities:
>
> - makefile.wine
> - configure.in/Makefile.am > configure script.
> - modifying params in ".prj" files.
>
> I will change the parameters in ".prj" files, then generated
> makefiles should work for both MinGW and Wine.
> Though, I don't have a solution for -fvtable-thunks.
There shouldn't be a any need for modifying parameters in .prj files.
Look, what we can do is this:
ifdef WINE
CC = winegcc
CXX = winegcc -xc++
WRES = wrc
else
CC = g++
WRES = windres
endif
And then, to compile on Wine you just make sure you define WINE
before invoking make, like so:
WINE=1 make
or
make WINE=1
> About configuration files, I started a new project called
> MSYS Here, which is a MSYS loader. With it, MSYS can
> be launched from Windows Explorer, the same way than
> the "DOS Prompt Here" power toy.
Having a configure script can help, but let's get this one fixed
first. Once this works, we can look at the configuration stuff.
--
Dimi.
Dec. 31, 2002
Win2000 Conformance R3:
by Kye Lewis
Win2000 Conformance Tests Round 3:
dsound_test refused to run, complaining of a missing MSVCRTD.dll
shlwapi_test shreg gave what I consider to be a rather interesting string in it's error
Apart from that, a lot of things were just like WinXP, except for the advapi32_test registry.
=== advapi32_test ===
registry: 56 tests executed, 0 marked as todo, 0 failures.
=== dsound_test ===
"The dynamic link library MSVCRTD.dll could not be found in the specified path"
=== gdi32_test ===
generated: 2786 tests executed, 0 marked as todo, 0 failures.
=== kernel32_test ===
alloc: 58 tests executed, 0 marked as todo, 0 failures.
atom: 229398 tests executed, 0 marked as todo, 0 failures.
codepage: 2 tests executed, 0 marked as todo, 0 failures.
directory: 51 tests executed, 0 marked as todo, 0 failures.
drive: 160 tests executed, 0 marked as todo, 0 failures.
environ: 39 tests executed, 0 marked as todo, 0 failures.
file: 487239 tests executed, 0 marked as todo, 0 failures.
format_msg: 58 tests executed, 0 marked as todo, 0 failures.
generated: 609 tests executed, 0 marked as todo, 0 failures.
locale.c:154: Test failed: GetTimeFormat got '' instead of '4'
locale.c:155: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:181: Test failed: GetTimeFormat got '8.@:56AM' instead of '8.@:56.@:AM'
locale.c:182: Test failed: GetTimeFormat: got 9 instead of 12
locale.c:190: Test failed: GetTimeFormat got '' instead of '3'
locale.c:191: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:474: Test failed: GetDateFormat got '5/4/2002' instead of '5/4/02'
locale.c:475: Test failed: GetDateFormat: got 9 instead of 7
locale.c:499: Test failed: GetDateFormat check DATE_YEARMONTH with null format expected ERROR_INVALID_FLAGS got return of '10' and error of '0'
locale: 109 tests executed, 0 marked as todo, 9 failures.
path: 1730 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
process.c:378: Test failed: StartupInfoA:lpTitle expected kernel32_test.exe process, got C:\DOCUME~1\KYELEW~1\DESKTOP\WINETE~1\kernel32_test.exe
process.c:530: Test failed: StartupInfoA:lpTitle expected kernel32_test.exe process, got C:\DOCUME~1\KYELEW~1\DESKTOP\WINETE~1\kernel32_test.exe
process: 116 tests executed, 0 marked as todo, 2 failures.
thread: 112 tests executed, 0 marked as todo, 0 failures.
=== msvcrt_test ===
file: 2 tests executed, 0 marked as todo, 0 failures.
scanf: 8 tests executed, 0 marked as todo, 0 failures.
=== netapi32_test ===
access.c:110: Test failed: Bad Network Path: rc=0
access: 23 tests executed, 0 marked as todo, 1 failure.
apibuf: 15 tests executed, 0 marked as todo, 0 failures.
wksta: 14 tests executed, 0 marked as todo, 0 failures.
=== ntdll_test ===
error: 813 tests executed, 0 marked as todo, 0 failures.
rtlbitmap: 201 tests executed, 0 marked as todo, 0 failures.
rtlstr: 38 tests executed, 0 marked as todo, 0 failures.
=== oleaut32_test ===
safearray: 348 tests executed, 0 marked as todo, 0 failures.
vartest.c:1707:
======== Testing VarUI1FromXXX ========
vartest.c:1713:VarUI1FromI2: passing in NULL as return val makes it crash, need to write proper test.
vartest.c:1797:
======== Testing VarUI2FromXXX ========
vartest.c:1802:VarUI2FromI2: passing in NULL as return val makes it crash, needs to be fixed.
vartest.c:1873:
======== Testing VarUI4FromXXX ========
vartest.c:1876:VarUI4FromI2: passing in NULL as return val makes it crash, implement me.
vartest.c:1951:
======== Testing VarI1FromXXX ========
vartest.c:2004:
======== Testing VarI2FromXXX ========
vartest.c:2047:
======== Testing VarI4FromXXX ========
vartest.c:2091:
======== Testing VarR4FromXXX ========
vartest.c:2138:
======== Testing VarR8FromXXX ========
vartest.c:2158:
======== Testing VarDateFromXXX ========
vartest.c:2208: Test failed: VarDateFromStr([7]="0.49") got 0.0340278 instead of 0.034028
vartest.c:2208: Test failed: VarDateFromStr([8]="0.5") got 0.00347222 instead of 0.003472
vartest.c:2208: Test failed: VarDateFromStr([9]="0.51") got 0.0354167 instead of 0.035417
vartest.c:2208: Test failed: VarDateFromStr([34]=" 1 2 ") got 37653 instead of 35797
vartest.c:2215: Test failed: VarDateFromStr([35]="1,2,3") got 37653 instead of 37623
vartest.c:2215: Test failed: VarDateFromStr([36]="1 2 3") got 37653 instead of 37623
vartest.c:2215: Test failed: VarDateFromStr([37]="1,2, 3") got 37653 instead of 37623
vartest.c:2208: Test failed: VarDateFromStr([39]="1.2.3") got 0.0430903 instead of 0.04309
vartest.c:2208: Test failed: VarDateFromStr([69]=" 1999/ 11/21 11 :11:11am") got 36485.5 instead of 36485.5
vartest.c:2208: Test failed: VarDateFromStr([70]="11/11/1999 11:11:11Am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([71]="11/11/1999 11:11:11PM") got 36476 instead of 36476
vartest.c:2208: Test failed: VarDateFromStr([73]="11/11/1999 0:0:11am") got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([75]="11/11/1999 11:11:11am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([77]="11/11/1999 11:11AM") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([78]="11/11/1999 1AM") got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([80]="11/11/1999 11:11:11") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([89]="1 January 1999 11AM") got 36161.5 instead of 36161.5
vartest.c:2208: Test failed: VarDateFromStr([90]="4AM 11/11/1999") got 36475.2 instead of 36475.2
vartest.c:2208: Test failed: VarDateFromStr([109]="1.5") got 0.0451389 instead of 0.045139
vartest.c:2208: Test failed: VarDateFromStr([110]="2.5") got 0.0868056 instead of 0.086806
vartest.c:2208: Test failed: VarDateFromStr([111]="3.5") got 0.128472 instead of 0.128472
vartest.c:2208: Test failed: VarDateFromStr([112]="4.5") got 0.170139 instead of 0.170139
vartest.c:2223:
======== Testing VarBoolFromXXX ========
vartest.c:2283:
======== Testing VarBSTRFromXXX ========
vartest.c:2308: Test failed: d is 7.65432e+015, should be cvt. to 7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2315: Test failed: d is -7.65432e+015, should be cvt. to -7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2308: Test failed: d is 8.76543e+016, should be cvt. to 8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2315: Test failed: d is -8.76543e+016, should be cvt. to -8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2308: Test failed: d is 9.87654e+017, should be cvt. to 9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2315: Test failed: d is -9.87654e+017, should be cvt. to -9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2308: Test failed: d is 1.98765e+018, should be cvt. to 1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2315: Test failed: d is -1.98765e+018, should be cvt. to -1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2308: Test failed: d is 2.19877e+019, should be cvt. to 2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2315: Test failed: d is -2.19877e+019, should be cvt. to -2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2359: Test failed: d is 7.65432e+015, should be cvt. to 7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2365: Test failed: d is -7.65432e+015, should be cvt. to -7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2359: Test failed: d is 8.76543e+016, should be cvt. to 8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2365: Test failed: d is -8.76543e+016, should be cvt. to -8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2359: Test failed: d is 9.87654e+017, should be cvt. to 9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2365: Test failed: d is -9.87654e+017, should be cvt. to -9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2359: Test failed: d is 1.98765e+018, should be cvt. to 1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2365: Test failed: d is -1.98765e+018, should be cvt. to -1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2359: Test failed: d is 2.19877e+019, should be cvt. to 2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2365: Test failed: d is -2.19877e+019, should be cvt. to -2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2382: Test failed: d is 8.76543e+007, should be cvt. to 8.765432e+07, but return val is "8.765432E+07"
vartest.c:2388: Test failed: d is -8.76543e+007, should be cvt. to -8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2382: Test failed: d is 9.87654e+008, should be cvt. to 9.876543e+08, but return val is "9.876543E+08"
vartest.c:2388: Test failed: d is -9.87654e+008, should be cvt. to -9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2382: Test failed: d is 1.98765e+009, should be cvt. to 1.987654e+09, but return val is "1.987654E+09"
vartest.c:2388: Test failed: d is -1.98765e+009, should be cvt. to -1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2408: Test failed: d is 0.2345, should be cvt. to 0.2345001, but return val is "0.2345"
vartest.c:2432: Test failed: d is 654322, should be cvt. to 654322.2, but return val is "654322.3"
vartest.c:2438: Test failed: d is -654322, should be cvt. to -654322.2, but return val is "-654322.3"
vartest.c:2432: Test failed: d is 8.76543e+007, should be cvt. to 8.765432e+07, but return val is "8.765432E+07"
vartest.c:2438: Test failed: d is -8.76543e+007, should be cvt. to -8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2432: Test failed: d is 9.87654e+008, should be cvt. to 9.876543e+08, but return val is "9.876543E+08"
vartest.c:2438: Test failed: d is -9.87654e+008, should be cvt. to -9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2432: Test failed: d is 1.98765e+009, should be cvt. to 1.987654e+09, but return val is "1.987654E+09"
vartest.c:2438: Test failed: d is -1.98765e+009, should be cvt. to -1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2457: Test failed: should be '1/2/1900 8:09:36 AM', but is "2/01/1900 8:09:36 AM"
vartest.c:2463: Test failed: should be '2/20/1909 8:09:36 AM', but is "20/02/1909 8:09:36 AM"
vartest.c:2469: Test failed: should be '12/30/1900', but is "30/12/1900"
vartest.c:2475: Test failed: should be '12/30/1900 6:00:00 AM', but is "30/12/1900 6:00:00 AM"
vartest.c:2481: Test failed: should be '12/31/1903', but is "31/12/1903"
vartest.c:2487: Test failed: should be '12/31/1903 12:00:00 PM', but is "31/12/1903 12:00:00 PM"
vartest.c:2493:
======== Testing Hi-Level Variant API ========
vartest.c:2560: Test failed: should be 5/11/94 7:58:42 AM
vartest.c:2578:-------------- Testing different VARTYPES ----------------
vartest: 2281 tests executed, 0 marked as todo, 64 failures.
=== rpcrt4_test ===
rpc: 901 tests executed, 0 marked as todo, 0 failures.
=== shell32_test ===
generated: 272 tests executed, 0 marked as todo, 0 failures.
shlfileop.c:120: Test failed: Deletion was successful
shlfileop.c:122: Test failed: File should be removed
shlfileop.c:124: Test failed: Directory exists, but is not removed
shlfileop.c:129: Test failed: Directory removed
shlfileop.c:130: Test failed: Directory should be removed
shlfileop.c:132: Test failed: The requested file does not exist
shlfileop.c:286: Test failed: Files are copied to other directory
shlfileop.c:287: Test failed: The file is copied
shlfileop.c:316: Test failed: Files and directories are moved to directory
shlfileop.c:317: Test failed: The file is moved
shlfileop.c:318: Test failed: The directory is moved
shlfileop.c:319: Test failed: The file in subdirectory is moved
shlfileop: 121 tests executed, 0 marked as todo, 12 failures.
=== shlwapi_test ===
clist: 236 tests executed, 0 marked as todo, 0 failures.
generated: 19 tests executed, 0 marked as todo, 0 failures.
shreg.c:79: Test failed: RegCreateKeyA failed
shreg.c:105: Test failed: SHGetValueA failed
shreg.c:106: Test failed: (0123456789,bar\subdir1)
shreg.c:107: Test failed: (ffffffff)
shreg.c:112: Test failed: SHGetValueA failed
shreg.c:113: Test failed: (0123456789)
shreg.c:114: Test failed: (ffffffff)
shreg.c:139: Test failed: test4 RegOpenKey
shreg.c:149: Test failed: SHQueryValueExA failed
shreg.c:155: Test failed: SHQueryValueExA failed
shreg.c:156: Test failed: (3435973836)
shreg.c:163: Test failed: SHQueryValueExA failed
shreg.c:164: Test failed: (6,24)
shreg.c:170: Test failed: SHQueryValueExA failed
shreg.c:171: Test failed: (6,43)
shreg.c:181: Test failed: (6)
shreg.c:183: Test failed: (3435973836)
shreg.c:184: Test failed: (6,24)
shreg.c:193: Test failed: ERROR_MORE_DATA
shreg.c:195: Test failed: (6,43)
shreg.c:196: Test failed: (3435973836)
shreg.c:204: Test failed: Expected ERROR_MORE_DATA
shreg.c:205: Test failed: (0123456789)
shreg.c:206: Test failed: (0123456789)
shreg.c:207: Test failed: (39,43)
shreg.c:208: Test failed: (3435973836)
shreg.c:217: Test failed: (6)
shreg.c:218: Test failed: (6,43)
shreg.c:219: Test failed: (3435973836)
shreg.c:125: Test failed: SHRegGetPathA failed
shreg.c:126: Test failed: (”•–—˜™Š›ŒŽŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ÷ØÙÚÛÜÝÞŸ
!????????,-./0123456789:;Ÿ{Ÿ{?{BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde????????????)
shreg.c:240: Test failed: didn't open dest
shreg: 36 tests executed, 0 marked as todo, 32 failures.
=== urlmon_test ===
generated: 4 tests executed, 0 marked as todo, 0 failures.
=== user32_test ===
class: 80 tests executed, 0 marked as todo, 0 failures.
generated: 1524 tests executed, 0 marked as todo, 0 failures.
sysparams.c:184:testing SPI_{GET,SET}BEEP
sysparams.c:306:testing SPI_{GET,SET}MOUSE
sysparams.c:374:testing SPI_{GET,SET}BORDER
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=1, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=0, value=
sysparams.c:139: Test failed: Missed a message: change_counter=2
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=7, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=20, value=
sysparams.c:406:testing SPI_{GET,SET}KEYBOARDSPEED
sysparams.c:139: Test failed: Missed a message: change_counter=2
sysparams.c:440:testing SPI_ICONHORIZONTALSPACING
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconSpacing, testValue=101, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconSpacing, testValue=32, value=
sysparams.c:480:testing SPI_{GET,SET}SCREENSAVETIMEOUT
sysparams.c:515:testing SPI_{GET,SET}SCREENSAVEACTIVE
sysparams.c:555:testing SPI_{GET,SET}KEYBOARDDELAY
sysparams.c:590:testing SPI_ICONVERTICALSPACING
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconVerticalSpacing, testValue=101, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconVerticalSpacing, testValue=32, value=
sysparams.c:635:testing SPI_{GET,SET}ICONTITLEWRAP
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconTitleWrap, testValue=1, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconTitleWrap, testValue=0, value=
sysparams.c:670:testing SPI_{GET,SET}MENUDROPALIGNMENT
sysparams.c:707:testing SPI_SETDOUBLECLKWIDTH
sysparams.c:738:testing SPI_SETDOUBLECLKHEIGHT
sysparams.c:770:testing SPI_SETDOUBLECLICKTIME
sysparams.c:817:testing SPI_SETMOUSEBUTTONSWAP
sysparams.c:880:testing SPI_{GET,SET}DRAGFULLWINDOWS
sysparams.c:915:testing SPI_{GET,SET}WORKAREA
sysparams.c:953:testing SPI_{GET,SET}SHOWSOUNDS
sysparams.c:997:testing SPI_{GET,SET}DESKWALLPAPER
sysparams: 318 tests executed, 0 marked as todo, 12 failures.
win.c:132:main window 000202D2 main2 000202C8 desktop 0001000C child 000202C6
win.c:148:created child 000202C4
win.c:161:created child of desktop 000302C4
win.c:171:created child of child 000402C4
win.c:181:created top-level 000502C4
win.c:191:created owned top-level 000602C4
win.c:201:created popup 000702C4
win.c:211:created owned popup 000802C4
win.c:221:created top-level owned by child 000902C4
win.c:227:created popup owned by desktop 000A02C4
win.c:233:created popup owned by child 000B02C4
win.c:239:created WS_CHILD popup 000C02C4
win.c:245:created owned WS_CHILD popup 000D02C4
win.c:250:testing parent changes
win.c:262:created child 000E02C4
win.c:288:created top-level 000F02C4
win.c:305:created popup 001002C4
win.c:322:created child 001102C4
win.c:339:created top-level 001202C4
win.c:348:created owned popup 001302C4
win.c:364:created owner 001402C4 and popup 000202C2
win.c:378:created owner 000302C2 and popup 001502C4
win.c:386:created owner 000402C2 and popup 001602C4
win: 428 tests executed, 0 marked as todo, 0 failures.
wsprintf: 4 tests executed, 0 marked as todo, 0 failures.
=== wininet_test ===
generated: 252 tests executed, 0 marked as todo, 0 failures.
(Lines removed...)
http.c:172: Test failed: InternetQueryDataAvailable failed
(Lines Removed...)
http: 28 tests executed, 0 marked as todo, 1 failure.
=== winmm_test ===
wave: 149 tests executed, 0 marked as todo, 0 failures.
=== ws2_32_test
sock: 286 tests executed, 0 marked as todo, 0 failures.
Thanks,
Kye Lewis
LinksOS Project Administrator
LinksOS Web Team Leader
kyethespy(a)softhome.net
(New email address! kyethespy(a)liquid2k.comwill still work, but please send all emails now to new email)
"640k ought to be enough for anyone!"
- Bill Gates
=================================
LinksOS: Linking you to the world
http://linksos.cjb.net
http://linksos.sourceforge.net/
http://linksos.oxygen-x.net/
Now with Bugzilla and phpBB installed :)
=================================
Dec. 31, 2002
Re: tests: ok(0,"foo") prints a '\n'!
by Francois Gouget
On Mon, 30 Dec 2002, Glen wrote:
> Francois Gouget wrote:
>
> >So if noone objects I'll send a patch that stops 'ok' from appending
> >this '\n', and adds a '\n' to all calls to ok. Actually, I would be
> >pretty happy if someone could come up with a perl script doing the
> >latter...
> >
> >
> I came up with a perl script that does what you want. It may not be
> perfect though so use it with caution.
Thanks for the script. It has some problems though:
* it modifies all files. This makes later cvs diff veeeery slow as it
has to check each and every file for differences
* it did not seem to match the 'ok' calls I have here
So I modified it and came up with the following which seems to be
working ok.
#!/usr/bin/perl
sub fix_oks
{
my $c_file = $_[0];
open(FILE_HANDLE, "<$c_file") or die("Error opening file $c_file\n");
my @contents = <FILE_HANDLE>;
close(FILE_HANDLE);
#add a new line to the end of any ok calls we find
my $modified;
my $line2;
foreach (@contents) {
if (/\bok\s*\((.*)\);\s*$/) {
my @components=split /,/,$1;
foreach my $item (@components) {
if ($item !~ /^\s*\".*\\n\"\s*$/) {
$item=~s/^(\s*\".*)(\"\s*)$/$1\\n$2/;
}
}
my $args=join(",",@components);
my $line=$_;
$line=~s/(\bok\s*\()(.*)(\);\s*)$/$1$args$3/;
if ($line ne $_) {
$_=$line;
$modified=1;
}
} elsif (/\bok\s*\(.*,\s*$/) {
$line2=1;
} else {
if ($line2) {
if (!/\".*\\n\"/) {
my $line=$_;
s/(\"([^\"]|\\\")*)(\")/$1\\n$3/;
$modified=1 if ($line ne $_);
}
}
$line2=undef;
}
}
if ($modified) {
open(FILE_HANDLE, ">$c_file");
print(FILE_HANDLE @contents);
close(FILE_HANDLE);
}
}
sub do_current_dir
{
my $i = 0;
#get the current directory's listing
opendir(DIR_HANDLE, ".") or die("Error opening $directory\n");
my @dir_listing = grep { !/^\.\.?/ } readdir(DIR_HANDLE);
closedir(DIR_HANDLE);
#for each file in the directory
while($dir_listing[$i])
{
#if a directory is found then do that one too
if(-d $dir_listing[$i])
{
chdir $dir_listing[$i];
do_current_dir();
chdir "..";
}
#if it's a c file then fix the calls to ok
if ($dir_listing[$i] =~ /\.c$/)
{
fix_oks($dir_listing[$i]);
}
$i++;
}
}
do_current_dir();
--
Francois Gouget fgouget(a)free.fr http://fgouget.free.fr/
Linux, WinNT, MS-DOS - also known as the Good, the Bad and the Ugly.
Dec. 31, 2002
Tests for URL functions in shlwapi
by Matthew Mastracci
I've started on some tests in shlwapi. I've added the following file to
the tests directory under shlwapi, but I can't include it in a cvs diff,
because I don't have write access to the repository.
Any hints as to diffing a new file cleanly w/o write access to CVS?
These tests compile and run clean with the last CVS tree I pulled (a few
days ago). I need to flesh them out, but it's a start.
Here is the diff for the Makefile.in:
cvs server: Diffing dlls/shlwapi/tests
Index: dlls/shlwapi/tests/Makefile.in
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/tests/Makefile.in,v
retrieving revision 1.2
diff -u -r1.2 Makefile.in
--- dlls/shlwapi/tests/Makefile.in 12 Nov 2002 01:13:10 -0000
1.2
+++ dlls/shlwapi/tests/Makefile.in 31 Dec 2002 20:51:24 -0000
@@ -8,7 +8,8 @@
CTESTS = \
clist.c \
generated.c \
- shreg.c
+ shreg.c \
+ url.c
@MAKE_TEST_RULES@
--- 8< ---
And the entire file for url.c in dlls/shlwapi/tests/url.c:
--- 8< ---
/* Unit test suite for Url* functions
*
* Copyright 2002 Matthew Mastracci
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
*/
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include "wine/test.h"
#include "wine/unicode.h"
#include "winbase.h"
#include "shlwapi.h"
#include "wininet.h"
const char* TEST_URL_1 = "http://www.winehq.org/tests?date=10/10/1923";
const char* TEST_URL_2 =
"http://localhost:8080/tests%2e.html?date=Mon%2010/10/1923";
const char* TEST_URL_3 =
"http://foo:bar(a)localhost:21/internal.php?query=x&return=y";
static LPWSTR GetWideString(const char* szString)
{
LPWSTR wszString = (LPWSTR) HeapAlloc(GetProcessHeap(), 0,
(2*INTERNET_MAX_URL_LENGTH) * sizeof(WCHAR));
MultiByteToWideChar(0, 0, szString, -1, wszString,
INTERNET_MAX_URL_LENGTH);
return wszString;
}
static void FreeWideString(LPWSTR wszString)
{
HeapFree(GetProcessHeap(), 0, wszString);
}
static void hash_url(const char* szUrl)
{
LPCSTR szTestUrl = szUrl;
LPWSTR wszTestUrl = GetWideString(szTestUrl);
DWORD cbSize = sizeof(DWORD);
DWORD dwHash1, dwHash2;
ok(UrlHashA(szTestUrl, (LPBYTE)&dwHash1, cbSize) == S_OK, "UrlHashA
didn't return S_OK");
ok(UrlHashW(wszTestUrl, (LPBYTE)&dwHash2, cbSize) == S_OK, "UrlHashW
didn't return S_OK");
FreeWideString(wszTestUrl);
ok(dwHash1 == dwHash2, "Hashes didn't compare");
}
static void test_UrlHash(void)
{
hash_url(TEST_URL_1);
hash_url(TEST_URL_2);
hash_url(TEST_URL_3);
}
static void test_url_part(const char* szUrl, DWORD dwPart, DWORD
dwFlags, char* szExpected)
{
CHAR szPart[INTERNET_MAX_URL_LENGTH];
WCHAR wszPart[INTERNET_MAX_URL_LENGTH];
LPWSTR wszUrl = GetWideString(szUrl);
LPWSTR wszConvertedPart;
DWORD dwSize;
dwSize = INTERNET_MAX_URL_LENGTH;
ok( UrlGetPartA(szUrl, szPart, &dwSize, dwPart, dwFlags) == S_OK,
"UrlGetPartA didn't return S_OK" );
dwSize = INTERNET_MAX_URL_LENGTH;
ok( UrlGetPartW(wszUrl, wszPart, &dwSize, dwPart, dwFlags) == S_OK,
"UrlGetPartW didn't return S_OK" );
wszConvertedPart = GetWideString(szPart);
ok(strcmpW(wszPart,wszConvertedPart)==0, "Strings didn't match between
ascii and unicode UrlGetPart!");
FreeWideString(wszUrl);
FreeWideString(wszConvertedPart);
ok(strcmp(szPart,szExpected)==0, "Expected %s, but got %s",
szExpected, szPart);
}
static void test_UrlGetPart(void)
{
test_url_part(TEST_URL_3, URL_PART_HOSTNAME, 0, "localhost");
test_url_part(TEST_URL_3, URL_PART_PORT, 0, "21");
test_url_part(TEST_URL_3, URL_PART_USERNAME, 0, "foo");
test_url_part(TEST_URL_3, URL_PART_PASSWORD, 0, "bar");
test_url_part(TEST_URL_3, URL_PART_SCHEME, 0, "http");
test_url_part(TEST_URL_3, URL_PART_QUERY, 0, "?query=x&return=y");
}
START_TEST(url)
{
test_UrlHash();
test_UrlGetPart();
}
--
Matthew Mastracci <matt(a)aclaro.com>
Dec. 31, 2002
Re: Visual-MinGW: Winelib patch
by Manu
Dimitrie O. Paun wrote:
> On December 31, 2002 01:52 pm, Manu wrote:
> > -mno-cygwin don't have much sense, since Visual-MinGW is built with
> > MinGW, under Windows, not Cygwin.
>
> Yes, I know, but -mno-cygwin should be a noop in that case. And if
> someone has cygwin installed, it will ensure that Visual-MinGW is
> not linked against the cygwin libs. I think we are in agreement here
> that Visual-MinGW should not depend on cygwin, no? If so, it makes
> sense to make this explicit with -mno-cygwin.
If MinGW doesn't complain, I agree.
> > > -- Do not use -pedantic, the code does not compile with gcc 3.2
> > > on Linux with that flag.
> > > -- Do not use -fvtable-thunks, it is deprecated in gcc 3.2
-fvtable-thunks is problematic. I use gcc version 2.95.3-6 (mingw special),
(faster, smaller binaries) -fvtable-thunks is required with gcc 2,
but gcc 3 outputs a warning.
Any workaround?
> > > Please apply this patch with 'patch -p1 < winelib.diff'.
> >
> > Apparently, the patch refuses to be applied, probably due to
> > the fact that I changed a few things in makefiles formating.
>
> OK, I can create a new patch for you.
>
> > BTW, makefiles are generated by Visual-MinGW, so I
> > suggest to add dedicated makefiles for Winelib.
> > eg: "makefile.wine".
>
> I can certainly do that, but then they will drift appart.
> The ideal situation is to support both mingw and wine out
> of the same makefile, so that everything "just works".
> If makefile is generated by Visual-MinGW, I think it's worth
> modifying Visual-MinGW so that it generates the right makefile
> for both mingw and wine, don't you think so?
Visual-MinGW generates the right makefile indeed, from user
parameters in the ".prj" file. There is three possibilities:
- makefile.wine
- configure.in/Makefile.am > configure script.
- modifying params in ".prj" files.
I will change the parameters in ".prj" files, then generated
makefiles should work for both MinGW and Wine.
Though, I don't have a solution for -fvtable-thunks.
About configuration files, I started a new project called
MSYS Here, which is a MSYS loader. With it, MSYS can
be launched from Windows Explorer, the same way than
the "DOS Prompt Here" power toy.
The sources are in the MinGW CVS:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mingw/utils/msys-here/
I'll have to write configuration files for it, as well as for WinUI,
which both Visual-MinGW and MSYS Here use.
I'm not an Autotools guru, but if it works, I'll also commit
configuration files to visual-mingw/winui. Then, I'll maybe write
configuration files for Visual-MinGW as well.
Currently, I'm not very good with Auto-stuff :(
Manu.
Dec. 31, 2002
Wine Packagers Guide
by Tom Wickline
I read over the Packagers Guide and here is a short list
of things that I found that need looking into. I could use some
help, input on this.
---
1.3. Terms used in this document
FHS 2.1 specifications
current version is 2.2
----
2.2. Requirements
Wine will not run without a configuration file.
Further, no default is currently provided by Wine.
this has changed ?
Wine does not completely support a complex multi-user installation ala
Windows NT, but it could fairly readily.
Does it now ?
----
3.1. Wine Static and Shareable Files
2 Shared Object Library Files
list 139 now there is 167 ?
3 Man Pages
No winemaker man page listed
4 Include Files
list 132 files is this list upto date ?
5 Documentation files.
Need to make a list of Doc files.
---
5.1. OpenLinux Sample
And why not a ditro independent Sample ?
1 Building the package
this section needs updated
Wine.ini ???
---
Chapter 6. Work to be done
Needs work.....
Tom
Dec. 31, 2002
Re: PathCreateFromUrlW
by Matthew Mastracci
Ok - this time for sure. Thanks for the diff tips.
Index: dlls/shlwapi/path.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/path.c,v
retrieving revision 1.27
diff -u -r1.27 path.c
--- dlls/shlwapi/path.c 19 Dec 2002 04:16:54 -0000 1.27
+++ dlls/shlwapi/path.c 31 Dec 2002 19:17:47 -0000
@@ -3154,12 +3154,39 @@
HRESULT WINAPI PathCreateFromUrlW(LPCWSTR lpszUrl, LPWSTR lpszPath,
LPDWORD pcchPath, DWORD dwFlags)
{
- FIXME("(%s,%p,%p,0x%08lx)-stub\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
+ static const WCHAR stemp[] = { 'f','i','l','e',':','/','/',0 };
+ LPWSTR pwszPathPart;
+ TRACE("(%s,%p,%p,0x%08lx)\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
if (!lpszUrl || !lpszPath || !pcchPath || !*pcchPath)
return E_INVALIDARG;
- return S_OK;
+ // Path of the form file://...
+ if (!strncmpW(lpszUrl, stemp, 7))
+ {
+ lpszUrl += 7;
+ }
+ // Path of the form file:...
+ else if (!strncmpW(lpszUrl, stemp, 5))
+ {
+ lpszUrl += 5;
+ }
+
+ // Ensure that path is of the form c:... or c|...
+ if (lpszUrl[1] != ':' && lpszUrl[1] != '|' && isalphaW(*lpszUrl))
+ return E_INVALIDARG;
+
+ HRESULT hr = UrlUnescapeW(lpszUrl, lpszPath, pcchPath, dwFlags);
+ if (lpszPath[1] == '|')
+ lpszPath[1] = ':';
+
+ for (pwszPathPart = lpszPath; *pwszPathPart; pwszPathPart++)
+ if (*pwszPathPart == '/')
+ *pwszPathPart = '\\';
+
+ TRACE("Returning %s\n",debugstr_w(lpszPath));
+
+ return hr;
}
/*************************************************************************
On Tue, 2002-12-31 at 11:01, Dimitrie O. Paun wrote:
> On December 31, 2002 02:06 pm, Matthew Mastracci wrote:
> > Sorry, here's the unified diff.
>
> Thanks! However, please generate the diff relative to wine's
> root, as I suggested:
>
> cvs diff -u dlls/shlwapi/path.c
>
> What you did is this:
>
> cd dlls/shlwapi; cvs diff -u path.c
>
> which just makes things harder for Alexandre when applying
> the patch.
--
Matthew Mastracci <matt(a)aclaro.com>
Dec. 31, 2002
Re: Visual-MinGW: Winelib patch
by Manu
Dimitrie O. Paun:
> Hi Manu,
>
> I got around getting Visual-MinGW to compile under Winelib.
> This patch touches only your makefile, and I hope the changes
> are not controversial:
> -- Use forward slash instead of backslash
Yes, logical.
> -- Explicitly list the DLLs you link against (shell32, comdlg32, advapi32)
> -- It make sense to specify -mno-cygwin
> For some reason, the code seems to require it. Please check
> that it works under Windows as well. If it does, if makes
> sense to have it as Visual-MinGW should not have a dependency
> on Cygwin, as far as I can tell.
-mno-cygwin don't have much sense, since Visual-MinGW is built with
MinGW, under Windows, not Cygwin.
> -- Do not use -pedantic, the code does not compile with gcc 3.2
> on Linux with that flag.
> -- Do not use -fvtable-thunks, it is deprecated in gcc 3.2
>
> Please apply this patch with 'patch -p1 < winelib.diff'.
Apparently, the patch refuses to be applied, probably due to
the fact that I changed a few things in makefiles formating.
BTW, makefiles are generated by Visual-MinGW, so I
suggest to add dedicated makefiles for Winelib.
eg: "makefile.wine".
That way, makefiles for Winelib won't be overwritten by
Visual-MinGW, and it will be more convenient to do some
changes in these.
Indeed, the best way would be to use a configure script.
Anyway, send me your makefiles, I'll commit these to cvs.
Then, you'll have full control on these.
> Note that I still need to get some changes integrated into the
> official Wine tree before you can actually compile Visual-MinGW
> under Winelib. The changes are not controversial, and I hope to
> get them in real soon. I will let you know when that happens.
Ok, thanks.
> Regardless, I think the changes I'm proposing are logical in and
> of themselves, so I figured they can be integrated regardless.
I applied your patch against src/rsrc.rc.
Manu.
Dec. 31, 2002
PathCreateFromUrlW
by Matthew Mastracci
Here's an implementation of PathCreateFromUrlW that helps Kazaa crash
later rather than sooner. :)
Can someone review this and check it in (if it doesn't require any
fixes)?
Index: path.c
===================================================================
RCS file: /home/wine/wine/dlls/shlwapi/path.c,v
retrieving revision 1.27
diff -r1.27 path.c
3157c3157,3159
< FIXME("(%s,%p,%p,0x%08lx)-stub\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
---
> static const WCHAR stemp[] = { 'f','i','l','e',':','/','/',0 };
> LPWSTR pwszPathPart;
> TRACE("(%s,%p,%p,0x%08lx)\n", debugstr_w(lpszUrl), lpszPath,
pcchPath, dwFlags);
3162c3164,3189
< return S_OK;
---
> // Path of the form file://...
> if (!strncmpW(lpszUrl, stemp, 7))
> {
> lpszUrl += 7;
> }
> // Path of the form file:...
> else if (!strncmpW(lpszUrl, stemp, 5))
> {
> lpszUrl += 5;
> }
>
> // Ensure that path is of the form c:... or c|...
> if (lpszUrl[1] != ':' && lpszUrl[1] != '|' && isalphaW(*lpszUrl))
> return E_INVALIDARG;
>
> HRESULT hr = UrlUnescapeW(lpszUrl, lpszPath, pcchPath, dwFlags);
> if (lpszPath[1] == '|')
> lpszPath[1] = ':';
>
> for (pwszPathPart = lpszPath; *pwszPathPart; pwszPathPart++)
> if (*pwszPathPart == '/')
> *pwszPathPart = '\\';
>
> TRACE("Returning %s\n",debugstr_w(lpszPath));
>
> return hr;
--
Matthew Mastracci <matt(a)aclaro.com>
Dec. 31, 2002
Re: Fixing include quotes (was: Re: conformance test for ShellExecute)
by Dimitrie O. Paun
On December 31, 2002 06:41 am, Patrik Stridvall wrote:
> I think it is better than Alexandre runs
> winapi_cleanup --include-quotes
> himself if he thinks it does the correct things.
Well, that's cool, but your original message gave the impression
that this is still a work in progress not ready to be used.
Which it seems is the wrong impression. Just let Alexandre know
to run the above mentioned command after applying your patch,
that will do.
BTW, did you compile Wine after this patch? If it compiles,
then I don't think there is any problem, no? In fact, if it
compiles we are *guaranteed* that the result is correct
because we don't have any duplicated header filename:
[dimi(a)dimi wine.src]$ find -name "*.h" | sed 's%.*/%%' | sort -u | uniq -c | sort -rn | head -1
1 zmouse.h
--
Dimi.
Dec. 31, 2002
Re: PathCreateFromUrlW
by Dimitrie O. Paun
On December 31, 2002 02:06 pm, Matthew Mastracci wrote:
> Sorry, here's the unified diff.
Thanks! However, please generate the diff relative to wine's
root, as I suggested:
cvs diff -u dlls/shlwapi/path.c
What you did is this:
cd dlls/shlwapi; cvs diff -u path.c
which just makes things harder for Alexandre when applying
the patch.
--
Dimi.
Dec. 31, 2002
Re: Visual-MinGW: Winelib patch
by Dimitrie O. Paun
On December 31, 2002 01:52 pm, Manu wrote:
> -mno-cygwin don't have much sense, since Visual-MinGW is built with
> MinGW, under Windows, not Cygwin.
Yes, I know, but -mno-cygwin should be a noop in that case. And if
someone has cygwin installed, it will ensure that Visual-MinGW is
not linked against the cygwin libs. I think we are in agreement here
that Visual-MinGW should not depend on cygwin, no? If so, it makes
sense to make this explicit with -mno-cygwin.
> > -- Do not use -pedantic, the code does not compile with gcc 3.2
> > on Linux with that flag.
> > -- Do not use -fvtable-thunks, it is deprecated in gcc 3.2
> >
> > Please apply this patch with 'patch -p1 < winelib.diff'.
>
> Apparently, the patch refuses to be applied, probably due to
> the fact that I changed a few things in makefiles formating.
OK, I can create a new patch for you.
> BTW, makefiles are generated by Visual-MinGW, so I
> suggest to add dedicated makefiles for Winelib.
> eg: "makefile.wine".
I can certainly do that, but then they will drift appart.
The ideal situation is to support both mingw and wine out
of the same makefile, so that everything "just works".
If makefile is generated by Visual-MinGW, I think it's worth
modifying Visual-MinGW so that it generates the right makefile
for both mingw and wine, don't you think so? This way, all
programs that use Visual-MinGW can benefit from this support.
--
Dimi.
Dec. 31, 2002
Re: PathCreateFromUrlW
by Dimitrie O. Paun
On December 31, 2002 01:46 pm, Matthew Mastracci wrote:
> Can someone review this and check it in (if it doesn't require any
> fixes)?
Please send uniffied diff patches like so:
cvs diff -u dlls/shlwapi/path.c
--
Dimi.
Dec. 31, 2002
Re: XP Conformance Test Results: Round 3...
by Chris Morgan
On Monday 30 December 2002 11:58 pm, Kye Lewis wrote:
> Windows XP Results: Round 3
> More tests added. Some Previous tests fail differently.. 1 regression in
> kernel32:locale as far as I can see...
>
...
These are just the new locale tests that were recently added that are failing.
The new tests cover almost every capability of GetTime/DateFormat(). There
is a patch in the queue that should fix a few of these issues, the rest
appear to be due to different behavior between NT4, W2k, WinME and WinXP.
The NT4 machine I use at work is where I did all of my testing, all of the
tests pass there. Once the latest locale patch is in I'll see if I can clean
up the rest of these errors. Both GetTime/DateFormat() are in better shape
than ever.
> locale.c:154: Test failed: GetTimeFormat got '' instead of '4'
> locale.c:155: Test failed: GetTimeFormat: got 1 instead of 2
> locale.c:181: Test failed: GetTimeFormat got '8.@:56AM' instead of
> '8.@:56.@:AM'
> locale.c:182: Test failed: GetTimeFormat: got 9 instead of 12
> locale.c:190: Test failed: GetTimeFormat got '' instead of '3'
> locale.c:191: Test failed: GetTimeFormat: got 1 instead of 2
> locale.c:474: Test failed: GetDateFormat got '5/4/2002' instead of
> '5/4/02'
> locale.c:475: Test failed: GetDateFormat: got 9 instead of 7
> locale.c:499: Test failed: GetDateFormat check DATE_YEARMONTH with null
> format expected ERROR_INVALID_FLAGS got return of '10' and error of '0'
> locale.c:530: Test failed: GetDateFormatW allowed flags and format
> locale.c:539: Test failed: GetDateFormatW did not permit null buffer
> pointer when counting.
>
> locale: 109 tests executed, 0 marked as todo, 11 failures.
> path: 1730 tests executed, 0 marked as todo, 0 failures.
Chris
Dec. 31, 2002
RE: Fixing include quotes (was: Re: conformance test for ShellExecute)
by Patrik Stridvall
> On December 30, 2002 03:41 pm, Patrik Stridvall wrote:
> > I'm already on it by improving winapi_cleanup.
>
> Very well, I've put you up for it instead. But make sure
> you don't over do it :)
Well, for the future I have planned grouping and automatic
addition of #ifdef HAVE_ and that sort of things. That is
overdoing a little perhaps but it will look nicer. :-)
> It seems to me the algo is simple
> (if the include can not be accessed relative to the dir in
> which the .c file is, change it to <>),
This is that it already does I think.
Please try it out yourself.
> and the operation
> is really one time.
It depends what you mean by one time. People make mistakes.
winapi_cleanup does C++ comment to C comment conversion
and this is "one time" as well...
> So if you have something that works,
> let's just get the patch (and here I'm referring to the one
> that does the actual "" to <> change) in, and check this off.
I think it is better than Alexandre runs
winapi_cleanup --include-quotes
himself if he thinks it does the correct things.
If not please inform me what the problem is.
In my tree, the patch is over 800k.
Dec. 31, 2002
Putty: Winelib support (take 2)
by Dimitrie O. Paun
On December 18, 2002 04:59 am, Simon Tatham wrote:
> That said, I also agree your revised patch is a huge amount better
> by comparison! So if you'd rather I wait until that's ready, I'm
> fine with that too.
Hi Simon,
I've managed to cleanup my changes. Currently only this 3-line patch
is required to compile putty under Winelib. The way it works is that
you simply uncomment 2 (two) lines in the Makefile.cyg file, and do
the usual:
make -f Makefile.cyg
to compile under Wine. This has the advantage that you don't need to
maintain a Wine-only Makefile that is quite likely to get bitrotten
sooner rather than later.
Please let me know if you need any other changes.
Happy New Year!
Index: mkfiles.pl
===================================================================
RCS file: /home/cvs/putty/mkfiles.pl,v
retrieving revision 1.38
diff -u -r1.38 mkfiles.pl
--- mkfiles.pl 30 Dec 2002 23:14:11 -0000 1.38
+++ mkfiles.pl 31 Dec 2002 09:31:29 -0000
@@ -293,6 +293,9 @@
"# TOOLPATH = /pkg/mingw32msvc/i386-mingw32msvc/bin/\n".
"CC = \$(TOOLPATH)gcc\n".
"RC = \$(TOOLPATH)windres\n".
+"# Uncomment the following two lines to compile under Winelib\n".
+"# CC = winegcc\n".
+"# RC = wrc\n".
"# You may also need to tell windres where to find include files:\n".
"# RCINC = --include-dir c:\\cygwin\\include\\\n".
"\n".
--
Dimi.
Dec. 31, 2002
Re: Make RECT === RECTL, fix compile warnings, use uniform format
by Dan Kegel
Dimitrie O. Paun wrote:
> On December 29, 2002 04:10 pm, Dan Kegel wrote:
>
>>(BTW it might worth looking into a change to debugrect() to get
>>its storage on the stack, in a local variable of the TRACE() macro.
>>That'd avoid possible thread clashes (if you have too many threads,
>>the current way debugrect() gets storage might break...))
>
>
> Yes, in theory the current implementation has that problem, but
> in practice is OK. And besides, it's for debugging only. But how
> can you get that local var without changing the current interface?
You could do something cheezy like
--- debug.h 2002-07-05 14:22:09.000000000 -0700
+++ debug.h.new 2002-12-31 00:01:33.000000000 -0800
@@ -80,6 +80,8 @@
#define __WINE_DPRINTF(dbcl,dbch) \
do { if(__WINE_GET_DEBUGGING(dbcl,(dbch))) { \
+ char __wine_dprintf_buf[2048]; \
+ char *__wine_dprintf_ptr = __wine_dprintf_buf; \
const char * const __dbch = (dbch); \
const enum __WINE_DEBUG_CLASS __dbcl = __WINE_DBCL##dbcl; \
__WINE_DBG_LOG
@@ -87,6 +89,8 @@
#define __WINE_DBG_LOG(...) \
wine_dbg_log( __dbcl, __dbch, __func__, __VA_ARGS__); } } while(0)
+#define debugrect(r) __debugrect((r), &__wine_dprintf_ptr)
+
#define __WINE_PRINTF_ATTR(fmt,args)
#else /* !__GNUC__ && !__SUNPRO_C */
BTW debugrect() isn't a great name... can't think of a snappy replacement offhand, though.
- Dan
--
Dan Kegel
Linux User #78045
http://www.kegel.com
Dec. 31, 2002
Re: File locking ... need info
by Dan Kegel
Bill Medland wrote:
> If you do intend working on it then you are going to have to address some of
> the following issues:
> 1. Windows region locking has different behaviour with regard to merging
> regions etc. than Unix.
> 2. Remember that fcntl locks are on the actual file, not on the handle; and
> closing one handle drops all the locks on all other handles to the same file.
> (I am being almost criminally lax with my wording here but it will do for
> now).
> 3. The timeouts are going to be an interesting task. However the structure of
> the wine server should help immensely
> 4. To the best of my knowledge SMB file systems don't handle it. No one has
> yet told me differenly on the several occasions I have tried to ask. (I know
> that Samba serves out locks to Windows machines successfully but if you put
> an fcntl lock on a file on a SMB share to the best of my knowledge it doesn't
> translate to an SMB lock request).
> 5. The whole issue of advisory and mandatory locking.
Ah, yes, file locking. I was one of the folks who advised Sun
as they were bringing file locking to Java (in "JSR-51"), and
we had some fun discussions about how to define file locking
in Java so it would map properly onto either Windows or Unix.
One thing I recall is that W. Richard Stevens has a nice
discussion of Unix locking in chapter 12 of "Advanced Programming
in the Unix environment", published 1993. It aged fairly well, I think,
and provides a bit of insight into how locking evolved -- and
some problems with mandatory locking (e.g. mandatory locking
didn't prevent ed from editing a file!) Note that mandatory
locking is not part of Posix (http://www.opengroup.org/onlinepubs/007904975/toc.htm)
JSR-51 decided to map Java file locks to mandatory locks on Windows,
and advisory locks on Unix. I'm afraid that's about the only
real option.
- Dan
--
Dan Kegel
Linux User #78045
http://www.kegel.com
Dec. 31, 2002
Visual-MinGW: Winelib patch
by Dimitrie O. Paun
Hi Manu,
I got around getting Visual-MinGW to compile under Winelib.
This patch touches only your makefile, and I hope the changes
are not controversial:
-- Use forward slash instead of backslash
-- Explicitly list the DLLs you link against (shell32, comdlg32, advapi32)
-- It make sense to specify -mno-cygwin
For some reason, the code seems to require it. Please check
that it works under Windows as well. If it does, if makes
sense to have it as Visual-MinGW should not have a dependency
on Cygwin, as far as I can tell.
-- Do not use -pedantic, the code does not compile with gcc 3.2
on Linux with that flag.
-- Do not use -fvtable-thunks, it is deprecated in gcc 3.2
Please apply this patch with 'patch -p1 < winelib.diff'.
Note that I still need to get some changes integrated into the
official Wine tree before you can actually compile Visual-MinGW
under Winelib. The changes are not controversial, and I hope to
get them in real soon. I will let you know when that happens.
Regardless, I think the changes I'm proposing are logical in and
of themselves, so I figured they can be integrated regardless.
Enjoy!
--- Visual-MinGW.orig/Projects/vmingw/src/makefile 2002-06-08 06:07:10.000000000 -0400
+++ Visual-MinGW/Projects/vmingw/src/makefile 2002-12-31 01:43:29.000000000 -0500
@@ -1,25 +1,25 @@
# Generated automatically by Visual-MinGW.
# http://visual-mingw.sourceforge.net/
-CC = g++
+CXX = g++
WRES = windres
DLLWRAP = dllwrap
CPPFLAGS = -D_WIN32_IE=0x0400
-LDBASEFLAGS = -mwindows -lcomctl32 -lole32
+LDBASEFLAGS = -mwindows -mno-cygwin -lcomctl32 -lole32 -lshell32 -lcomdlg32 -ladvapi32
INCDIRS = -I ../include
OPTIMIZ = -O2
STRIP = -s
ifeq ($(MAKECMDGOALS),debug)
-CXXFLAGS = -W -Wall -pedantic $(INCDIRS) -g -fvtable-thunks -fno-rtti
+CXXFLAGS = -W -Wall $(INCDIRS) -g -mno-cygwin -fno-rtti
LDFLAGS = $(LDBASEFLAGS)
else
-CXXFLAGS = -W -Wall -pedantic $(INCDIRS) $(OPTIMIZ) -fvtable-thunks -fno-rtti
+CXXFLAGS = -W -Wall $(INCDIRS) $(OPTIMIZ) -mno-cygwin -fno-rtti
LDFLAGS = $(STRIP) $(LDBASEFLAGS)
endif
-SRCDIR = .\src
-BINDIR = ..\bin
+SRCDIR = ./src
+BINDIR = ../bin
LIBDIRS =
%.o : %.rc
@@ -51,7 +51,7 @@
# Dependency rules
$(TARGET): $(OBJS)
- $(CXX) -o $(BINDIR)\visual-mingw.exe $(OBJS) $(INCDIRS) $(LIBDIRS) $(LDFLAGS)
+ $(CXX) -o $(BINDIR)/visual-mingw.exe $(OBJS) $(INCDIRS) $(LIBDIRS) $(LDFLAGS)
rsrc.o: rsrc.rc
--
Dimi.
Dec. 31, 2002
Re: Make RECT === RECTL, fix compile warnings, use uniform format
by Dimitrie O. Paun
On December 31, 2002 03:03 am, Dan Kegel wrote:
> +#define debugrect(r) __debugrect((r), &__wine_dprintf_ptr)
Yeah, that can work too, but it does increase stack usage by
quite a bit. But if we are to do this for RECTs only we don't
need as much space anyway... Nevertheless, it's an alternative
solution, and it does not require exporting more stuff out of
ntdll. Let's wait for Alexandre's take on it. :)
> BTW debugrect() isn't a great name... can't think of a snappy replacement
> offhand, though.
True, but it has the following nice caracteristics:
-- uses the debug prefix
-- easy to remember if we have the naming convention:
debug<struct-name-to-lower-case>
-- it is short
Would be nice to have such std functions for a bunch of structures,
like I did in listview.c. They are extremely handy, and can save you
quite a bit of time when you want to dump stuff out. And if more of
these become standard, a simple naming convention like this one pays.
Feel free to suggest something else though! :)
--
Dimi.
Dec. 31, 2002
Re: Make RECT === RECTL, fix compile warnings, use uniform format
by Dimitrie O. Paun
On December 29, 2002 04:10 pm, Dan Kegel wrote:
> (BTW it might worth looking into a change to debugrect() to get
> its storage on the stack, in a local variable of the TRACE() macro.
> That'd avoid possible thread clashes (if you have too many threads,
> the current way debugrect() gets storage might break...))
Yes, in theory the current implementation has that problem, but
in practice is OK. And besides, it's for debugging only. But how
can you get that local var without changing the current interface?
--
Dimi.
Dec. 31, 2002
Re: stricmp
by Dimitrie O. Paun
On December 30, 2002 02:53 pm, Shachar Shemesh wrote:
> It seems that stricmp is not available for winelib applications. Is this
> an intentional ommision, or just a missing implementation?
It is if you link it against msvcrt:
include/msvcrt/string.h:#define stricmp _stricmp
If you use winegcc to compile your winelib app, just add
-mno-cygwin
to the command line, and that will cause it to use msvcrt
instead of the native libc.
--
Dimi.
Dec. 31, 2002
Re: Fixing include quotes (was: Re: conformance test for ShellExecute)
by Dimitrie O. Paun
On December 30, 2002 03:41 pm, Patrik Stridvall wrote:
> I'm already on it by improving winapi_cleanup.
Very well, I've put you up for it instead. But make sure
you don't over do it :) It seems to me the algo is simple
(if the include can not be accessed relative to the dir in
which the .c file is, change it to <>), and the operation
is really one time. So if you have something that works,
let's just get the patch (and here I'm referring to the one
that does the actual "" to <> change) in, and check this off.
--
Dimi.
Dec. 31, 2002
XP Conformance Test Results: Round 3...
by Kye Lewis
Windows XP Results: Round 3
More tests added. Some Previous tests fail differently.. 1 regression in
kernel32:locale as far as I can see...
=== advapi32_test ===
registry.c:96: Test failed: value set to 'xxxxxxxxxx' instead of 'Te'
registry.c:97: Test failed: data set to 'xxxxxxx' instead of 'foobar'
registry.c:111: Test failed: data set to 'xxxxxxx' instead of 'foobar'
registry: 56 tests executed, 0 marked as todo, 3 failures.
=== dsound_test ===
dsound: 63 tests executed, 0 marked as todo, 0 failures.
=== gdi32_test ===
generated: 2786 tests executed, 0 marked as todo, 0 failures.
=== kernel32_test ===
alloc: 58 tests executed, 0 marked as todo, 0 failures.
atom: 229398 tests executed, 0 marked as todo, 0 failures.
codepage: 2 tests executed, 0 marked as todo, 0 failures.
directory: 51 tests executed, 0 marked as todo, 0 failures.
drive: 156 tests executed, 0 marked as todo, 0 failures.
environ: 39 tests executed, 0 marked as todo, 0 failures.
file: 487239 tests executed, 0 marked as todo, 0 failures.
format_msg: 58 tests executed, 0 marked as todo, 0 failures.
generated: 609 tests executed, 0 marked as todo, 0 failures.
locale.c:154: Test failed: GetTimeFormat got '' instead of '4'
locale.c:155: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:181: Test failed: GetTimeFormat got '8.@:56AM' instead of
'8.@:56.@:AM'
locale.c:182: Test failed: GetTimeFormat: got 9 instead of 12
locale.c:190: Test failed: GetTimeFormat got '' instead of '3'
locale.c:191: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:474: Test failed: GetDateFormat got '5/4/2002' instead of
'5/4/02'
locale.c:475: Test failed: GetDateFormat: got 9 instead of 7
locale.c:499: Test failed: GetDateFormat check DATE_YEARMONTH with null
format expected ERROR_INVALID_FLAGS got return of '10' and error of '0'
locale.c:530: Test failed: GetDateFormatW allowed flags and format
locale.c:539: Test failed: GetDateFormatW did not permit null buffer
pointer when counting.
locale: 109 tests executed, 0 marked as todo, 11 failures.
path: 1730 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
(identical lines removed.)
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
process.c:378: Test failed: StartupInfoA:lpTitle expected
kernel32_test.exe process, got
C:\DOCUME~1\Owner\DESKTOP\WINETE~1\kernel32_test.exe
process.c:530: Test failed: StartupInfoA:lpTitle expected
kernel32_test.exe process, got
C:\DOCUME~1\Owner\DESKTOP\WINETE~1\kernel32_test.exe
process: 116 tests executed, 0 marked as todo, 2 failures.
thread: 112 tests executed, 0 marked as todo, 0 failures.
file: 2 tests executed, 0 marked as todo, 0 failures.
=== msvcrt_test ===
scanf: 8 tests executed, 0 marked as todo, 0 failures.
=== netapi32_test ===
access.c:110: Test failed: Bad Network Path: rc=0
access: 23 tests executed, 0 marked as todo, 1 failure.
apibuf: 15 tests executed, 0 marked as todo, 0 failures.
wksta: 14 tests executed, 0 marked as todo, 0 failures.
=== ntdll_test ===
error: 813 tests executed, 0 marked as todo, 0 failures.
rtlbitmap: 224 tests executed, 0 marked as todo, 0 failures.
rtlstr: 38 tests executed, 0 marked as todo, 0 failures.
=== oleaut32_test ===
safearray.c:131: Test failed: SAC(20,1,[1,0]), result 8, expected 0
safearray.c:131: Test failed: SAC(21,1,[1,0]), result 8, expected 0
safearray.c:131: Test failed: SAC(37,1,[1,0]), result 4, expected 0
safearray.c:131: Test failed: SAC(38,1,[1,0]), result 4, expected 0
safearray: 348 tests executed, 0 marked as todo, 4 failures.
======== Testing VarUI1FromXXX ========
vartest.c:1713:VarUI1FromI2: passing in NULL as return val makes it
crash, need to write proper test.
vartest.c:1797:
======== Testing VarUI2FromXXX ========
vartest.c:1802:VarUI2FromI2: passing in NULL as return val makes it
crash, needs to be fixed.
vartest.c:1873:
======== Testing VarUI4FromXXX ========
vartest.c:1876:VarUI4FromI2: passing in NULL as return val makes it
crash, implement me.
vartest.c:1951:
======== Testing VarI1FromXXX ========
vartest.c:2004:
======== Testing VarI2FromXXX ========
vartest.c:2047:
======== Testing VarI4FromXXX ========
vartest.c:2091:
======== Testing VarR4FromXXX ========
vartest.c:2138:
======== Testing VarR8FromXXX ========
vartest.c:2158:
======== Testing VarDateFromXXX ========
vartest.c:2208: Test failed: VarDateFromStr([7]="0.49") got 0.0340278
instead of 0.034028
vartest.c:2208: Test failed: VarDateFromStr([8]="0.5") got 0.00347222
instead of 0.003472
vartest.c:2208: Test failed: VarDateFromStr([9]="0.51") got 0.0354167
instead of 0.035417
vartest.c:2208: Test failed: VarDateFromStr([34]=" 1 2 ") got 37258
instead of 35797
vartest.c:2208: Test failed: VarDateFromStr([39]="1.2.3") got 0.0430903
instead of 0.04309
vartest.c:2208: Test failed: VarDateFromStr([69]=" 1999/
11/21 11 :11:11am") got 36485.5 instead of 36485.5
vartest.c:2208: Test failed: VarDateFromStr([70]="11/11/1999
11:11:11Am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([71]="11/11/1999
11:11:11PM") got 36476 instead of 36476
vartest.c:2208: Test failed: VarDateFromStr([73]="11/11/1999 0:0:11am")
got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([75]="11/11/1999
11:11:11am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([77]="11/11/1999 11:11AM")
got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([78]="11/11/1999 1AM") got
36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([80]="11/11/1999 11:11:11")
got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([89]="1 January 1999 11AM")
got 36161.5 instead of 36161.5
vartest.c:2208: Test failed: VarDateFromStr([90]="4AM 11/11/1999") got
36475.2 instead of 36475.2
vartest.c:2208: Test failed: VarDateFromStr([109]="1.5") got 0.0451389
instead of 0.045139
vartest.c:2208: Test failed: VarDateFromStr([110]="2.5") got 0.0868056
instead of 0.086806
vartest.c:2208: Test failed: VarDateFromStr([111]="3.5") got 0.128472
instead of 0.128472
vartest.c:2208: Test failed: VarDateFromStr([112]="4.5") got 0.170139
instead of 0.170139
vartest.c:2223:
======== Testing VarBoolFromXXX ========
vartest.c:2283:
======== Testing VarBSTRFromXXX ========
vartest.c:2308: Test failed: d is 7.65432e+015, should be cvt. to
7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2315: Test failed: d is -7.65432e+015, should be cvt. to
-7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2308: Test failed: d is 8.76543e+016, should be cvt. to
8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2315: Test failed: d is -8.76543e+016, should be cvt. to
-8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2308: Test failed: d is 9.87654e+017, should be cvt. to
9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2315: Test failed: d is -9.87654e+017, should be cvt. to
-9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2308: Test failed: d is 1.98765e+018, should be cvt. to
1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2315: Test failed: d is -1.98765e+018, should be cvt. to
-1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2308: Test failed: d is 2.19877e+019, should be cvt. to
2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2315: Test failed: d is -2.19877e+019, should be cvt. to
-2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2359: Test failed: d is 7.65432e+015, should be cvt. to
7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2365: Test failed: d is -7.65432e+015, should be cvt. to
-7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2359: Test failed: d is 8.76543e+016, should be cvt. to
8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2365: Test failed: d is -8.76543e+016, should be cvt. to
-8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2359: Test failed: d is 9.87654e+017, should be cvt. to
9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2365: Test failed: d is -9.87654e+017, should be cvt. to
-9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2359: Test failed: d is 1.98765e+018, should be cvt. to
1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2365: Test failed: d is -1.98765e+018, should be cvt. to
-1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2359: Test failed: d is 2.19877e+019, should be cvt. to
2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2365: Test failed: d is -2.19877e+019, should be cvt. to
-2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2382: Test failed: d is 8.76543e+007, should be cvt. to
8.765432e+07, but return val is "8.765432E+07"
vartest.c:2388: Test failed: d is -8.76543e+007, should be cvt. to
-8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2382: Test failed: d is 9.87654e+008, should be cvt. to
9.876543e+08, but return val is "9.876543E+08"
vartest.c:2388: Test failed: d is -9.87654e+008, should be cvt. to
-9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2382: Test failed: d is 1.98765e+009, should be cvt. to
1.987654e+09, but return val is "1.987654E+09"
vartest.c:2388: Test failed: d is -1.98765e+009, should be cvt. to
-1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2408: Test failed: d is 0.2345, should be cvt. to 0.2345001,
but return val is "0.2345"
vartest.c:2432: Test failed: d is 654322, should be cvt. to 654322.2,
but return val is "654322.3"
vartest.c:2438: Test failed: d is -654322, should be cvt. to -654322.2,
but return val is "-654322.3"
vartest.c:2432: Test failed: d is 8.76543e+007, should be cvt. to
8.765432e+07, but return val is "8.765432E+07"
vartest.c:2438: Test failed: d is -8.76543e+007, should be cvt. to
-8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2432: Test failed: d is 9.87654e+008, should be cvt. to
9.876543e+08, but return val is "9.876543E+08"
vartest.c:2438: Test failed: d is -9.87654e+008, should be cvt. to
-9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2432: Test failed: d is 1.98765e+009, should be cvt. to
1.987654e+09, but return val is "1.987654E+09"
vartest.c:2438: Test failed: d is -1.98765e+009, should be cvt. to
-1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2493:
======== Testing Hi-Level Variant API ========
vartest.c:2560: Test failed: should be 5/11/94 7:58:42 AM
vartest.c:2578:-------------- Testing different VARTYPES
----------------
vartest: 2281 tests executed, 0 marked as todo, 55 failures.
=== rpcrt4_test ===
rpc: 901 tests executed, 0 marked as todo, 0 failures.
=== shell32_test ===
generated: 272 tests executed, 0 marked as todo, 0 failures.
shlfileop.c:120: Test failed: Deletion was successful
shlfileop.c:122: Test failed: File should be removed
shlfileop.c:124: Test failed: Directory exists, but is not removed
shlfileop.c:129: Test failed: Directory removed
shlfileop.c:130: Test failed: Directory should be removed
shlfileop.c:132: Test failed: The requested file does not exist
shlfileop.c:286: Test failed: Files are copied to other directory
shlfileop.c:287: Test failed: The file is copied
shlfileop.c:316: Test failed: Files and directories are moved to
directory
shlfileop.c:317: Test failed: The file is moved
shlfileop.c:318: Test failed: The directory is moved
shlfileop.c:319: Test failed: The file in subdirectory is moved
shlfileop: 121 tests executed, 0 marked as todo, 12 failures.
=== shlwapi_test ===
clist.c:367: Test failed: allowed bad element size
clist.c:372: Test failed: allowed adding a container
clist: 236 tests executed, 0 marked as todo, 2 failures.
generated: 19 tests executed, 0 marked as todo, 0 failures.
shreg.c:171: Test failed: (44,43)
shreg.c:195: Test failed: (44,43)
shreg.c:205: Test failed: ()
shreg.c:206: Test failed: ()
shreg.c:207: Test failed: (44,43)
shreg.c:218: Test failed: (44,43)
shreg.c:240: Test failed: didn't open dest
shreg: 39 tests executed, 0 marked as todo, 7 failures.
=== urlmon_test ===
generated: 4 tests executed, 0 marked as todo, 0 failures.
=== user32_test ===
class: 80 tests executed, 0 marked as todo, 0 failures.
generated: 1524 tests executed, 0 marked as todo, 0 failures.
Sysparams:
win: 428 tests executed, 0 marked as todo, 0 failures.
wsprintf: 4 tests executed, 0 marked as todo, 0 failures.
=== wininet_test ===
generated: 252 tests executed, 0 marked as todo, 0 failures.
(Lines removed.)
http.c:172: Test failed: InternetQueryDataAvailable failed
(Lots more lines removed.)
http: 25 tests executed, 0 marked as todo, 1 failure.
=== winmm_test ===
wave: 149 tests executed, 0 marked as todo, 0 failures.
=== ws2_32_test ===
sock: 128 tests executed, 0 marked as todo, 0 failures.
Thanks,
Kye Lewis
LinksOS Project Administrator
LinksOS Web Team Leader
kyethespy(a)softhome.net
(New email address! kyethespy(a)liquid2k.comwill still work, but please
send all emails now to new email)
"640k ought to be enough for anyone!"
- Bill Gates
=================================
LinksOS: Linking you to the world
http://linksos.cjb.net
http://linksos.sourceforge.net/
http://linksos.oxygen-x.net/
Now with Bugzilla and phpBB installed :)
=================================
Dec. 31, 2002
Windows 2000 Pro conformance test update
by Dave Miller
Here is an update using precompiled binaries from 12/28/02. Not that dsound test complains msvcrtd.dll is missing on my system, and so has not been tested. I think this covers everything else missing or different from what is shown on the status page.
C:\winetests>gdi32_test.exe generated
generated: 2786 tests executed, 0 marked as todo, 0 failures.
C:\winetests>kernel32_test.exe generated
generated: 609 tests executed, 0 marked as todo, 0 failures.
C:\winetests>kernel32_test.exe generated
generated: 609 tests executed, 0 marked as todo, 0 failures.
C:\winetests>kernel32_test.exe locale
locale.c:154: Test failed: GetTimeFormat got '' instead of '4'
locale.c:155: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:181: Test failed: GetTimeFormat got '8.@:56AM' instead of '8.@:56.@:AM'
locale.c:182: Test failed: GetTimeFormat: got 9 instead of 12
locale.c:190: Test failed: GetTimeFormat got '' instead of '3'
locale.c:191: Test failed: GetTimeFormat: got 1 instead of 2
locale.c:474: Test failed: GetDateFormat got '5/4/2002' instead of '5/4/02'
locale.c:475: Test failed: GetDateFormat: got 9 instead of 7
locale.c:499: Test failed: GetDateFormat check DATE_YEARMONTH with null format expected ERROR_INVALID_FLAGS got return of '10' and error of '0'
locale: 109 tests executed, 0 marked as todo, 9 failures.
C:\winetests>kernel32_test.exe path
path.c:514: Test failed: GetLongPathNameA: wrong return code, 97 instead of 42
path.c:881:TMP=C:\DOCUME~1\davidm\LOCALS~1\Temp
path.c:892:TMP=C:\WINNT
path.c:902:TMP=C:\
path.c:912:TMP=C:
path: 1730 tests executed, 0 marked as todo, 1 failure.
C:\winetests>kernel32_test.exe process
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
process.c:378: Test failed: StartupInfoA:lpTitle expected kernel32_test.exe process, got C:\winetests\kernel32_test.exe
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.process.c:530: Test failed: StartupInfoA:lpTitle expected kernel32_test.exe process, got C:\winetests\kernel32_test.exe
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
tests/process.c: 1 tests executed, 0 marked as todo, 0 failures.
process: 116 tests executed, 0 marked as todo, 2 failures.
C:\winetests>msvcrt_test.exe file
file: 2 tests executed, 0 marked as todo, 0 failures.
C:\winetests>msvcrt_test.exe scanf
scanf: 8 tests executed, 0 marked as todo, 0 failures.
C:\winetests>ntdll_test.exe error
error: 813 tests executed, 0 marked as todo, 0 failures.
C:\winetests>ntdll_test.exe generated
generated: 1279 tests executed, 0 marked as todo, 0 failures.
C:\winetests>ntdll_test.exe rtlbitmap
rtlbitmap: 201 tests executed, 0 marked as todo, 0 failures.
C:\winetests>ntdll_test.exe rtlstr
rtlstr: 38 tests executed, 0 marked as todo, 0 failures.
C:\winetests>oleaut32_test.exe safearray
safearray: 348 tests executed, 0 marked as todo, 0 failures.
C:\winetests>oleaut32_test.exe vartest
vartest.c:1707:
======== Testing VarUI1FromXXX ========
vartest.c:1713:VarUI1FromI2: passing in NULL as return val makes it crash, needto write proper test.
vartest.c:1797:
======== Testing VarUI2FromXXX ========
vartest.c:1802:VarUI2FromI2: passing in NULL as return val makes it crash, needs to be fixed.
vartest.c:1873:
======== Testing VarUI4FromXXX ========
vartest.c:1876:VarUI4FromI2: passing in NULL as return val makes it crash, implement me.
vartest.c:1951:
======== Testing VarI1FromXXX ========
vartest.c:2004:
======== Testing VarI2FromXXX ========
vartest.c:2047:
======== Testing VarI4FromXXX ========
vartest.c:2091:
======== Testing VarR4FromXXX ========
vartest.c:2138:
======== Testing VarR8FromXXX ========
vartest.c:2158:
======== Testing VarDateFromXXX ========
vartest.c:2208: Test failed: VarDateFromStr([7]="0.49") got 0.0340278 instead of 0.034028
vartest.c:2208: Test failed: VarDateFromStr([8]="0.5") got 0.00347222 instead of 0.003472
vartest.c:2208: Test failed: VarDateFromStr([9]="0.51") got 0.0354167 instead of 0.035417
vartest.c:2208: Test failed: VarDateFromStr([34]=" 1 2 ") got 37258 instead of 35797
vartest.c:2208: Test failed: VarDateFromStr([39]="1.2.3") got 0.0430903 insteadof 0.04309
vartest.c:2208: Test failed: VarDateFromStr([69]=" 1999/ 11/21 11 :11:11am") got 36485.5 instead of 36485.5
vartest.c:2208: Test failed: VarDateFromStr([70]="11/11/1999 11:11:11Am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([71]="11/11/1999 11:11:11PM") got 36476 instead of 36476
vartest.c:2208: Test failed: VarDateFromStr([73]="11/11/1999 0:0:11am") got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([75]="11/11/1999 11:11:11am") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([77]="11/11/1999 11:11AM") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([78]="11/11/1999 1AM") got 36475 instead of 36475
vartest.c:2208: Test failed: VarDateFromStr([80]="11/11/1999 11:11:11") got 36475.5 instead of 36475.5
vartest.c:2208: Test failed: VarDateFromStr([89]="1 January 1999 11AM") got 36161.5 instead of 36161.5
vartest.c:2208: Test failed: VarDateFromStr([90]="4AM 11/11/1999") got 36475.2 instead of 36475.2
vartest.c:2208: Test failed: VarDateFromStr([109]="1.5") got 0.0451389 instead of 0.045139
vartest.c:2208: Test failed: VarDateFromStr([110]="2.5") got 0.0868056 instead of 0.086806
vartest.c:2208: Test failed: VarDateFromStr([111]="3.5") got 0.128472 instead of 0.128472
vartest.c:2208: Test failed: VarDateFromStr([112]="4.5") got 0.170139 instead of 0.170139
vartest.c:2223:
======== Testing VarBoolFromXXX ========
vartest.c:2283:
======== Testing VarBSTRFromXXX ========
vartest.c:2308: Test failed: d is 7.65432e+015, should be cvt. to 7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2315: Test failed: d is -7.65432e+015, should be cvt. to -7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2308: Test failed: d is 8.76543e+016, should be cvt. to 8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2315: Test failed: d is -8.76543e+016, should be cvt. to -8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2308: Test failed: d is 9.87654e+017, should be cvt. to 9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2315: Test failed: d is -9.87654e+017, should be cvt. to -9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2308: Test failed: d is 1.98765e+018, should be cvt. to 1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2315: Test failed: d is -1.98765e+018, should be cvt. to -1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2308: Test failed: d is 2.19877e+019, should be cvt. to 2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2315: Test failed: d is -2.19877e+019, should be cvt. to -2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2359: Test failed: d is 7.65432e+015, should be cvt. to 7.65432198765432e+15, but return val is "7.65432198765432E+15"
vartest.c:2365: Test failed: d is -7.65432e+015, should be cvt. to -7.65432198765432e+15, but return val is "-7.65432198765432E+15"
vartest.c:2359: Test failed: d is 8.76543e+016, should be cvt. to 8.76543219876543e+16, but return val is "8.76543219876543E+16"
vartest.c:2365: Test failed: d is -8.76543e+016, should be cvt. to -8.76543219876543e+16, but return val is "-8.76543219876543E+16"
vartest.c:2359: Test failed: d is 9.87654e+017, should be cvt. to 9.87654321987654e+17, but return val is "9.87654321987654E+17"
vartest.c:2365: Test failed: d is -9.87654e+017, should be cvt. to -9.87654321987654e+17, but return val is "-9.87654321987654E+17"
vartest.c:2359: Test failed: d is 1.98765e+018, should be cvt. to 1.98765432198765e+18, but return val is "1.98765432198765E+18"
vartest.c:2365: Test failed: d is -1.98765e+018, should be cvt. to -1.98765432198765e+18, but return val is "-1.98765432198765E+18"
vartest.c:2359: Test failed: d is 2.19877e+019, should be cvt. to 2.19876543219877e+19, but return val is "2.19876543219877E+19"
vartest.c:2365: Test failed: d is -2.19877e+019, should be cvt. to -2.19876543219877e+19, but return val is "-2.19876543219877E+19"
vartest.c:2382: Test failed: d is 8.76543e+007, should be cvt. to 8.765432e+07,but return val is "8.765432E+07"
vartest.c:2388: Test failed: d is -8.76543e+007, should be cvt. to -8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2382: Test failed: d is 9.87654e+008, should be cvt. to 9.876543e+08,but return val is "9.876543E+08"
vartest.c:2388: Test failed: d is -9.87654e+008, should be cvt. to -9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2382: Test failed: d is 1.98765e+009, should be cvt. to 1.987654e+09,but return val is "1.987654E+09"
vartest.c:2388: Test failed: d is -1.98765e+009, should be cvt. to -1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2408: Test failed: d is 0.2345, should be cvt. to 0.2345001, but return val is "0.2345"
vartest.c:2432: Test failed: d is 654322, should be cvt. to 654322.2, but return val is "654322.3"
vartest.c:2438: Test failed: d is -654322, should be cvt. to -654322.2, but return val is "-654322.3"
vartest.c:2432: Test failed: d is 8.76543e+007, should be cvt. to 8.765432e+07,but return val is "8.765432E+07"
vartest.c:2438: Test failed: d is -8.76543e+007, should be cvt. to -8.765432e+07, but return val is "-8.765432E+07"
vartest.c:2432: Test failed: d is 9.87654e+008, should be cvt. to 9.876543e+08,but return val is "9.876543E+08"
vartest.c:2438: Test failed: d is -9.87654e+008, should be cvt. to -9.876543e+08, but return val is "-9.876543E+08"
vartest.c:2432: Test failed: d is 1.98765e+009, should be cvt. to 1.987654e+09,but return val is "1.987654E+09"
vartest.c:2438: Test failed: d is -1.98765e+009, should be cvt. to -1.987654e+09, but return val is "-1.987654E+09"
vartest.c:2493:
======== Testing Hi-Level Variant API ========
vartest.c:2560: Test failed: should be 5/11/94 7:58:42 AM
vartest.c:2578:-------------- Testing different VARTYPES ----------------
vartest: 2281 tests executed, 0 marked as todo, 55 failures.
C:\winetests>shell32_test.exe generated
generated: 272 tests executed, 0 marked as todo, 0 failures.
C:\winetests>shlwapi_test.exe clist
clist: 236 tests executed, 0 marked as todo, 0 failures.
C:\winetests>shlwapi_test.exe generated
generated: 19 tests executed, 0 marked as todo, 0 failures.
C:\winetests>urlmon_test.exe generated
generated: 4 tests executed, 0 marked as todo, 0 failures.
C:\winetests>user32_test.exe generated
generated: 1524 tests executed, 0 marked as todo, 0 failures.
C:\winetests>user32_test.exe win
win.c:132:main window 001F00FC main2 001E0104 desktop 0001000C child 001E0108
win.c:148:created child 001C00BA
win.c:161:created child of desktop 001D00BA
win.c:171:created child of child 001E00BA
win.c:181:created top-level 001F00BA
win.c:191:created owned top-level 002000BA
win.c:201:created popup 002100BA
win.c:211:created owned popup 002200BA
win.c:221:created top-level owned by child 002300BA
win.c:227:created popup owned by desktop 002400BA
win.c:233:created popup owned by child 002500BA
win.c:239:created WS_CHILD popup 002600BA
win.c:245:created owned WS_CHILD popup 002700BA
win.c:250:testing parent changes
win.c:262:created child 002800BA
win.c:288:created top-level 002900BA
win.c:305:created popup 002A00BA
win.c:322:created child 002B00BA
win.c:339:created top-level 002C00BA
win.c:348:created owned popup 002D00BA
win.c:364:created owner 002E00BA and popup 001D011A
win.c:378:created owner 001E011A and popup 002F00BA
win.c:386:created owner 001F011A and popup 003000BA
win: 428 tests executed, 0 marked as todo, 0 failures.
C:\winetests>user32_test.exe sysparams
sysparams.c:184:testing SPI_{GET,SET}BEEP
sysparams.c:306:testing SPI_{GET,SET}MOUSE
sysparams.c:374:testing SPI_{GET,SET}BORDER
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=1, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=0, value=
sysparams.c:139: Test failed: Missed a message: change_counter=2
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=7, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=BorderWidth, testValue=20, value=
sysparams.c:406:testing SPI_{GET,SET}KEYBOARDSPEED
sysparams.c:139: Test failed: Missed a message: change_counter=2
sysparams.c:440:testing SPI_ICONHORIZONTALSPACING
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconSpacing, testValue=101, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconSpacing, testValue=32, value=
sysparams.c:480:testing SPI_{GET,SET}SCREENSAVETIMEOUT
sysparams.c:515:testing SPI_{GET,SET}SCREENSAVEACTIVE
sysparams.c:555:testing SPI_{GET,SET}KEYBOARDDELAY
sysparams.c:590:testing SPI_ICONVERTICALSPACING
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconVerticalSpacing, testValue=101, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconVerticalSpacing, testValue=32, value=
sysparams.c:635:testing SPI_{GET,SET}ICONTITLEWRAP
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconTitleWrap, testValue=1, value=
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=IconTitleWrap, testValue=0, value=
sysparams.c:670:testing SPI_{GET,SET}MENUDROPALIGNMENT
sysparams.c:707:testing SPI_SETDOUBLECLKWIDTH
sysparams.c:738:testing SPI_SETDOUBLECLKHEIGHT
sysparams.c:770:testing SPI_SETDOUBLECLICKTIME
sysparams.c:817:testing SPI_SETMOUSEBUTTONSWAP
sysparams.c:880:testing SPI_{GET,SET}DRAGFULLWINDOWS
sysparams.c:915:testing SPI_{GET,SET}WORKAREA
sysparams.c:953:testing SPI_{GET,SET}SHOWSOUNDS
sysparams.c:997:testing SPI_{GET,SET}DESKWALLPAPER
sysparams.c:170: Test failed: Wrong value in registry: subKey=Control Panel\Desktop, valName=Wallpaper, testValue=, value=(None)
sysparams: 318 tests executed, 0 marked as todo, 13 failures.
C:\winetests>wininet_test.exe generated
generated: 252 tests executed, 0 marked as todo, 0 failures.
C:\winetests>wininet_test.exe http
<Ouput snipped>
http: 24 tests executed, 0 marked as todo, 0 failures.
Dec. 30, 2002