예제 #1
0
    def __call__(self, argv):
        """Invoke the suite runner by calling it with argument list.
        """
        cf = self.runner.config
        optlist, extraopts, args = getopt.getopt(argv[1:], "h?dDviIc:f:n:")
        for opt, optarg in optlist:
            if opt in ("-h", "-?"):
                print(SuiteRunnerInterfaceDoc % (os.path.basename(argv[0]), ))
                return
            if opt == "-d":
                cf.flags.DEBUG += 1
            if opt == "-D":
                from pycopia import autodebug  # top-level debug for framework bugs
            if opt == "-v":
                cf.flags.VERBOSE += 1
            if opt == "-i":
                cf.flags.INTERACTIVE = True
            if opt == "-I":
                cf.flags.INTERACTIVE = False
            if opt == "-c" or opt == "-f":
                cf.mergefile(optarg)
            if opt == "-n":
                cf.comment = optarg

        cf.evalupdate(extraopts)
        cf.arguments = [os.path.basename(argv[0])] + argv[1:]
        cf.argv = args
        self.runner.set_options(extraopts)
        if not args:
            from pycopia import cliutils
            choices = [(row.id, str(row))
                       for row in models.TestSuite.get_suites(self.dbsession)]
            choices.insert(0, (0, "Skip it"))
            chosen_id = cliutils.choose_key(dict(choices), 0, prompt="Suite? ")
            if chosen_id == 0:
                return
            args = [chosen_id]

        for testsuite in self.get_test_suites(args):
            suite = self.get_suite(testsuite)
            self.runner.initialize()
            self.runner.run_object(suite)
            self.runner.finalize()
예제 #2
0
    def __call__(self, argv):
        """Invoke the suite runner by calling it with argument list.
        """
        cf = self.runner.config
        optlist, extraopts, args = getopt.getopt(argv[1:], "h?dDviIc:f:n:")
        for opt, optarg in optlist:
            if opt in ("-h", "-?"):
                print (SuiteRunnerInterfaceDoc % (os.path.basename(argv[0]),))
                return
            if opt == "-d":
                cf.flags.DEBUG += 1
            if opt == "-D":
                from pycopia import autodebug # top-level debug for framework bugs
            if opt == "-v":
                cf.flags.VERBOSE += 1
            if opt == "-i":
                cf.flags.INTERACTIVE = True
            if opt == "-I":
                cf.flags.INTERACTIVE = False
            if opt == "-c" or opt == "-f":
                cf.mergefile(optarg)
            if opt == "-n":
                cf.comment = optarg

        cf.evalupdate(extraopts)
        cf.arguments = [os.path.basename(argv[0])] + argv[1:]
        cf.argv = args
        self.runner.set_options(extraopts)
        if not args:
            from pycopia import cliutils
            choices = [(row.id, str(row)) for row in models.TestSuite.get_suites(self.dbsession)]
            choices.insert(0, (0, "Skip it"))
            chosen_id = cliutils.choose_key(dict(choices), 0, prompt="Suite? ")
            if chosen_id == 0:
                return
            args = [chosen_id]

        for testsuite in self.get_test_suites(args):
            suite = self.get_suite(testsuite)
            self.runner.initialize()
            self.runner.run_object(suite)
            self.runner.finalize()
예제 #3
0
파일: UI.py 프로젝트: kdart/pycopia3
 def choose_key(self, somemap, default=None, prompt=None):
     return cliutils.choose_key(somemap,
                                default,
                                self._get_prompt("PS3", prompt),
                                input=self._io.raw_input,
                                error=self.error)
예제 #4
0
파일: UI.py 프로젝트: feitianyiren/pycopia3
 def choose_key(self, somemap, default=None, prompt=None):
     return cliutils.choose_key(somemap,
                                default,
                                self._get_prompt("PS3", prompt),
                                input=self._io.raw_input,
                                error=self.error)