Рабочий стол > DL Руководство пользователя > Модификация testlib для DL > Просмотр
Модификация testlib для DL Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Добавлен Гуленко Алексей, отредактирован Гуленко Алексей Mar 08, 2017
Метки: 
(нет)

Вы просматриваете старую версию (v. 3) этой страницы.

Библиотека fauxtestlib

Многие из российских задач используют для тестирования checker'ы и player'ы, использующие для общих задач тестирования (ввод-вывод, выдача результата) библиотеку testlib.h. Для использования этих программ на DL можно воспользоваться её модификацией: fauxtestlib.h.

Данная модификация основана на testlib версии 0.9.5
Модификация не гарантирует 100% совместимости с testlib; после внесения изменений проверялся только основной функционал, необходимый для тестирования задач, установленных до сих пор с её помощью.

Содержание архива:

Имя файла Содержимое
fauxtestlib.h Модификация testlib для использования на DL
DL_I.cpp, DL_I.h Модификация библиотеки DL_I для использования fauxtestlib
checker.pas Код checker'а, совместимого с player'ами fauxtestlib (использует библиотеку DLChecker)

Инструкция по применению:

  1. Заменить в файле программы подключение "testlib.h" на "fauxtestlib.h"
  2. Поместить в папку с исходниками файлы fauxtestlib.h, DL_I.cpp и DL_I.h
  3. Скомпилировать программу; в строку компиляции добавить файл DL_I.cpp и следующие опции:
    • -DCHECKER (обязательный для компиляции)
    • -DINFILE="имя-файла" (значение по умолчанию: "$player$.in")
    • -DOUTFILE="имя-файла" (значение по умолчанию: "$player$.out")
  4. Если это программа-player, для обработки вывода использовать предоставленный checker
примеры строки компиляции
g++ -O2 -DCHECKER -o checker checker.cpp DL_I.cpp
g++ -O2 -DCHECKER -o player DL_I.cpp interactor.cpp
g++ -O2 -DCHECKER -o player DL_I.cpp interact_new.cpp -DINFILE="eq.in" -DOUTFILE="eq.out"
INFILE и OUTFILE должны содержать корректные строки в формате C; в зависимости от особенностей используемого shell'а, может потребоваться взять их дополнительно в одинарные кавычки (например: -DINFILE='"eq.in"')
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами