Aug. 27th, 2020

vak: (Default)
[personal profile] vak
Я добавил в besm6/dispak возможность запускать тесты. Делается это так. Сначала скачиваем и собираем симулятор:
git clone https://github.com/besm6/dispak.git
cd dispak
mkdir build
cd build
cmake ..
make
sudo make install
После этого запускаем тесты, получаем примерно такой вывод:
$ cd build
$ make test
Running tests...
Test project /Users/vak/Project/Besm-6/dispak/build
Start 1: algol-besm6
1/3 Test #1: algol-besm6 ...................... Passed 0.05 sec
Start 2: algol-gdr
2/3 Test #2: algol-gdr ........................ Passed 0.06 sec
Start 3: fortran-dubna
3/3 Test #3: fortran-dubna .................... Passed 0.09 sec

100% tests passed, 0 tests failed out of 3

Total Test time (real) = 0.20 sec
Каждый тест находится в отдельной папке, скажем, tests/algol-besm6, и состоит из трёх файлов:
  • algol-besm6.b6 - входной пакет задачи для dispak
  • options.txt - параметры командной строки для dispak: как минимум имя файла входного пакета
  • output.txt - ожидаемый вывод
Список тестов в хитром формате находится в файле tests/CMakeLists.txt. В будущем я добавлю автоматическое построение списка тестов.

Сейчас пока не сделаны шаблоны при сравнении выдачи тестов с образцом. По этой причине некоторые тесты не проходят из-за несравнения чувствительной ко времени информации. типа даты. Чтобы увидеть подробности, почему не проходит какой-то тест, запускайте ctest с параметрами, например:
$ ctest -V -R algol-gdr
UpdateCTestConfiguration  from :/Users/vak/Project/Besm-6/dispak/build/DartConfiguration.tcl
Test project /Users/vak/Project/Besm-6/dispak/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 2
    Start 2: algol-gdr

2: Test command: /usr/local/Frameworks/Python.framework/Versions/3.8/bin/python3.8 "../run-test.py"
2: Test timeout computed to be: 10000000
2: @@ -1 +1 @@
2: -
                                                           26.08.20 М1
2: +
                                                           27.08.20 М1
2: FATAL: Output does not match the sample
1/1 Test #2: algol-gdr ........................***Failed    0.07 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.07 sec

The following tests FAILED:
	  2 - algol-gdr (Failed)
Errors while running CTest

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 12th, 2026 04:20 pm
Powered by Dreamwidth Studios