tests/test-ui-verbosity.py
author Martin von Zweigbergk <martinvonz@google.com>
Fri, 28 Sep 2018 17:09:15 -0700
changeset 40084 2cf18f46a1ce
parent 37927 76d0a343c305
child 43076 2372284d9457
permissions -rw-r--r--
narrow: only walk files within narrowspec also for committed revisions Narrow has been walking only paths matching the narrowspec when walking the working copy. We have not done the same filtering when walking committed revisions (e.g. "hg files -r "), which seems a little odd. Let's make it consistent. Differential Revision: https://phab.mercurial-scm.org/D4898

from __future__ import absolute_import, print_function

import os
from mercurial import (
    pycompat,
    ui as uimod,
)

if pycompat.ispy3:
    xrange = range

hgrc = os.environ['HGRCPATH']
f = open(hgrc)
basehgrc = f.read()
f.close()

print('      hgrc settings    command line options      final result   ')
print('    quiet verbo debug   quiet verbo debug      quiet verbo debug')

for i in xrange(64):
    hgrc_quiet   = bool(i & 1<<0)
    hgrc_verbose = bool(i & 1<<1)
    hgrc_debug   = bool(i & 1<<2)
    cmd_quiet    = bool(i & 1<<3)
    cmd_verbose  = bool(i & 1<<4)
    cmd_debug    = bool(i & 1<<5)

    f = open(hgrc, 'w')
    f.write(basehgrc)
    f.write('\n[ui]\n')
    if hgrc_quiet:
        f.write('quiet = True\n')
    if hgrc_verbose:
        f.write('verbose = True\n')
    if hgrc_debug:
        f.write('debug = True\n')
    f.close()

    u = uimod.ui.load()
    if cmd_quiet or cmd_debug or cmd_verbose:
        u.setconfig(b'ui', b'quiet', pycompat.bytestr(bool(cmd_quiet)))
        u.setconfig(b'ui', b'verbose', pycompat.bytestr(bool(cmd_verbose)))
        u.setconfig(b'ui', b'debug', pycompat.bytestr(bool(cmd_debug)))

    check = ''
    if u.debugflag:
        if not u.verbose or u.quiet:
            check = ' *'
    elif u.verbose and u.quiet:
        check = ' +'

    print(('%2d  %5s %5s %5s   %5s %5s %5s  ->  %5s %5s %5s%s'
           % (i, hgrc_quiet, hgrc_verbose, hgrc_debug,
              cmd_quiet, cmd_verbose, cmd_debug,
              u.quiet, u.verbose, u.debugflag, check)))