Skip to content

voidmax/caos-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

caos-testing

Создание дириктории со скриптами

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

#! /bin/bash

MY_DIRECTORY=~/Documents/HW/course_2/caos/  # your directory
...

Далее, чтобы создать папку с контестом и задачу нужно запустить скрипт:

bash init.sh <contest_name> <problem_name>

После чего в выбранной директории появится (если еще не была) папка <contest_name>, в которой будет prob_<problem_name>. Обратите внимание, что если повторно запустить скрипт, то содержимое prob_<problem_name> будет перезаписано.

Добавление тестов

Находясь в папке с задачей можно изменять тесты с помощью скрипта edit_test.sh.

Чтобы создать тест (или перезаписать уже существующией) достаточно написать команду:

bash edit_test.sh add <test_name>

После чего откроется vim, в котором будет предложено записать input, а затем, после выхода из первого vim, откроется второй — с output.

 

Чтобы изменить тест нужна команда:

bash edit_test.sh edit <test_name>

Которая откроет vim, в котором будет предложено изменить input, а затем, после выхода из первого vim, откроется второй — с output.

 

Для удаление можно воспользоваться следующей командой:

bash edit_test.sh remove <test_name>

 

Тесты храняться в папке tests, где <test_name>.dat и <test_name>.ans — входные и выходные данные теста <test_name> соответсвенно.

Запуск решения

Для запуска программы нужно иметь скомпилированный main и прописать следующую комадну:

bash run.sh

или

make runtests

После чего будут вердикты (WA или RE) для всех тестов. Обратите внимание, что TL данный скрипт отловить не может. WA означает, что какой-то символ ответа не совпал с символом вывода решения.

Есть несколько видов запуска run.sh:

  • bash run.sh будет тестировать на всех тестах.
  • bash run.sh 1 будет тестировать до первого непройденного теста.
  • bash run.sh 2 будет тестировать на всех теста, но при этом показывать сам тест и в случае неправильного ответа отображать вывод программы.
  • bash run.sh 3 будет тестировать на всех теста, но при этом не будет сравнивать ответ и вывод программы, оставляя лишь вердикты ?? и RE.

Пример работы run.sh:

Пример работы run.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages