DebugClients/Python/DebugClientBase.py

changeset 6894
df83ac87e0db
parent 6892
c147620313c5
child 6896
3716c4af48bb
equal deleted inserted replaced
6893:d29a7b8fab0f 6894:df83ac87e0db
804 elif method == "RequestUTPrepare": 804 elif method == "RequestUTPrepare":
805 if params["syspath"]: 805 if params["syspath"]:
806 sys.path = params["syspath"] + sys.path 806 sys.path = params["syspath"] + sys.path
807 sys.path.insert( 807 sys.path.insert(
808 0, os.path.dirname(os.path.abspath(params["filename"]))) 808 0, os.path.dirname(os.path.abspath(params["filename"])))
809 os.chdir(sys.path[0]) 809 if params["workdir"]:
810 os.chdir(params["workdir"])
811 else:
812 os.chdir(sys.path[0])
810 813
811 # set the system exception handling function to ensure, that 814 # set the system exception handling function to ensure, that
812 # we report on all unhandled exceptions 815 # we report on all unhandled exceptions
813 sys.excepthook = self.__unhandled_exception 816 sys.excepthook = self.__unhandled_exception
814 self.__interceptSignals() 817 self.__interceptSignals()
815 818
816 try: 819 try:
817 import unittest 820 import unittest
818 utModule = imp.load_source( 821 if params["discover"] and not params["failed"]:
819 params["testname"], params["filename"]) 822 discoveryStart = params["discoverystart"]
820 try: 823 if not discoveryStart:
821 if params["failed"]: 824 discoveryStart = params["workdir"]
825 self.test = unittest.defaultTestLoader.discover(
826 discoveryStart)
827 else:
828 utModule = imp.load_source(
829 params["testname"], params["filename"])
830 try:
831 if params["failed"]:
832 self.test = unittest.defaultTestLoader\
833 .loadTestsFromNames(params["failed"], utModule)
834 else:
835 self.test = unittest.defaultTestLoader\
836 .loadTestsFromName(params["testfunctionname"],
837 utModule)
838 except AttributeError:
822 self.test = unittest.defaultTestLoader\ 839 self.test = unittest.defaultTestLoader\
823 .loadTestsFromNames(params["failed"], utModule) 840 .loadTestsFromModule(utModule)
824 else:
825 self.test = unittest.defaultTestLoader\
826 .loadTestsFromName(params["testfunctionname"],
827 utModule)
828 except AttributeError:
829 self.test = unittest.defaultTestLoader\
830 .loadTestsFromModule(utModule)
831 except Exception: 841 except Exception:
832 exc_type, exc_value, exc_tb = sys.exc_info() 842 exc_type, exc_value, exc_tb = sys.exc_info()
833 self.sendJsonCommand("ResponseUTPrepared", { 843 self.sendJsonCommand("ResponseUTPrepared", {
834 "count": 0, 844 "count": 0,
835 "exception": exc_type.__name__, 845 "exception": exc_type.__name__,
836 "message": str(exc_value), 846 "message": str(exc_value) + "\n" + str(params),
837 }) 847 })
838 return 848 return
839 849
840 # generate a coverage object 850 # generate a coverage object
841 if params["coverage"]: 851 if params["coverage"]:

eric ide

mercurial