From: Debian Python Team Date: Thu, 28 Oct 2021 20:22:46 +0000 (+0100) Subject: proposed_upstream__doctest.path X-Git-Tag: archive/raspbian/5.9.3-1+rpi1^2~7 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f2bf83491550c4c681e876786be93023bf9c170e;p=mercurial.git proposed_upstream__doctest.path # HG changeset patch # User Julien Cristau # Date 1589916203 -7200 # Tue May 19 21:23:23 2020 +0200 # Node ID de789b6b188b62cf38c5c5cfe760cff9a48c52f5 # Parent 3b7aabd02e11fcfc015b3a90a0c52d971a7b8a83 test: make test-doctest.py work when it's not run from a mercurial repo This assumption fails when building and running tests from a source tarball, e.g. Differential Revision: https://phab.mercurial-scm.org/D8571 Gbp-Pq: Name proposed_upstream__doctest.path --- diff --git a/tests/test-doctest.py b/tests/test-doctest.py index 19e9802..e2e1e15 100644 --- a/tests/test-doctest.py +++ b/tests/test-doctest.py @@ -6,7 +6,6 @@ from __future__ import print_function import doctest import os import re -import subprocess import sys ispy3 = sys.version_info[0] >= 3 @@ -70,16 +69,18 @@ testmod_arg_overrides = { fileset = 'set:(**.py)' -cwd = os.path.dirname(os.environ["TESTDIR"]) - -if not os.path.isdir(os.path.join(cwd, ".hg")): - sys.exit(0) - -files = subprocess.check_output( - "hg files --print0 \"%s\"" % fileset, - shell=True, - cwd=cwd, -).split(b'\0') +if ispy3: + cwd = os.path.dirname(os.environb[b"TESTDIR"]) +else: + cwd = os.path.dirname(os.environ["TESTDIR"]) + +files = [] +for dirpath, dirnames, filenames in os.walk(cwd): + excludeddirindexes = reversed([i for i, dir in enumerate(dirnames) if dir == b'build' or dir.startswith(b'.')]) + for i in excludeddirindexes: + del dirnames[i] + # include all .py files, removing the cwd + dirsep prefix + files.extend(os.path.join(dirpath, f)[len(cwd) + 1:] for f in filenames if f.endswith(b'.py')) if sys.version_info[0] >= 3: cwd = os.fsencode(cwd)