add_kss_pal_qemu_tests()

Перед чтением этого раздела, рекомендуется ознакомиться с общими принципами создания и выполнения тестов политики безопасности решения на базе KasperskyOS.

В разделе представлено описание функции add_kss_pal_qemu_tests() CMake-библиотеки test_generator:

Синтаксис функции

Функция объявлена в файле, который находится в KasperskyOS Community Edition по пути: toolchain/share/cmake/Modules/test-generator/add_kss_pal_qemu_tests.cmake. Файл доступен только в дистрибутиве KasperskyOS Community Edition для QEMU.

add_kss_pal_qemu_tests(...)

Функция генерирует инициализирующую программу Einit, а также другие артефакты, необходимые для сборки и запуска PAL-теста (также тест на языке PAL) политики безопасности решения на базе KasperskyOS.

Параметры функции

Артефакты, генерируемые функцией

При выполнении функции add_kss_pal_qemu_tests() генерируются артефакты, необходимые для сборки и запуска PAL-теста в KasperskyOS. Артефакты генерируются в следующих директориях:

В директории сборки решения генерируются следующие артефакты:

В директории сборки программы:

Сборка и запуск PAL-теста

Сборка и запуск PAL-теста описан в шаге 4 тестовой процедуры раздела "Создание и выполнение тестов политики безопасности решения на базе KasperskyOS".

Также сборку и запуск PAL-тестов можно выполнить с использованием расширения KasperskyOS SDK Extension for Visual Studio Code. Подробнее см. запуск тестов политик безопасности решения раздела "Функции расширения".

Пример

# Минимально необходимая версия системы сборки CMake для проекта.

cmake_minimum_required (VERSION 3.25)

# Название CMake-проекта.

project (pal_tests)

# Подключение CMake-библиотеки platform.

include (platform)

# Статическая компоновка исполняемых файлов.

initialize_platform (FORCE_STATIC)

# Подключение библиотеки CMake, содержащей скрипты сборки образа решения.

include (platform/image)

# Подключение CMake-библиотеки nk для работы с компилятором NK (nk-gen-c).

include (platform/nk)

# Подключение к проекту модуля add_kss_pal_qemu_tests CMake-библиотеки test_generator.

include (test-generator/add_kss_pal_qemu_tests)

# Создание CMake-цели для генерации .idl.h-файла

# для указанного IDL-файла при помощи компилятора NK.

nk_build_idl_files (${PROJECT_NAME}_idl_files

NK_MODULE pal_tests

IDL "${NK_RESOURCES}/pal_tests/${IDL_FILE}")

# Создание CMake-цели для генерации .edl.h-файла

# для указанного EDL-файла при помощи компилятора NK.

nk_build_edl_files (${PROJECT_NAME}_edl_files

DEPENDS ${PROJECT_NAME}_idl_files

NK_MODULE pal_tests

EDL "${NK_RESOURCES}/pal_tests/${EDL_FILE})

add_kss_pal_qemu_tests (

PSL_FILES

src/security.psl

DEPENDS

${PROJECT_NAME}_edl_files)

Подробнее см. пример pal_tests, который расположен в директории examples из состава KasperskyOS Community Edition.

В начало