816 sys.excepthook = self.__unhandled_exception |
816 sys.excepthook = self.__unhandled_exception |
817 self.__interceptSignals() |
817 self.__interceptSignals() |
818 |
818 |
819 try: |
819 try: |
820 import unittest |
820 import unittest |
|
821 # TODO: ignore discover if "failed" is set |
821 if params["discover"] and not params["failed"]: |
822 if params["discover"] and not params["failed"]: |
822 discoveryStart = params["discoverystart"] |
823 discoveryStart = params["discoverystart"] |
823 if not discoveryStart: |
824 if not discoveryStart: |
824 discoveryStart = params["workdir"] |
825 discoveryStart = params["workdir"] |
825 self.test = unittest.defaultTestLoader.discover( |
826 self.test = unittest.defaultTestLoader.discover( |
826 discoveryStart) |
827 discoveryStart) |
827 else: |
828 else: |
828 utModule = imp.load_source( |
829 if params["filename"]: |
829 params["testname"], params["filename"]) |
830 utModule = imp.load_source( |
830 try: |
831 params["testname"], params["filename"]) |
831 if params["failed"]: |
832 else: |
832 self.test = unittest.defaultTestLoader\ |
833 utModule = None |
833 .loadTestsFromNames(params["failed"], utModule) |
834 if params["failed"]: |
|
835 if utModule: |
|
836 failed = [t.split(".", 1)[1] |
|
837 for t in params["failed"]] |
834 else: |
838 else: |
835 self.test = unittest.defaultTestLoader\ |
839 failed = params["failed"][:] |
836 .loadTestsFromName(params["testfunctionname"], |
|
837 utModule) |
|
838 except AttributeError: |
|
839 self.test = unittest.defaultTestLoader\ |
840 self.test = unittest.defaultTestLoader\ |
840 .loadTestsFromModule(utModule) |
841 .loadTestsFromNames(failed, utModule) |
|
842 else: |
|
843 self.test = unittest.defaultTestLoader\ |
|
844 .loadTestsFromName(params["testfunctionname"], |
|
845 utModule) |
841 except Exception: |
846 except Exception: |
842 exc_type, exc_value, exc_tb = sys.exc_info() |
847 exc_type, exc_value, exc_tb = sys.exc_info() |
843 self.sendJsonCommand("ResponseUTPrepared", { |
848 self.sendJsonCommand("ResponseUTPrepared", { |
844 "count": 0, |
849 "count": 0, |
845 "exception": exc_type.__name__, |
850 "exception": exc_type.__name__, |