vak: (Default)
[personal profile] vak posting in [community profile] besm6
Я добавил в 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
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

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. 15th, 2026 04:35 pm
Powered by Dreamwidth Studios