Часть 1. log viewer: Давайте за чем-нибудь следить! :-)

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

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

А реализовано всё это так:
  1. logViewerProperties.py - файл с параметрами и настройками log viewer_а
  2. logViewerManager.py - класс, который создаёт и управляет потоками, которые непостредственно и следят за лог файлами
  3. logViewer.py - класс, который непостредственно следит за логами

Диаграмма классов:


исходники на sourceforge.net


Если это Вам интересно, то:
  • смело используйте идею, реализацию;
  • давайте идеи по улучшению, реализации.