view tests/test-ui-verbosity.py @ 48642:009e86022a9d

test-http-bad-server: use the new pattern-reading for a test-case This test case is now less sensitive to change of unrelated bits of the client/server exchange. Since this introduce some churn in the output, we do it independently for each test cases. This patch is the last of such changes, for both sent and recv cases. Differential Revision: https://phab.mercurial-scm.org/D12073
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 21 Jan 2022 19:57:47 +0100
parents 2372284d9457
children 6000f5b25c9b
line wrap: on
line source

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,
            )
        )
    )