def test_invalid_context_message(self): """Test that commands which do not pass all their conditions print the proper failure message.""" def is_bar(): """Bar must be true""" fail_conditions = [is_bar] for name in ('cmd_bar', 'cmd_foobar'): result, stdout, stderr = self._run_mach([name]) self.assertEquals(1, result) fail_msg = Mach._condition_failed_message(name, fail_conditions) self.assertEquals(fail_msg.rstrip(), stdout.rstrip()) for name in ('cmd_bar_ctx', 'cmd_foobar_ctx'): result, stdout, stderr = self._run_mach([name], _populate_context) self.assertEquals(1, result) fail_msg = Mach._condition_failed_message(name, fail_conditions) self.assertEquals(fail_msg.rstrip(), stdout.rstrip())