2013/11/18 Jactry Zeng <jactry92@xxxxxxxxx>: > 我用 wine shell32_test-stripped.exe.so shlfileop 没有这个错误: > shlfileop.c:482: Test failed: Icon Index Modified > shlfileop.c:489: Test failed: Icon Index Modified > shlfileop.c:626: Test failed: Expected 1026 or ERROR_FILE_NOT_FOUND, got 3 > shlfileop.c:655: Test failed: Expected 1026 or ERROR_FILE_NOT_FOUND, got 3 > shlfileop.c:660: Test failed: Expected test1.txt to exist 在wine下跑测试应该用make test,展开出来就是: ../../../tools/runtest -q -P wine -T ../../.. -M shell32.dll -p shell32_test.exe.so shlfileop.c && touch shlfileop.ok 用这种方法跑测试,-P wine 会指定platform相关的环境变量,这样shell32_test.exe.so 就会知道当前是在Wine上运行,碰到todo_wine 的时候就知道要做特殊处理。 如果直接用 wine shell32_test.exe.so shlfileop.c 的方法运行, shell32_test.exe.so 就会误认为当前是在Windows上运行,这样所有的todo_wine 都会fail。 可以研究一下相关的代码自己得出这个发现。 -- Regards, Qian Hong - http://www.winehq.org