tests/test-doctest.py
author Mads Kiilerich <madski@unity3d.com>
Mon, 28 Jan 2013 15:19:44 +0100
branchstable
changeset 18483 ce5f529deb36
parent 18288 0d5a22f73a1f
child 19098 f01ae031f84c
permissions -rw-r--r--
largefiles: don't allow corruption to propagate after detection basestore.get uses util.atomictempfile when checking and receiving a new largefile ... but the close/discard logic was too clever for largefiles. Largefiles relied on being able to discard the file and thus prevent it from being written to the store. That was however too brittle. lfutil.copyandhash closes the infile after writing to it ... with a 'blecch' comment. The discard was thus a silent noop, and as a result of that corruption would be detected ... and then the corrupted files would be used anyway. Instead we now use a tmp file and rename or unlink it after validating it. A better solution should be implemented ... but not now.

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