Add integration tests
This adds integration tests, makes sure coverage data is collected from them, and makes fixes necessary for them to work.
This adds integration tests, makes sure coverage data is collected from them, and makes fixes necessary for them to work.