WINE/Разработчику/ТестированиеДоступа
Материал из Русский WINE
Тестирование файлового доступа
Нами разработан автоматический тест, показывающий ситуацию в WINE с блокировками и режимами разделения файлов.
Вот результат работы в случае отсутствия каких-либо блокировок:
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W
S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W
G_R VX CX VX CX CX CX CX CX CX
S_R
G_R CX CX CX VX CX VX CX CX CX
S_W
G_R VX CX VX VX CX VX VX CX VX
S_R|W
G_W CX VX VX CX CX CX CX CX CX
S_R
G_W CX CX CX CX VX VX CX CX CX
S_W
G_W CX VX VX CX VX VX CX VX VX
S_R|W
G_R|W CX CX VX CX CX CX CX CX CX
S_R
G_R|W CX CX CX CX CX VX CX CX CX
S_W
G_R|W CX CX VX CX CX VX CX CX VX
S_R|W
Вот эталонный результат работы (то, что мы видим в Windows и в WINE под одним пользователем):
.
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W
S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W
G_R VL . VL . . . . . .
S_R
G_R . . . VL . VL . . .
S_W
G_R VL . VL VL . VL VL . VL
S_R|W
G_W . VL VL . . . . . .
S_R
G_W . . . . VL VL . . .
S_W
G_W . VL VL . VL VL . VL VL
S_R|W
G_R|W . . VL . . . . . .
S_R
G_R|W . . . . . VL . . .
S_W
G_R|W . . VL . . VL . . VL
S_R|W
И вот текущий результат:
.
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W
S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W
G_R VX CX VX CX CX CX CX CX CX
S_R
G_R CX CX CX VX CX VX CX CX CX
S_W
G_R VX CX VX VX CX VX VX CX VX
S_R|W
G_W . VX VX . . . . . .
S_R
G_W . . . . VL VL . . .
S_W
G_W . VX VX . VL VL . VL VL
S_R|W
G_R|W CX CX VX CL CL CL CL CL CL
S_R
G_R|W CX CX CX CL CL VL CL CL CL
S_W
G_R|W CX CX VX CL CL VL CL CL VL
S_R|W
19.09.2005: И после исправления ошибки
.
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W
S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W
G_R lVX l. lVX l. l. l. l. l. l.
S_R
G_R l. l. l. lVX l. lVX l. l. l.
S_W
G_R lVX l. lVX lVX l. lVX lVX l. lVX
S_R|W
G_W l. lVX lVX l. l. l. l. l. l.
S_R
G_W l. l. l. l. lVL lVL l. l. l.
S_W
G_W l. lVX lVX l. lVL lVL l. lVL lVL
S_R|W
G_R|W l. l. lVX l. l. l. l. l. l.
S_R
G_R|W l. l. l. l. l. lVL l. l. l.
S_W
G_R|W l. l. lVX l. l. lVL l. l. lVL
S_R|W
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W
S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W
G_R lVX l. lVX l. l. l. l. l. l.
S_R
G_R l. l. l. lVX l. lVX l. l. l.
S_W
G_R lVX l. lVX lVX l. lVX lVX l. lVX
S_R|W
G_W l. lVX lVX l. l. l. l. l. l.
S_R
G_W l. l. l. l. lVL lVL l. l. l.
S_W
G_W l. lVX lVX l. lVL lVL l. lVL lVL
S_R|W
G_R|W l. l. lVX l. l. l. l. l. l.
S_R
G_R|W l. l. l. l. l. lVL l. l. l.
S_W
G_R|W l. l. lVX l. l. lVL l. l. lVL
S_R|W
Расшифровка:
V - такой совместный доступ возможен и это правильно
L - блокировка работает (то есть попытка одновременного доступа одной и той же области не удалась.
X - не сработала блокировка (спокойно установили)
C - возможен совместный доступ, но это противоречит правилам