Формат файла тестов

Файл состоит из заголовка и тестов разделенных пустыми строками. Заголовок выглядит следующим образом:

Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false
Далее после пустой строки следуют сами тесты. Каждый тест состоит из 4 частей разделенных пустыми строками. Первая часть - заголовок, в котором первая строка является названием теста:
[test 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
Вторая часть - метки. В большинстве задач они не используются, т.е. ставится еще одна пустая строка (помимо той, что отделяет заголовок от секции меток).
Третья часть - описание значений входных переменных. Например,
x1 dec: 0
x2 dec: 0
x3 dec: 0
x4 dec: 0
Здесь на каждой строке описывается какой перменной и какое значение необходимо присвоить до выполнения программы.
Формат строки:

имя_переменной тип: устанавливаемое_значение

Тип значния может быть следующим:
  • bin - двоичная константа
  • dec - беззнаковая десятичная константа
  • sgn - знаковая десятичная константа
  • hex - шестнадцатеричная константа
  • str - строка
  • strz - строка заканчивающаяся нулем (0x00)
  • bool - булевый (true/false)
  • flt - вещественная константа

    Четвертая часть - описание значений выходных переменных. Например,
    y dec: 1
    
    Формат аналогичен секции входных переменных.
    Далее следует пустая строка для отделения одного теста от другого.

    Полный пример файла тестов:
    Report = report.txt
    StopOnError = true
    Statistics = false
    WatchReport = false
    ShowReport = false
    
    [test 1]
    Cycles = 1000
    CheckCycles = false
    Segment - 0
    Offset - 0
    
    
    x1 dec: 0
    x2 dec: 0
    x3 dec: 0
    x4 dec: 0
    
    y dec: 1
    
    [test 2]
    Cycles = 1000
    CheckCycles = false
    Segment - 0
    Offset - 0
    
    
    x1 dec: 0
    x2 dec: 0
    x3 dec: 1
    x4 dec: 0
    
    y dec: 1
    
    Примечание: обратите внимание на необходимость двух пустых строк перед описанием значений входных переменных, т.к. отсутствует секция описания меток.