analizer
22.09.2011 06:32 mcabber
почитал в педивикии про mock. получается что самый нижний уровень API им всё равно не протестировать? или есть возможность заmockить (через LD_PRELOAD скажем) определённые вызовы к glibc
Получается, что через LD_PRELOAD в рантайме, ага.
В шиндошс как-то так:
http://stackoverflow.com/questions/11659...
Ну и в прыщах можно тоже с макросами. Но я их боюсь. Они убивают моих двоюродных братьев.
макросы не убивают людей. я убиваю... тех кто их использует.
не надо с макросами. для этого LD_PRELOAD есть, а в винде — хуки.
Да, но нет единообразия: одно в rt, другое в ct.
макросы будут выполнять подстановку функций вне зависимости от области видимости символов из glibc, т.е. будут ломать программу. а вот написать функцию из glibc в либе, либу заLD_PRELOADить и прописать чтобы эта функция в зависимости от бэктрэйса и параметров возвращала фиктивное значение или же вызывала символ из glibc, загруженный по dlsym — уже качественно новый уровень. остаётся правда проблема, если твоя программа статически линкует glibc, но это уже половые трудности отдельно взятых личностей