def _addOutcome(self, outcome, test, error=None, details=None,
        error_permitted=True):
        self._stream.write(_b("%s: %s" % (outcome, test.id())))
        if error_permitted:
            if error is None and details is None:
                raise ValueError
        else:
            if error is not None:
                raise ValueError
        if error is not None:
            self._stream.write(self._start_simple)
            # XXX: this needs to be made much stricter, along the lines of
            # Martin[gz]'s work in testtools. Perhaps subunit can use that?
            for line in self._exc_info_to_unicode(error, test).splitlines():
                self._stream.write(("%s\n" % line).encode('utf8'))
        elif details is not None:
            self._write_details(details)
        else:
            self._stream.write(_b("\n"))
        if details is not None or error is not None:
            self._stream.write(self._end_simple)
Gets the icon for the tab.
dataset/ETHPy150Open byt3bl33d3r/pth-toolkit/lib/python2.7/site-packages/samba/external/subunit/__init__.py/TestProtocolClient._addOutcome--crossover with--dataset/ETHPy150Open rwl/muntjac/muntjac/ui/tab_sheet.py/ITab.getIcon