У проекта FreeBASIC есть комплект тестов, которые гарантируют, чтобы ошибки
прекратились и что новым ошибкам труднее появиться. Набор тестов записан с
помощью порта FreeBASIC библиотеки CUnit (Спасибо, stylin!).
Вызов
Тесты расположены в тестовом подкаталоге основного каталога FreeBASIC. Вызов
с помощью make, представит следующий текст справки:
$ make
usage: make target [options]
Targets: (using cunit):
cunit-tests
log-tests
failed-tests
check
mostlyclean
clean
Targets: (bypassing cunit)
log-tests ALLOW_CUNIT=1
failed-tests ALLOW_CUNIT=1
mostlyclean ALLOW_CUNIT=1
clean ALLOW_CUNIT=1
Options:
FBC=/path/fbc
FB_LANG=fb | fblite | qb | deprecated
DEBUG=1
EXTRAERR=1
ARCH=arch (default is 486)
OS=DOS
FPU=fpu | sse
Targets: Configuration and Checks
check
Example: make all available tests
make cunit-tests
make log-tests
Example: make obj -lang qb tests
make log-tests FB_LANG=qb
Когда вы запускаете
make так:
make cunit-tests && make log-tests
Некоторая начальная генерация индексных файлов будет иметь место,
сопровождаемая компиляцией сотен тестов. Будьте терпеливы, это может
требовать времени к выполнению всех тестов...
Если вы получаете сообщение об ошибке:
FreeBASIC/bin/linux/ld: cannot find -lcunit
Это означает, что вам нужно установить библиотеку CUNIT. В Ubuntu это
выглядит так:
$ sudo apt-get install libcunit1-dev
Известные проблемы
На момент написания этого документа, следующие тесты имеют сбой на некоторых
платформах:
Suite fbc_tests.string_.format_, Test number format test had failures:
1. string/format.bas:168 - CU_ASSERT_EQUAL(sWanted,sResult)
2. string/format.bas:168 - CU_ASSERT_EQUAL(sWanted,sResult)
3. string/format.bas:168 - CU_ASSERT_EQUAL(sWanted,sResult)
4. string/format.bas:168 - CU_ASSERT_EQUAL(sWanted,sResult)
Так что если вы получите эти сообщения, не обращайте внимания. С другими
тестами все должно быть нормально.
Спасибо за выполнение тестов и содействие. Сделаем вместе FreeBASIC хорошим
компилятором! Сообщить о любых других проблемах можно здесь: http://www .freebasic.net/forum,
и мы будем это дело расследовать.