This talk will show stories from the trenches of developing tests for SSSD and Samba. How we developed complete integration tests that exercise all the capabilities of our software and run in environments without a real network access, without requiring root or sudo or touching the important OS interfaces.
The authors of this talk work on SSSD, Samba and libssh - software that communicates over the network, often requires root access and communicates through OS interfaces. In this talk, we will show how we developed complete integration tests that exercise all the capabilities of our software and run in environments without a real network access, without requiring root or sudo or touching the important OS interfaces.
In addition, our goal was that the tests must be easy to develop and must run both locally on developer's machine as well as inside popular CI engines of today, like Travis or Semaphore. To meet these goals, we had to leverage existing testing tools, but also build new ones such as pam_wrapper or libpamtest to be able to test OS-level PAM authentication and authorization.
This talk will be useful for developers who write tests for software that is normally not easy to test -- attending the talk will show you how to test complex software systems in isolation.
Speakers: Jakub Hrozek Andreas Schneider