my idea of how cli.py should work

seems to me many of the tests are actually wrong, they expect nothing
(u""), but are clearly have all the 2+2 or 'bye!' or etc. output

Regardless, expecting ``.*`` is wrong -- it is greedy, on slow systems like travis, it matches *anything*. You need to expect something exactly. Here, I expect only EOF. I also make a very clear exception handler that displays the entire pexpect object state, so it is very clear that you *are* getting the output you desire, but your greedy ``.*`` expect string is matching too early (your data is in world.process.*after*, not *before*)