From c80e1118bf9ac768bb44bcac4548d522e9f74a77 Mon Sep 17 00:00:00 2001 From: Debian Python Team Date: Thu, 3 Feb 2022 10:01:46 +0000 Subject: [PATCH] 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 --- tests/test-doctest.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) 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) -- 2.30.2