view tests/test-doctest.py @ 16363:2cdd7e63211b

parsers: incrementally parse the revlog index in C We only parse entries in a revlog index file when they are actually needed, and cache them when first requested. This makes a huge difference to performance on large revlogs when accessing the tip revision or performing a handful of numeric lookups (very common cases). For instance, "hg --time tip --template {node}" on a tree with 300,000 revs takes 0.15 before, 0.02 after. Even for revlog-intensive operations (e.g. running "hg log" to completion), the lazy approach is about 1% faster than the eager parse_index2.
author Bryan O'Sullivan <bryano@fb.com>
date Thu, 05 Apr 2012 13:00:35 -0700
parents db68ee3289b6
children 0d5a22f73a1f
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)

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.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)