tests/test-check-help.t
author Matt Harbison <matt_harbison@yahoo.com>
Sat, 18 Jan 2020 01:54:17 -0500
changeset 44113 e77b57e09bfa
parent 41010 b6c610bf567e
child 48967 42d2b31cee0b
permissions -rw-r--r--
verify: avoid spurious integrity warnings in verbose mode (issue6172) The issue seems to revolve around renames in filtered commits, and only occurred in verbose mode. The problem occurs in the `# check renames` stage, around line 577. Without using the unfiltered repo, this test would have printed: $ hg verify -v repository uses revlog format 1 checking changesets checking manifests crosschecking files in changesets and manifests checking files foo@25: checking rename of 71ec0570c325: filtered revision '25' foobar@26: checking rename of 1b549296015b: filtered revision '26' checked 28 changesets with 16 changes to 11 files 2 integrity errors encountered! (first damaged changeset appears to be 25) [1] Differential Revision: https://phab.mercurial-scm.org/D7950

#require test-repo

  $ . "$TESTDIR/helpers-testrepo.sh"

  $ cat <<'EOF' > scanhelptopics.py
  > from __future__ import absolute_import, print_function
  > import re
  > import sys
  > if sys.platform == "win32":
  >     import msvcrt
  >     import os
  >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
  > stdout = getattr(sys.stdout, 'buffer', sys.stdout)
  > topics = set()
  > topicre = re.compile(br':hg:`help ([a-z0-9\-.]+)`')
  > for fname in sys.argv:
  >     with open(fname, 'rb') as f:
  >         topics.update(m.group(1) for m in topicre.finditer(f.read()))
  > for s in sorted(topics):
  >     stdout.write(b'%s\n' % s)
  > EOF

  $ cd "$TESTDIR"/..

Check if ":hg:`help TOPIC`" is valid:
(use "xargs -n1 -t" to see which help commands are executed)

  $ testrepohg files 'glob:{hgdemandimport,hgext,mercurial}/**/*.py' \
  > | sed 's|\\|/|g' \
  > | xargs "$PYTHON" "$TESTTMP/scanhelptopics.py" \
  > | xargs -n1 hg help --config extensions.phabricator= > /dev/null