809 |
809 |
810 discoveryStart = params["discoverystart"] |
810 discoveryStart = params["discoverystart"] |
811 if not discoveryStart: |
811 if not discoveryStart: |
812 discoveryStart = params["workdir"] |
812 discoveryStart = params["workdir"] |
813 |
813 |
|
814 top_level_dir = params["workdir"] |
|
815 |
814 os.chdir(params["discoverystart"]) |
816 os.chdir(params["discoverystart"]) |
815 |
817 |
816 # set the system exception handling function to ensure, that |
818 # set the system exception handling function to ensure, that |
817 # we report on all unhandled exceptions |
819 # we report on all unhandled exceptions |
818 sys.excepthook = self.__unhandled_exception |
820 sys.excepthook = self.__unhandled_exception |
819 self.__interceptSignals() |
821 self.__interceptSignals() |
820 |
822 |
821 try: |
823 try: |
822 import unittest |
824 import unittest |
823 testLoader = unittest.TestLoader() |
825 testLoader = unittest.TestLoader() |
824 test = testLoader.discover(discoveryStart) |
826 test = testLoader.discover(discoveryStart, top_level_dir=top_level_dir) |
825 if hasattr(testLoader, "errors") and \ |
827 if hasattr(testLoader, "errors") and \ |
826 bool(testLoader.errors): |
828 bool(testLoader.errors): |
827 self.sendJsonCommand("ResponseUTDiscover", { |
829 self.sendJsonCommand("ResponseUTDiscover", { |
828 "testCasesList": [], |
830 "testCasesList": [], |
829 "exception": "DiscoveryError", |
831 "exception": "DiscoveryError", |
848 elif method == "RequestUTPrepare": |
850 elif method == "RequestUTPrepare": |
849 if params["syspath"]: |
851 if params["syspath"]: |
850 sys.path = params["syspath"] + sys.path |
852 sys.path = params["syspath"] + sys.path |
851 sys.path.insert( |
853 sys.path.insert( |
852 0, os.path.dirname(os.path.abspath(params["filename"]))) |
854 0, os.path.dirname(os.path.abspath(params["filename"]))) |
|
855 top_level_dir = None |
853 if params["workdir"]: |
856 if params["workdir"]: |
854 os.chdir(params["workdir"]) |
857 os.chdir(params["workdir"]) |
|
858 top_level_dir = params["workdir"] |
855 else: |
859 else: |
856 os.chdir(sys.path[0]) |
860 os.chdir(sys.path[0]) |
857 |
861 |
858 # set the system exception handling function to ensure, that |
862 # set the system exception handling function to ensure, that |
859 # we report on all unhandled exceptions |
863 # we report on all unhandled exceptions |
869 discoveryStart = params["workdir"] |
873 discoveryStart = params["workdir"] |
870 if params["testcases"]: |
874 if params["testcases"]: |
871 self.test = testLoader.loadTestsFromNames( |
875 self.test = testLoader.loadTestsFromNames( |
872 params["testcases"]) |
876 params["testcases"]) |
873 else: |
877 else: |
874 self.test = testLoader.discover(discoveryStart) |
878 self.test = testLoader.discover(discoveryStart, top_level_dir=top_level_dir) |
875 else: |
879 else: |
876 if params["filename"]: |
880 if params["filename"]: |
877 utModule = imp.load_source( |
881 utModule = imp.load_source( |
878 params["testname"], params["filename"]) |
882 params["testname"], params["filename"]) |
879 else: |
883 else: |