К extrac32 (как и к любой программе в таком случае) должен иметься тест, написанный для cmd, и набор cab-файлов. Тест должен запускать extrac32 во всех возможных вариантах с cab-файлами различного содержимого (вложенных каталогов и пр.). Особенно обратить внимание, что маска для файла должна быть *.* (обязательно с точкой).
Ошибку принял
Работаю над созданием тестового cab-файла
Created attachment 298 [details] Скрипт, создающий 4 тестовых cab-файла Скрипт, создающий 4 тестовых cab-файла: - Пустой cab-файл - cab-файл, содержащий только файлы - cab-файл, содержащий только один пустой файл - cab-файл, содержащий файлы и директории
Created attachment 299 [details] Скрипт, создающий 4 тестовых cab-файла Скрипт, создающий 4 тестовых cab-файла: - Пустой cab-файл - cab-файл, содержащий только файлы - cab-файл, содержащий только один пустой файл - cab-файл, содержащий файлы и директории
заметил, что когда файл лежит внутри cab-файла в test-dir\dir1\file3.txt, то при вызове: extrac32.exe \dir1\file3.txt extract32 его не находит. Привльно надо вызывать без указания директории extrac32.exe file3.txt Тогда всё работает. А вот теперь возникает вопрос: а если у нас есть файлы с одинаковыми именами лежащие в разных директориях? Попробую протестить этот вариант
Created attachment 300 [details] Скрипт, создающий 5 тестовых cab-файлов Добавлен 5-й тестовый cab-файл, который содержит 2 файла с однинаковыми именами
Created attachment 301 [details] Набор из 5 готовых тестовых cab-файлов
файл 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 - пишут, что файл не найден
Created attachment 302 [details] Набор тестов для extrac32.exe Скрипт не проверяет наличия наличия тестовых cab-файлов. Они должны лежать в текущей директории. test1.cab .... test5.cab
Мы по этим тестам сможем полностью проверить наш extrac32 и доделать его до уровня виндового? Если так, то очень хорошо. Хотя впоследствии придётся как-то преобразовывать это в вайновские автотесты.
(In reply to comment #10) > Мы по этим тестам сможем полностью > проверить наш extrac32 и доделать его до уровня > виндового? Если так, то очень хорошо. > Хотя впоследствии придётся как-то > преобразовывать это в вайновские > автотесты. > Насчёт полностью - вряд ли можно что-то полностью протестировать. Наверняка я что-то не предусмотрел. Думаю, что в ходе тестирования могут возникнуть новые идеи. Тогда можно будет без проблем добавить ещё несколько тестов.
На самом деле автотесты тут ни к чему, для таких программ в wine никто unit-тесты не делает. То есть эти тесты для наших внутренних целей + изучение устройства window-ого extrac32. Но когда программу будем проталкивать в cvs, есть смысл сделать багу "Нет аналога extrac32" и туда приложить эти тесты, вместе с патчем. Это ускорит принятие программы в cvs.
Да, действитвительно, нет автотестов в programs. Тогда оставляем этот вариант, и он нам должен помочь пропихнуть extrac32. Тест в wine-etersoft-devel/extrac32
Сделал немного не правильно: Я предполагал, не существует cab-файла, имеющего внутри только файлы, но не имеющего директории, поэтому Все файлы у меня были внутри папки test-dir. Сейчас надо проверить может ли cab-файл содержать файлы без единой папки
Проверил. Саb-файл может содержать файлы, но не содержать папок.
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 файл, и не содержащий ни одной директории
Created attachment 323 [details] Набор из 6 готовых тестовых cab-файлов Готовые тестовые cab-файлы. При желании можно написать программу, которая сама создаёт файлы без помощи cabarc.exe Но думаю, что лучше потом, при написании вайновскиx тестов для extrac32, включить туда код, который сам создаёт и удаляет тестовые файлы
Осталось ещё написать сами тесты с использованием test6.cab
Created attachment 326 [details] Тестирующий скрипт(bat-файл) Добавлен тест, проверяющий ситуацию, когда в cab-файле нет ни одной директории