[Wine-devel] ole32/tests: test for incorrect storage creation (eterbug #6846)

amorozov на etersoft.ru amorozov на etersoft.ru
Ср Мар 2 00:13:22 MSK 2011


В сообщении от 1 марта 2011 roman написал(a):
>  ole32/tests: test for incorrect storage creation (eterbug #6846)

Вообще, я этот патч уже комментировал. Не очень понял, зачем его отправлять в 
wine-patches при имеющихся недостатках.

> Задача-минимум для теста - продемонстрировать полезность изменений,
> внесённых патчем
>
> commit b28eaf6776abe068416bb020856b095f972c149c
> Author: Alexander Morozov <amorozov на etersoft.ru>
> Date:   Wed Jan 26 20:39:47 2011 +0300
>
>     ole32: Always create new header (eterbug #6749).
>
> Тест должен завершаться успешно (или по крайней мере часть входящих в него
> ok()) при наличии данного патча. Без него должна выдаваться ошибка(и).
> Патч делает так, чтобы _всегда_ записывался magic и обнулялись все поля
> заголовка перед их заполнением. То есть тест как минимум должен проверять
> magic и обнуление какого-нибудь поля.
> Заполняются ли корректно в wine все поля, я не знаю, но скорее всего да.
> Или те, что заполняются не так, не очень важны.
>
> По поводу приаттаченного патча.
> +    static const BYTE pWordBuffer[]
> Возможно, стоит переименовать. Название какое-то странное, при чём здесь
> Word? +    GetHGlobalFromILockBytes( ilb, hMem );
> Тут должно быть &hMem. Функции нужен указатель на HGLOBAL.
> http://msdn.microsoft.com/en-us/library/aa379140(v=vs.85).aspx
> В результате у тебя опять идёт сравнение с каким-то случайным набором байт.
> +    pFileBuffer = GlobalLock( hMem );
> GlobalUnlock тоже надо сделать потом.
> +    ok( !memcmp( pFileBuffer, pWordBuffer, 8 ), "Incorrect storage
> creation! \n");
> Пробелы после ok( и перед \n не нужны, восклицательный знак в сообщении об
> ошибке не нужен, вроде бы нигде в соседних тестах восклицательные знаки в
> сообщениях не пишут.


Подробная информация о списке рассылки Wine-devel