Можно ли издеваться над файлом устройства символов в пользовательском пространстве?Linux

Ответить
Anonymous
 Можно ли издеваться над файлом устройства символов в пользовательском пространстве?

Сообщение Anonymous »

У меня есть приложение для пространства пользователя, которое открывает ручку файла устройства Linux (например, /dev /foobar < /code>), а затем отправляет Ioctls на него.
Мне нужно повторить конкретную серию ответов с устройства, доставленного обратно в пользовательский пространство, в тестировании. Результаты высмеиваемых системных вызовов. Я не хочу разгрузить драйвер и загружать его тестовую копию для теста; Это потребует повышенных привилегий и будет мешать другим тестовым случаям, доступа к нему одновременно. Ld_preload . Хотя он, вероятно, будет работать, у него есть свои недостатки: все вызовы open () / необходимо будет перехватить, проанализировать и отфильтровать, чтобы влиять только на тех, кто направлен на/dev/foobar . Похоже на государственную машину, я бы избежал создания, если это возможно. Кроме того, я не уверен, что моя структура тестирования легко позволит переопределить LD_PRELOAD для одного тестового примера. Например. У вас есть условные "мы в тестировании?" Чтобы контролировать, какую функцию будет вызвана, или динамическую диспетчеринг (указатель функции) для той же цели. Но это также довольно навязчивая модификация производственного кода, и он пропускает логику тестирования в логику производства. К сожалению, этот код пользовательского пространства является устаревшим, без каких -либо положений о дизайне для легкого экземпляра в модульном тесте, и логика, которую мне нужно проверить, на самом деле распространяется по нескольким подсистемам. Таким образом, внесение всего этого в настоящий модульный тест потребует много переделки, что я не готов сейчас. Чтобы открыть это устройство вместо по умолчанию/dev/foobar , а затем все системы системных вызовов, которые меня интересуют, окажутся под моим контролем.

Подробнее здесь: https://stackoverflow.com/questions/795 ... -userspace
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»