Естественно, само ядро и его части тестируются перед выпуском, но эти тесты охватывают только основные функциональные возможности.Существует несколько систем тестирования, которые выполняют тестирование ядра Linux:
Проект тестирования Linux (LTP) предоставляет тестовые наборы сообществу с открытым исходным кодом, которые проверяют надежность и стабильность Linux.Набор тестов LTP содержит набор инструментов для тестирования ядра Linux и связанных с ним функций.https://github.com/linux-test-project/ltp
Автотест - платформа для полностью автоматизированного тестирования.Он предназначен в первую очередь для тестирования ядра Linux, хотя он полезен для многих других целей, таких как квалификация нового оборудования, тестирование виртуализации и другое общее тестирование программ пользовательского пространства на платформах Linux.Это проект с открытым исходным кодом под лицензией GPL, который используется и разрабатывается рядом организаций, в том числе Google, IBM, Red Hat и многими другими.http://autotest.github.io/
Также существуют системы сертификации, разработанные некоторыми крупными дистрибьюторскими компаниями GNU / Linux.Эти системы обычно проверяют полные дистрибутивы GNU / Linux на совместимость с оборудованием.Существуют системы сертификации, разработанные Novell, Red Hat, Oracle, Canonical, Google .
. Существуют также системы для динамического анализа ядра Linux:
Kmemleak - это детектор утечки памяти, включенный в ядро Linux.Он обеспечивает способ обнаружения возможных утечек памяти ядра способом, подобным трассирующему сборщику мусора, с той разницей, что потерянные объекты не освобождаются, а сообщаются только через / sys / kernel / debug / kmemleak.
Kmemcheck прерывает каждое чтение и запись в память, которая была выделена динамически (то есть с помощью kmalloc ()).Если читается адрес памяти, который ранее не записывался, в журнал ядра выводится сообщение.Также входит в состав ядра Linux
Fault Injection Framework (входит в состав ядра Linux), позволяющего внедрять ошибки и исключения в логику приложения для достижения более высокого охвата и отказоустойчивости системы.