conference logo

Playlist "Testing complex software in CI"

Testing complex software in CI

Andreas Schneider

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.