Компиляция тестов
 

У проекта 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, и мы будем это дело расследовать.