def test_promote_command_error(self): task_control = FakeTaskControl(promote_cmd="exit 1") runner = MysosTaskRunner( self._self_instance, self._client, "/home/test/my_cluster", NoopPackageInstaller(), task_control, self._state_manager) manager = ClusterManager(self._client, "/home/test/my_cluster") runner.start() self_member = manager.add_member(self._self_instance) # 'self_instance' becomes the master. manager.promote_member(self_member) runner.promoted.wait(1) with pytest.raises(TaskError) as e: runner.join() assert e.value.message.startswith("Failed to promote the slave")