view tests/test-doctest.py @ 20208:61a47fd64f30 stable

fileset, revset: do not use global parser object for thread safety parse() cannot be called at the same time because a parser object keeps its states. This is no problem for command-line hg client, but it would cause strange errors in multi-threaded hgweb. Creating parser object is not too expensive. original: % python -m timeit -s 'from mercurial import revset' 'revset.parse("0::tip")' 100000 loops, best of 3: 11.3 usec per loop thread-safe: % python -m timeit -s 'from mercurial import revset' 'revset.parse("0::tip")' 100000 loops, best of 3: 13.1 usec per loop
author Yuya Nishihara <yuya@tcha.org>
date Sat, 21 Dec 2013 12:44:19 +0900
parents f01ae031f84c
children 10a7d2bcb81b
line wrap: on
line source

# this is hack to make sure no escape characters are inserted into the output
import os
if 'TERM' in os.environ:
    del os.environ['TERM']
import doctest

import mercurial.util
doctest.testmod(mercurial.util)
# Only run doctests for the current platform
doctest.testmod(mercurial.util.platform)

import mercurial.changelog
doctest.testmod(mercurial.changelog)

import mercurial.dagparser
doctest.testmod(mercurial.dagparser, optionflags=doctest.NORMALIZE_WHITESPACE)

import mercurial.match
doctest.testmod(mercurial.match)

import mercurial.store
doctest.testmod(mercurial.store)

import mercurial.ui
doctest.testmod(mercurial.ui)

import mercurial.url
doctest.testmod(mercurial.url)

import mercurial.dispatch
doctest.testmod(mercurial.dispatch)

import mercurial.encoding
doctest.testmod(mercurial.encoding)

import mercurial.hgweb.hgwebdir_mod
doctest.testmod(mercurial.hgweb.hgwebdir_mod)

import hgext.convert.cvsps
doctest.testmod(hgext.convert.cvsps)

import mercurial.revset
doctest.testmod(mercurial.revset)

import mercurial.minirst
doctest.testmod(mercurial.minirst)

import mercurial.templatefilters
doctest.testmod(mercurial.templatefilters)