Это лучший инструмент (среди бесплатных решений для Unix) для полностью автоматической генерации тестов дыма, если ваша библиотека содержит более ста функций. Уникальная особенность - это возможность автоматически генерировать разумные входные аргументы для каждой функции.
Самый популярный вариант использования этой платформы - быстрый поиск проблем с памятью (segfaults) в библиотеке. Исторически эта платформа использовалась для создания тестовых наборов LSB для слишком больших библиотек, таких как Qt3 и Qt4, которые не могут быть созданы вручную в разумные сроки.
Используйте следующую команду для генерации, построения и выполнения тестов:
api-sanity-checker -l name -d descriptor.xml -gen -build -run
XML-дескриптор - это простой XML-файл, который указывает номер версии, пути к заголовкам и общим объектам:
<version>
0.3.4
</version>
<headers>
/usr/local/libssh/0.3.4/include/
</headers>
<libs>
/usr/local/libssh/0.3.4/lib/
</libs>
Вы можете улучшить сгенерированные тесты, используя специализированные типы для входных параметров.
См. пример сгенерированных тестов для freetype2 2.4.8.