README файл для тестового набора OLVER

Этот файл описывает процесс сборки и запуска тестового набора.
Если вы установили скомпилированную версию тестового набора,
то вы можете пропустить секцию "Сборка тестов".

Все необходимые команды указаны относительно корневого каталога тестового набора
В случае уже скомпилированного пакета это /opt/lsb/test/olver-core.

Содержание

  1. Требования к программному и аппаратному обеспечению
  2. Сборка тестового набора
  3. Проведение тестирования
  4. Генерация отчета о тестировании
  5. Просмотр результатов тестирования
  6. Возможные проблемы при сборке



  1. Требования к программному и аппаратному обеспечению

    В настоящий момент тестовый набор OLVER Core поддерживает архитектуры IA32, IA64, x86_64, s390, s390x, PPC32, PPC64.

    Следующий список содержит дистрибутивы операционной системы Linux на которых проводилась
    отладка тестового набора, все обнаруженные ошибки стандарта и реализаций были задокументированы
    и занесены в базу данных известных ошибок:

    • Debian GNU/Linux 4.0 (etch) на архитектурах IA32, IA64.
    • Debian GNU/Linux 5.0.3 (lenny) на архитектуре x86_64.
    • Moblin release 2.0 на архитектуре IA32.
    • Moblin release 2.1 на архитектуре IA32.
    • openSuSE 11.2 на архитектуре x86_64.
    • RedHat Enterprise Linux 4 Update 2 на архитектурах IA32 и x86_64.
    • Red Hat Enterprise Linux Server release 5.4 (Tikanga) на архитектуре x86_64.
    • SuSE Linux Enterprise Server 10.0 на архитектурах IA32, IA64, PPC32, PPC64, s390, s390x.
    • SuSE Linux Enterprise Server 11.0 на архитектурах IA32, x86_64.
    • Ubuntu 9.04 на архитектуре IA32.
    • Ubuntu 9.10 на архитектуре IA32.
    • Fedora release 8 (Werewolf) на архитектуре IA32.
    • Fedora release 10 (Cambridge) на архитектуре x86_64.
    • Fedora release 12 (Constantine) на архитектуре IA32.

    Для сборки и запуска тестового набора должны быть выполнены дополнительные
    требования к программному обеспечению, которые описаны в секциях,
    "Сборка тестового набора" и "Проведение тестирования", соответственно.

  2. Сборка тестового набора

    Для успешной сборки OLVER Core необходимо наличие следующих компонентов системы:
    1. LSB 3.1 Software Development Kit (SDK). Его можно скачать на http://www.linux-foundation.org/en/Downloads
    2. GNU C/C++ Compiler 3.3.5 или выше
    3. Java Runtime Environment версии 5 или выше (предпочтительно IBM или Sun); при этом путь к исполняемому файлу 'java' должен присутствовать в переменной PATH.
    4. autoconf
    5. automake
    6. libtool
    7. ncurses-devel

    Непосредственно перед сборкой необходимо запустить скрипт, который проведет необходимые приготовления для работы тестового набора. Вам будет предложено указать архитектуру тестируемой системы, а также учетную запись пользователя, от имени которого выполняется тестирование.

      ./configure.sh

    Запуск процесса сборки должен быть произведен от имени пользователя выбранного ранее

      ./build_conf_tests.sh

    Для корректного тестирования функциональности ncurses и подсистемы работы с процессами потребуются полномочия администратора системы. В том случае если необходимых полномочий у текущего пользователя нет, на одном из этапов сборки будет выведен запрос на ввод пароля.

    По окончании компиляции требуется произвести установку тестовых данных

      ./install.sh

    Сборка занимает приблизительно 25 минут на Athlon XP 2700+.

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

      ./clean_tests.sh

  3. Проведение тестирования

    Обязательными компонентами для запуска тестов являются

      1. LSB runtime loader: /lib/ld-lsb.so.3. Если это файла нет, то нужно установить LSB 3.1 Software Development Kit (SDK). Его можно скачать на http://www.linux-foundation.org/en/Downloads

      2. интерпретатор языка Perl.

    Предусмотрено два варианта генерации отчета о результатах тестирования.
    Первый предполагает наличие

      3a. Java Runtime Environment версии 5 или выше (предпочтительно от IBM или Sun); при этом путь к исполняемому файлу 'java' должен присутствовать в переменной PATH.

    и является предпочтительным. Второй использует исключительно интерпретатор perl.

    Внимание! Встроенные в тестовый набор модули perl чрезвычайно медлительны,
    поэтому настоятельно рекомендуется установить дополнительно один из модулей основанных на XML::SAX

       3b. Perl-модуль, имеющий XML::SAX интерфейс

    Запуск тестов производится при помощи скрипта в директории bin

      ./bin/olver_run_tests [ testplan [ timeout ] ]

      testplan представляет собой список тестовых сценариев, которые будут запущены.
      Имеется возможность исключить ненужные сценарии

        #str_scenario (не будет выполняться)
        integer_scenario (будет выполняться)

      По умолчанию используется ./bin/testplan

      timeout отражает максимальное время прохождения сценария в секундах,
      по истечении которого будет произведен переход к слудующему элементу testplan.
      По умолчанию равен 30 минутам.

    Каталог в котором будут сохранены трассы тестов и сгенерированы отчеты может быть
    задан следующим образом:

      export OLVER_REPORT_DIR=...

    По умолчанию: /var/opt/lsb/test/olver-core/<timestamp>

  4. Генерация отчета о тестировании

    Отчет о тестировании может быть сгенерирован независимо от запуска тестов при помощи скрипта

      ./bin/olver_report

    Необходимо предварительно указать директорию с трассами тестов в качестве параметра окружения

      export REPORT_DIR=...

    В противном случае будет использована последняя директория в /var/opt/lsb/test/olver-core

    Отчеты будут записаны в директорию с трассами.

    Дополнительно можно указать имя парсера, который необходимо использовать

      export OLVER_XML_PARSER=

  5. Просмотр результатов тестирования

    Отчеты о тестировании формируются в каталоге

      /var/opt/lsb/test/olver-core/<timestamp>

    При помощи вашего браузера вы можете просмотреть следующие отчеты:

      summary.htm - суммарный отчет
      report/index.html - детальный отчет об обнаруженных ошибках
      result.htm - отчет о покрытии формальных требований
      tet/tjreport.log - упрощенный отчет в формате tet
      tet/nice_tet.log - суммарный отчет в формате tet

    Детальную информацию о тестовых отчетах см. в документе
    http://linuxtesting.ru/downloads/olver-reports-rus.pdf

  6. Известные проблемы при сборке

    1. SuSE. Не собирается агент. Необходимо создать символические ссылки:
        a) libz
            su
            cd /lib
            ln -s libz.so.1 libz.so
        b) libpam
            su
            cd /lib
            ln -s libpam.so.0 libpam.so
        c) libncurses
            su
            cd /lib
            ln -s libncurses.so.5 libncurses.so
     
    2. SuSE. Не собирается olverterm, т.к. отсутствует tic (terminfo compiler).
       Нужно установить пакет ncurses-devel.
     
    3. Mandriva. Не собирается агент. Необходимо создать символические ссылки:
        a) libpam
            su
            cd /lib
            ln -s libpam.so.0 libpam.so
     
    4. Если возникают ошибки при сборке модели тестового набора, то
       убедитесь, что командой 'java' вы используете именно Sun или IBM Java
       Runtime Environment 5 или более поздний.
     
    5. На некоторых системах может возникнуть проблема со сборкой
       агента,так как функция clog10() некорректно определена следующим образом
            extern double complex clog10(void);
       в заголовочных файлах LSB этих систем. Это проблема LSB 3.1
       Software Development Kit (SDK). Для сборки OLVER на этих системах
       поправьте в файле /opt/lsb/include/complex.h определение функции clog10
       следующим образом
            extern double complex clog10(double complex);