# addin1c-test Библиотека для тестирования внешних компонент. ## Зачем нужна Основные тесты нужно писать на самой 1С. Но хочется также проверять корректность использования памяти, тем более что эта технология создания компонент не использует `C++`, теоретически у кого-то могут возникнуть сомнения в корректности этой технологии. Для проверки корректности я использую [valgrind](https://valgrind.org/), но запускать вместе с 1С относительно долго и вывод этой утилиты показывает также ошибки самой 1С. Для этого и нужна эта библиотека, чтобы протестировать с помощью `Valgrind` полученную внешнюю компоненту. ## Как устроена Хоть сама технология не использует `C++`, для тестирования внешних компонент придется его использовать. Из `Rust`нет возможности напрямую использовать `C++`, но можно сделать обертки с `C ABI` и их использовать. Собирать статическую библиотеку буду с крейтом [cc](https://crates.io/crates/cc). ## Ограничения - Из предущего раздела следует вывод - для теста на `Windows` нужны инструменты сборки `msvc`, хотя для самих компонент такого требования нет. - `Valgrind` не поддерживает работу на `Windows`, возможно там можно использовать [drmemory](https://drmemory.org/). ## API см. [пример кода](../example-test/)