Добавьте в корневую директорию репозитория файл hide-secret.cpp.
Требования к программе возьмите из документа с домашним заданием.
Для сборки проекта выполните:
cmake -B build/
cmake --build build/ -j $(nproc)Для тестирования проекта используются следующие зависимости:
-
GoogleTest — библиотека/фреймворк для написания юнит-тестов для C/C++.
-
libFuzzer — часть тулчейна LLVM для написания фаззинг-тестов.
GoogleTest можно установить стандартным пакетным менеджером операционной системы. libFuzzer устанавливается вместе с тулчейном LLVM. Для его использования достаточно установить Clang как компилятор для C/C++ по-умолчанию. Если текущий компилятор — не Clang, то будут собраны только юнит-тесты, сборка фаззинг-тестов пропускается.
Для сборки проекта с тестами выполните:
CC=clang CXX=clang++ cmake -B tests/ -DWITH_TESTS=ON
cmake --build tests/ -j $(nproc)Для запуска тестов выполните:
ctest --test-dir tests/ --output-on-failureОбратите внимание, что последний тест — фаззинг-тест. Его выполнение занимает примерно минуту, он не завис.