Bug 1086

Summary: Тест к extrac32
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: ОбщееAssignee: Виталий Перов <vitperov>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: kondratyuk, mibori, vostok
Version: 1.0.9   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 1217    
Attachments: Скрипт, создающий 4 тестовых cab-файла
Скрипт, создающий 4 тестовых cab-файла
Скрипт, создающий 5 тестовых cab-файлов
Набор из 5 готовых тестовых cab-файлов
Набор тестов для extrac32.exe
Скрипт, создающий 6 тестовых cab-файлов
Набор из 6 готовых тестовых cab-файлов
Тестирующий скрипт(bat-файл)

Description Vitaly Lipatov 2008-01-21 14:56:25 MSK
К extrac32 (как и к любой программе в таком случае) должен иметься тест,
написанный для cmd, и набор cab-файлов.
Тест должен запускать extrac32 во всех возможных вариантах с cab-файлами
различного содержимого (вложенных каталогов и пр.).
Особенно обратить внимание, что маска для файла должна быть *.* (обязательно с точкой).
Comment 1 Виталий Перов 2008-03-06 19:34:14 MSK
Ошибку принял
Comment 2 Виталий Перов 2008-03-06 20:16:11 MSK
Работаю над созданием тестового cab-файла
Comment 3 Виталий Перов 2008-03-07 18:19:30 MSK
Created attachment 298 [details]
Скрипт, создающий 4 тестовых cab-файла

Скрипт, создающий 4 тестовых cab-файла:
- Пустой cab-файл
- cab-файл, содержащий только файлы
- cab-файл, содержащий только один пустой файл
- cab-файл, содержащий файлы и директории
Comment 4 Виталий Перов 2008-03-07 19:22:05 MSK
Created attachment 299 [details]
Скрипт, создающий 4 тестовых cab-файла

Скрипт, создающий 4 тестовых cab-файла:
- Пустой cab-файл
- cab-файл, содержащий только файлы
- cab-файл, содержащий только один пустой
файл
- cab-файл, содержащий файлы и директории
Comment 5 Виталий Перов 2008-03-08 16:52:44 MSK
заметил, что когда файл лежит внутри cab-файла в test-dir\dir1\file3.txt, то при вызове:
extrac32.exe \dir1\file3.txt  
extract32 его не находит.
Привльно надо вызывать без указания директории
extrac32.exe file3.txt
Тогда всё работает.

А вот теперь возникает вопрос: а если у нас есть файлы с одинаковыми именами лежащие в разных директориях?

Попробую протестить этот вариант
Comment 6 Виталий Перов 2008-03-08 17:20:02 MSK
Created attachment 300 [details]
 Скрипт, создающий 5 тестовых cab-файлов

Добавлен 5-й тестовый cab-файл, который содержит 2 файла с однинаковыми именами
Comment 7 Виталий Перов 2008-03-08 17:33:02 MSK
Created attachment 301 [details]
Набор из 5 готовых тестовых cab-файлов
Comment 8 Виталий Перов 2008-03-08 18:42:32 MSK
файл test5.cab
в нём 2 файла:
test-cab\file.txt
test-cab\dir1\file.txt

extrac32.exe /Y test5.cab *.* распаковывает 2 фала (как и должно быть)
extrac32.exe /Y test5.cab file.txt тоже распаковывает 2 фала
Но не получается распаковать какой-то 1 конкретный файл
Пробовал комманды:
extrac32.exe /Y test5.cab cab-test\dir1\file.txt
extrac32.exe /Y test5.cab dir1\file.txt
- пишут, что файл не найден
Comment 9 Виталий Перов 2008-03-08 18:53:54 MSK
Created attachment 302 [details]
Набор тестов для extrac32.exe

Скрипт не проверяет наличия наличия тестовых cab-файлов. Они должны лежать в текущей директории. test1.cab .... test5.cab
Comment 10 Константин Кондратюк 2008-03-08 20:43:59 MSK
Мы по этим тестам сможем полностью проверить наш extrac32 и доделать его до уровня виндового? Если так, то очень хорошо.
Хотя впоследствии придётся как-то преобразовывать это в вайновские автотесты.
Comment 11 Виталий Перов 2008-03-09 10:48:57 MSK
(In reply to comment #10)
> Мы по этим тестам сможем полностью
> проверить наш extrac32 и доделать его до уровня
> виндового? Если так, то очень хорошо.
> Хотя впоследствии придётся как-то
> преобразовывать это в вайновские
> автотесты.
> 

Насчёт полностью - вряд ли можно что-то полностью протестировать.
Наверняка я что-то не предусмотрел.
Думаю, что в ходе тестирования могут возникнуть новые идеи. Тогда можно будет без проблем добавить ещё несколько тестов.
Comment 12 Анатолий Лютин 2008-03-11 15:30:25 MSK
На самом деле автотесты тут ни к чему, для таких программ в wine никто unit-тесты не делает. То есть эти тесты для наших внутренних целей + изучение устройства window-ого extrac32. Но когда программу будем проталкивать в cvs, есть смысл сделать багу "Нет аналога extrac32" и туда приложить эти тесты, вместе с патчем. Это ускорит принятие программы в cvs.
Comment 13 Константин Кондратюк 2008-03-11 15:55:50 MSK
Да, действитвительно, нет автотестов в programs. Тогда оставляем этот вариант, и он нам должен помочь пропихнуть extrac32. Тест в wine-etersoft-devel/extrac32
Comment 14 Виталий Перов 2008-03-17 17:09:06 MSK
Сделал немного не правильно:
Я предполагал, не существует cab-файла, имеющего внутри только файлы, но не имеющего директории, поэтому Все файлы у меня были внутри папки test-dir.

Сейчас надо проверить может ли cab-файл содержать файлы без единой папки
Comment 15 Виталий Перов 2008-03-17 17:51:26 MSK
Проверил. Саb-файл может содержать файлы, но не содержать папок.
Comment 16 Виталий Перов 2008-03-17 18:09:11 MSK
Created attachment 322 [details]
Скрипт, создающий 6 тестовых cab-файлов

Сами тесты:
1) Пустой cab-файл
2) cab-файл, содержащий только файлы (они находятся внутри директории test-dir)
3) cab содержит только один пустой файл, который находится внутри директории test-dir
4) cab-файл, содержащий только один пустой
файл (он находятся внутри директории test-dir)
5) cab-файл, содержащий файлы и директории
6) саb-файл, содержащий только 1 файл, и не содержащий ни одной директории
Comment 17 Виталий Перов 2008-03-17 18:27:26 MSK
Created attachment 323 [details]
Набор из 6 готовых тестовых cab-файлов

Готовые тестовые cab-файлы.
При желании можно написать программу, которая сама создаёт файлы без помощи cabarc.exe
Но думаю, что лучше потом, при написании вайновскиx тестов для extrac32, включить туда код, который сам создаёт и удаляет тестовые файлы
Comment 18 Виталий Перов 2008-03-17 20:34:44 MSK
Осталось ещё написать сами тесты с использованием test6.cab
Comment 19 Виталий Перов 2008-03-18 14:14:40 MSK
Created attachment 326 [details]
Тестирующий скрипт(bat-файл)

Добавлен тест, проверяющий ситуацию, когда в cab-файле нет ни одной директории