Only cache venv if tests pass.

This should resolve issues where a pip install failure causes
repeated test runs to fail...