Ticket #13278: 13278_review.patch

File 13278_review.patch, 4.7 KB (added by roed, 7 years ago)
  • sage/doctest/forker.py

    # HG changeset patch
    # User David Roe <roed.math@gmail.com>
    # Date 1363509697 21600
    # Node ID e6706131e8949d0248e0ebb8df7232c3ff62a4e8
    # Parent  6a2ee02e28e86262ca0283203563ed32c8f6091e
    [mq]: 13278_review.patch
    
    diff --git a/sage/doctest/forker.py b/sage/doctest/forker.py
    a b  
    19141914            sage: runner.failures
    19151915            0
    19161916            sage: ntests
    1917             206
     1917            208
    19181918        """
    19191919        result = None
    19201920        try:
  • sage/doctest/parsing.py

    diff --git a/sage/doctest/parsing.py b/sage/doctest/parsing.py
    a b  
    6060        sage: sorted(list(parse_optional_tags("    sage: factor(10^(10^10) + 1) # LoNg TiME, NoT TeSTED; OptioNAL -- P4cka9e")))
    6161        ['long time', 'not tested', 'p4cka9e']
    6262        sage: parse_optional_tags("    sage: raise RuntimeError # known bug")
    63         set(['known bug'])
     63        set(['bug'])
    6464        sage: sorted(list(parse_optional_tags("    sage: determine_meaning_of_life() # long time, not implemented")))
    6565        ['long time', 'not implemented']
    6666
     
    8181
    8282    tags = []
    8383    for m in optional_regex.finditer(comment):
    84         if m.group(1):
    85             tags.append(m.group(1))
     84        cmd = m.group(1)
     85        if cmd == 'known bug':
     86            tags.append('bug') # so that such tests will be run by sage -t ... -only-optional=bug
     87        elif cmd:
     88            tags.append(cmd)
    8689        else:
    8790            tags.extend(m.group(3).split() or [""])
    8891    return set(tags)
     
    512515            if isinstance(item, doctest.Example):
    513516                optional_tags = parse_optional_tags(item.source)
    514517                if optional_tags:
    515                     if 'known bug' in optional_tags:
    516                         optional_tags.remove('known bug')
    517                         optional_tags.add('bug') # so that such tests will be run by sage -t ... -only-optional=bug
    518518                    for tag in optional_tags:
    519519                        self.optionals[tag] += 1
    520520                    if ('not implemented' in optional_tags) or ('not tested' in optional_tags):
  • sage/doctest/reporting.py

    diff --git a/sage/doctest/reporting.py b/sage/doctest/reporting.py
    a b  
    402402                        else:
    403403                            if self.controller.options.optional is not True: # if True we test all optional tags
    404404                                tags = sorted(optionals.keys())
    405                                 untested = optionals["not tested"] + optionals["not implemented"]
     405                                untested = optionals.pop("not tested",0) + optionals.pop("not implemented",0)
    406406                                seen_other = False
    407407                                for tag in tags:
    408408                                    nskipped = optionals[tag]
     
    410410                                        if not self.controller.options.long:
    411411                                            seen_other = True
    412412                                            log("    %s not run"%(count_noun(nskipped, "long test")))
    413                                     elif (tag not in self.controller.options.optional and
    414                                           tag not in ["not tested", "not implemented"]):
     413                                    elif tag not in self.controller.options.optional:
    415414                                        seen_other = True
    416415                                        if tag == "bug":
    417416                                            log("    %s not run due to known bugs"%(count_noun(nskipped, "test")))
  • sage/doctest/sources.py

    diff --git a/sage/doctest/sources.py b/sage/doctest/sources.py
    a b  
    432432
    433433        sage: TestSuite(FDS).run()
    434434    """
    435     def __init__(self, path, options, useabspath=False):
     435    def __init__(self, path, options):
    436436        """
    437437        Initialization.
    438438
     
    448448        """
    449449        self.path = path
    450450        DocTestSource.__init__(self, options)
    451         self.useabspath = useabspath
    452451        base, ext = os.path.splitext(path)
    453452        if ext in ('.py', '.pyx', '.pxi', '.sage', '.spyx'):
    454453            self.__class__ = dynamic_class('PythonFileSource',(FileDocTestSource,PythonSource))
  • sage/doctest/test.py

    diff --git a/sage/doctest/test.py b/sage/doctest/test.py
    a b  
    240240    sage: subprocess.call(["sage", "-t", "--long", "--show-skipped", "--optional=sage,gap", "show_skipped.rst"], cwd=tests_dir)
    241241    Running doctests ...
    242242    Doctesting 1 file.
    243     sage -t show_skipped.rst
     243    sage -t --long show_skipped.rst
    244244        1 unlabeled test not run
    245245        2 tests not run due to known bugs
    246246        1 other test skipped