Ik heb een filesystem geschreven middels FUSE. Hiervoor ben ik nu integratie-tests aan het schrijven. Hiervoor maak ik de FUSE mount in een ander thread en test ik dan verschillende operaties op deze mount vanuit de main thread.
Dit werkt allemaal prima, maar ik wil alle tests ook graag via valgrind kunnen draaien. Dat gaat stuk bij het uitvoeren van de integratie-test. Als ik valgrind strace, dan zie ik dat deze hangt op de stat() call. Deze blijft oneindig lang wachten. Valgrind gebruikt op dat moment geen CPU en strace blijft dan ook stlistaan. De enige manier hieruit is het proces te SIGKILL-en.
Nu heb ik ergens gelezen dat valgrind je code single-threaded draait. Is er een manier om dit toch op deze manier te testen of zal ik moeten forken en een apart proces moeten starten voor het mountpoint?
Dit werkt allemaal prima, maar ik wil alle tests ook graag via valgrind kunnen draaien. Dat gaat stuk bij het uitvoeren van de integratie-test. Als ik valgrind strace, dan zie ik dat deze hangt op de stat() call. Deze blijft oneindig lang wachten. Valgrind gebruikt op dat moment geen CPU en strace blijft dan ook stlistaan. De enige manier hieruit is het proces te SIGKILL-en.
Nu heb ik ergens gelezen dat valgrind je code single-threaded draait. Is er een manier om dit toch op deze manier te testen of zal ik moeten forken en een apart proces moeten starten voor het mountpoint?
Ik ontken het bestaan van IE.