http://bugs.winehq.org/show_bug.cgi?id=28216
Summary: shell32/shlfolder.c test always fails on ubuntu 10.04? Product: Wine Version: 1.3.27 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: shell32 AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
(Not quite the same as bug 27729.)
shell32/shlfolder.ok succeeds for me on my ubuntu 11.04 boxes, but always fails for me on my one ubuntu 10.04 box, even after I do 'apt-get install gettext' to get past non bug 28208. Log shows:
../../../tools/runtest -q -P wine -M shell32.dll -T ../../.. -p shell32_test.exe.so shlfolder.c && touch shlfolder.ok fixme:shdocvw:IEParseDisplayNameWithBCW stub: 0x0 L"http:\yyy" (nil) 0x32fc78 fixme:shdocvw:IEParseDisplayNameWithBCW stub: 0x0 L"xx:yyy" (nil) 0x32fc78 err:shell:HCR_GetFolderAttributes should be called for simple PIDL's only! shlfolder.c:2386: Test failed: SHCreateItemFromParsingName returned 0
The test creates the file c:/users/dank/Desktop/testfile, then looks for it with some arcane shell folder API, and is unhappy when it actually finds the file.
+shell,+file trace attached.
The test function in question is test_SHCreateShellItem(). I can make the test succeed by inserting the line SetCurrentDirectoryA("c:\"); at the top of the function, or by editing test_ITEMIDLIST_format() and inserting a return before it calls SetCurrentDirectoryW().
So there seems to be something fragile in the shlfolder tests with respect to the current directory. No idea why this only shows up on ubuntu 10.04 (on my i7 test box).
http://bugs.winehq.org/show_bug.cgi?id=28216
--- Comment #1 from Dan Kegel dank@kegel.com 2011-08-28 12:58:59 CDT --- Created an attachment (id=36136) --> (http://bugs.winehq.org/attachment.cgi?id=36136) +shell,+file log, with annotations, ending at error
https://bugs.winehq.org/show_bug.cgi?id=28216
--- Comment #2 from Austin English austinenglish@gmail.com --- I had this problem on Fedora 19. Tracking down a different problem (cinnamon showing my $HOME on my desktop, I fixed this by editing: [austin@localhost tests]$ cat ~/.config/user-dirs.dirs # This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit the line you're # interested in. All local changes will be retained on the next run # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. # XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/" XDG_TEMPLATES_DIR="$HOME/" XDG_PUBLICSHARE_DIR="$HOME/" XDG_DOCUMENTS_DIR="$HOME/" XDG_MUSIC_DIR="$HOME/" XDG_PICTURES_DIR="$HOME/" XDG_VIDEOS_DIR="$HOME/" [austin@localhost tests]$
if $XDG_DESKTOP_DIR is set to $HOME, it will fail. Setting it to $HOME/Desktop, it works fine.
I'm not sure if the test should require a desktop folder, so I'll leave it to someone else to fix.
https://bugs.winehq.org/show_bug.cgi?id=28216
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|shell32/shlfolder.c test |shell32/shlfolder.c test |always fails on ubuntu |always fails if |10.04? |$XDG_DESKTOP_DIR = $HOME
--- Comment #3 from Austin English austinenglish@gmail.com --- After further testing, it appears as long as it's set to some existing directory, it's fine. If it's set to $HOME, though, it fails.
https://bugs.winehq.org/show_bug.cgi?id=28216
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fgouget@codeweavers.com Keywords| |source, testcase