RECT

Материал из Etersoft wiki
Перейти к: навигация, поиск
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Remote Etersoft CIFS Tester

RECT - Быстрый старт




Краткое описание

Remote Etersoft CIFS Tester (RECT) - это набор программных пакетов, позволяющих тестировать реализации сетевых файловых систем (в первую очередь CIFS, откуда и название) в различных окружениях. Основные требования:


  • переносимость: возможность производить тестирование в различных окружениях и проверять совместную работу программ из различных окружений;
  • воспроизводимость: повторный запуск того же теста должен быть легко осуществим и приводить к тем же результатом;
  • автоматизируемость: возможность автоматического запуска набора тестов (regressions);
  • расширяемость: возможность легко добавления тестов, тестируемых функций, платформ и окружений.


Среда тестирования

Основой для среды тестирования являются два и более компьютеров, объединенных в защищенную от внешних угроз локальную сеть. "Защищенность" означает, что среда не предъявляет особых требований по безопасности (аутентификации и авторизации) для запускаемых сервисов.


На каждый из компьютеров, участвующих в тестировании, устанавливается т.н. slave - сервис, задача которого - имитировать работу различных программ. Сервис предоставляет набор достаточно низкоуровневых функций по работе с файлами (открыть/закрыть, чтение, запись, блокировки и т.п.), а также имеет возможности по подключению/отключению сетевых ресурсов, (мы их будем часто называть шАрами). Каждый слэйв реализует базовый функционал, что позволяет писать не зависящие от платформы тесты, а также может реализовывать специфичные для платформы дополнительные методы.


Одна из машин - master (мы будем часто называть его клиент по аналогии с парой терминов слэйв - сервер) - отдает слейвам команды и получает результат их выполнения. Для взаимодействия между мастером и слейвами используется ZeroC Ice - мощное средство объектно-ориентированного RPC.


Особенности реализации

Slave'ы предполагается разрабатывать на языке C++, с минимальными зависимостями от сторонних библиотек ("ничего кроме Ice"). Это должно облегчить перенос слейва на различные платформы.


Для упрощения работы тестировщика и снижения порога вхождения master разрабатывается на языке Python, на основе стандартного фреймворка unittest.


Текущее состояние дел

Разработан и протестирован slave для Linux.


Разработан и протестирован (на машинах с ALTLinux-based OS с различными ядрами) пакет тестов.


Документация

Документация ведется на данной Wiki. Описание тестов находится в директории docs (см. http://git.etersoft.ru/people/kipruss/packages/rect-tests.git/ ).


Файл RECT-tests.tex состоит из “шапки“ и подключаемого файла tests.tex, который генерируется из докстрингов в тестах (поэтому и документ на английском языке) при помощи запуска файла generateTeX.py из директории tests:


Генерация документации для тестов в DVI, PDF и HTML форматы осуществляется запуском файлов (в директории docs), соответственно: generateDVI, generatePDF, generateHTML. Не забудьте установить необходимые пакеты (относящиеся к latex)


Затем, описания после ручного ввода появляются на странице RECT - Описания тестов.

Разделы

Быстрый старт

Серверная часть

Клиентская часть

Тесты

Описания тестов

Вывод результатов

Результаты тестирования

Запуск установленных тестов



Ссылки

Тест блокировок для NFS4: http://nfsv4.bullopensource.org/tools/tests/locktest.php


winelocktest из состава WINE@Etersoft: см. http://etersoft.ru/wine/manual


Testing a filesystem with the ping_pong tool: http://wiki.samba.org/index.php/Ping_pong