Fix accidental deletion from last commit
Use non-deprecated assertEqual
Have tasks run() raise on non-zero exit

This was discovered when Travis CI didn't report an error because invoke test
happily continued on even when a test failed.