cwrap - The libc wrapper project
Testing your full software stack
Testing network applications correctly is hard. This talk will show how to create a fully isolated network environment for client and server testing on a single host, complete with synthetic account information, hostname resolution, and privilege separation.
The libc wrapper project aims to help client/server software development teams willing to gain full functional test coverage. It makes it possible to run several instances of the full software stack on the same machine and perform locally functional testing of complex network configurations. Daemons run with privilege separation and required user and group accounts, irrespective to the hosting system. The libc wrapper project does not require virtualization and can be used to build environments with different operating systems. The project consists of a socket wrapper, NSS module wrapper (users, groups, hosts), and a (s)uid wrapper with support for GNU/Linux, BSD, OSX, and Solaris.