def runTest(self, count, orgtest):
        """
        Runs the test.

        Argument: count - the test number to run, as counted by both
                          master and slave independently.
        Returns: (result status, result data)
        """
        self.startSlave()

        if self.noseSlave is None:
            return ResultCollector.ERROR, (SkipAfterCrash(' - previous test crashed, skipping.'), None)

        try:
            self.sendToSlave(count)
        except (EOFError, IOError, socket.error), e:
            _, _, tb = sys.exc_info()
            self.dropSlave()
            return ResultCollector.ERROR, (e, tb)

        try:
            status, exc, (stdout, stderr), func_dict = self.readFromSlave()

            if func_dict is not None:
                orgtest.test.func_dict.update(func_dict)

            sys.stdout.write(stdout)
            sys.stderr.write(stderr)
            return status, exc

        except (EOFError, __HOLE__, socket.error), e:
            _, _, tb = sys.exc_info()
            self.dropSlave()
            return ResultCollector.ERROR, (CrashInTestError(), tb)
dataset/ETHPy150Open ooici/pyon/pyon/util/insulate.py/TestSlave.runTest