tests: renamed Python tests to .py
authorMartin Geisler <mg@lazybytes.net>
Sun, 17 May 2009 01:39:31 +0200
changeset 8449 807f3f5c60e9
parent 8448 0eb8c4df61bd
child 8450 4a2274a5dcaa
tests: renamed Python tests to .py
tests/test-bdiff
tests/test-bdiff.out
tests/test-bdiff.py
tests/test-bdiff.py.out
tests/test-demandimport
tests/test-demandimport.out
tests/test-demandimport.py
tests/test-demandimport.py.out
tests/test-ui-config
tests/test-ui-config.out
tests/test-ui-config.py
tests/test-ui-config.py.out
tests/test-ui-verbosity
tests/test-ui-verbosity.out
tests/test-ui-verbosity.py
tests/test-ui-verbosity.py.out
--- a/tests/test-bdiff	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#!/usr/bin/env python
-
-import sys, struct
-from mercurial import bdiff, mpatch
-
-def test1(a, b):
-    d = bdiff.bdiff(a, b)
-    c = a
-    if d:
-        c = mpatch.patches(a, [d])
-    if c != b:
-        print "***", repr(a), repr(b)
-        print "bad:"
-        print repr(c)[:200]
-        print repr(d)
-
-def test(a, b):
-    print "***", repr(a), repr(b)
-    test1(a, b)
-    test1(b, a)
-
-test("a\nc\n\n\n\n", "a\nb\n\n\n")
-test("a\nb\nc\n", "a\nc\n")
-test("", "")
-test("a\nb\nc", "a\nb\nc")
-test("a\nb\nc\nd\n", "a\nd\n")
-test("a\nb\nc\nd\n", "a\nc\ne\n")
-test("a\nb\nc\n", "a\nc\n")
-test("a\n", "c\na\nb\n")
-test("a\n", "")
-test("a\n", "b\nc\n")
-test("a\n", "c\na\n")
-test("", "adjfkjdjksdhfksj")
-test("", "ab")
-test("", "abc")
-test("a", "a")
-test("ab", "ab")
-test("abc", "abc")
-test("a\n", "a\n")
-test("a\nb", "a\nb")
-
-#issue1295
-def showdiff(a, b):
-    bin = bdiff.bdiff(a, b)
-    pos = 0
-    while pos < len(bin):
-        p1, p2, l = struct.unpack(">lll", bin[pos:pos + 12])
-        pos += 12
-        print p1, p2, repr(bin[pos:pos + l])
-        pos += l
-showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n")
-showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n")
-
-print "done"
--- a/tests/test-bdiff.out	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-*** 'a\nc\n\n\n\n' 'a\nb\n\n\n'
-*** 'a\nb\nc\n' 'a\nc\n'
-*** '' ''
-*** 'a\nb\nc' 'a\nb\nc'
-*** 'a\nb\nc\nd\n' 'a\nd\n'
-*** 'a\nb\nc\nd\n' 'a\nc\ne\n'
-*** 'a\nb\nc\n' 'a\nc\n'
-*** 'a\n' 'c\na\nb\n'
-*** 'a\n' ''
-*** 'a\n' 'b\nc\n'
-*** 'a\n' 'c\na\n'
-*** '' 'adjfkjdjksdhfksj'
-*** '' 'ab'
-*** '' 'abc'
-*** 'a' 'a'
-*** 'ab' 'ab'
-*** 'abc' 'abc'
-*** 'a\n' 'a\n'
-*** 'a\nb' 'a\nb'
-6 6 'y\n\n'
-6 6 'y\n\n'
-9 9 'y\n\n'
-done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-bdiff.py	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+
+import sys, struct
+from mercurial import bdiff, mpatch
+
+def test1(a, b):
+    d = bdiff.bdiff(a, b)
+    c = a
+    if d:
+        c = mpatch.patches(a, [d])
+    if c != b:
+        print "***", repr(a), repr(b)
+        print "bad:"
+        print repr(c)[:200]
+        print repr(d)
+
+def test(a, b):
+    print "***", repr(a), repr(b)
+    test1(a, b)
+    test1(b, a)
+
+test("a\nc\n\n\n\n", "a\nb\n\n\n")
+test("a\nb\nc\n", "a\nc\n")
+test("", "")
+test("a\nb\nc", "a\nb\nc")
+test("a\nb\nc\nd\n", "a\nd\n")
+test("a\nb\nc\nd\n", "a\nc\ne\n")
+test("a\nb\nc\n", "a\nc\n")
+test("a\n", "c\na\nb\n")
+test("a\n", "")
+test("a\n", "b\nc\n")
+test("a\n", "c\na\n")
+test("", "adjfkjdjksdhfksj")
+test("", "ab")
+test("", "abc")
+test("a", "a")
+test("ab", "ab")
+test("abc", "abc")
+test("a\n", "a\n")
+test("a\nb", "a\nb")
+
+#issue1295
+def showdiff(a, b):
+    bin = bdiff.bdiff(a, b)
+    pos = 0
+    while pos < len(bin):
+        p1, p2, l = struct.unpack(">lll", bin[pos:pos + 12])
+        pos += 12
+        print p1, p2, repr(bin[pos:pos + l])
+        pos += l
+showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\nx\n\nz\n")
+showdiff("x\n\nx\n\nx\n\nx\n\nz\n", "x\n\nx\n\ny\n\nx\n\ny\n\nx\n\nz\n")
+
+print "done"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-bdiff.py.out	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,23 @@
+*** 'a\nc\n\n\n\n' 'a\nb\n\n\n'
+*** 'a\nb\nc\n' 'a\nc\n'
+*** '' ''
+*** 'a\nb\nc' 'a\nb\nc'
+*** 'a\nb\nc\nd\n' 'a\nd\n'
+*** 'a\nb\nc\nd\n' 'a\nc\ne\n'
+*** 'a\nb\nc\n' 'a\nc\n'
+*** 'a\n' 'c\na\nb\n'
+*** 'a\n' ''
+*** 'a\n' 'b\nc\n'
+*** 'a\n' 'c\na\n'
+*** '' 'adjfkjdjksdhfksj'
+*** '' 'ab'
+*** '' 'abc'
+*** 'a' 'a'
+*** 'ab' 'ab'
+*** 'abc' 'abc'
+*** 'a\n' 'a\n'
+*** 'a\nb' 'a\nb'
+6 6 'y\n\n'
+6 6 'y\n\n'
+9 9 'y\n\n'
+done
--- a/tests/test-demandimport	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-from mercurial import demandimport
-demandimport.enable()
-
-import re
-
-rsub = re.sub
-def f(obj):
-    l = repr(obj)
-    l = rsub("0x[0-9a-fA-F]+", "0x?", l)
-    l = rsub("from '.*'", "from '?'", l)
-    return l
-
-import os
-
-print "os =", f(os)
-print "os.system =", f(os.system)
-print "os =", f(os)
-
-from mercurial import util
-
-print "util =", f(util)
-print "util.system =", f(util.system)
-print "util =", f(util)
-print "util.system =", f(util.system)
-
-import re as fred
-print "fred =", f(fred)
-
-import sys as re
-print "re =", f(re)
-
-print "fred =", f(fred)
-print "fred.sub =", f(fred.sub)
-print "fred =", f(fred)
-
-print "re =", f(re)
-print "re.stdout =", f(re.stdout)
-print "re =", f(re)
--- a/tests/test-demandimport.out	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-os = <unloaded module 'os'>
-os.system = <built-in function system>
-os = <module 'os' from '?'>
-util = <unloaded module 'util'>
-util.system = <function system at 0x?>
-util = <module 'mercurial.util' from '?'>
-util.system = <function system at 0x?>
-fred = <unloaded module 're'>
-re = <unloaded module 'sys'>
-fred = <unloaded module 're'>
-fred.sub = <function sub at 0x?>
-fred = <proxied module 're'>
-re = <unloaded module 'sys'>
-re.stdout = <open file '<stdout>', mode 'w' at 0x?>
-re = <proxied module 'sys'>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-demandimport.py	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+
+from mercurial import demandimport
+demandimport.enable()
+
+import re
+
+rsub = re.sub
+def f(obj):
+    l = repr(obj)
+    l = rsub("0x[0-9a-fA-F]+", "0x?", l)
+    l = rsub("from '.*'", "from '?'", l)
+    return l
+
+import os
+
+print "os =", f(os)
+print "os.system =", f(os.system)
+print "os =", f(os)
+
+from mercurial import util
+
+print "util =", f(util)
+print "util.system =", f(util.system)
+print "util =", f(util)
+print "util.system =", f(util.system)
+
+import re as fred
+print "fred =", f(fred)
+
+import sys as re
+print "re =", f(re)
+
+print "fred =", f(fred)
+print "fred.sub =", f(fred.sub)
+print "fred =", f(fred)
+
+print "re =", f(re)
+print "re.stdout =", f(re.stdout)
+print "re =", f(re)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-demandimport.py.out	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,15 @@
+os = <unloaded module 'os'>
+os.system = <built-in function system>
+os = <module 'os' from '?'>
+util = <unloaded module 'util'>
+util.system = <function system at 0x?>
+util = <module 'mercurial.util' from '?'>
+util.system = <function system at 0x?>
+fred = <unloaded module 're'>
+re = <unloaded module 'sys'>
+fred = <unloaded module 're'>
+fred.sub = <function sub at 0x?>
+fred = <proxied module 're'>
+re = <unloaded module 'sys'>
+re.stdout = <open file '<stdout>', mode 'w' at 0x?>
+re = <proxied module 'sys'>
--- a/tests/test-ui-config	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#!/usr/bin/env python
-
-from mercurial import ui, util, dispatch, error
-
-testui = ui.ui()
-parsed = dispatch._parseconfig(testui, [
-    'values.string=string value',
-    'values.bool1=true',
-    'values.bool2=false',
-    'lists.list1=foo',
-    'lists.list2=foo bar baz',
-    'lists.list3=alice, bob',
-    'lists.list4=foo bar baz alice, bob',
-])
-
-print repr(testui.configitems('values'))
-print repr(testui.configitems('lists'))
-print "---"
-print repr(testui.config('values', 'string'))
-print repr(testui.config('values', 'bool1'))
-print repr(testui.config('values', 'bool2'))
-print repr(testui.config('values', 'unknown'))
-print "---"
-try:
-    print repr(testui.configbool('values', 'string'))
-except error.ConfigError, inst:
-    print inst
-print repr(testui.configbool('values', 'bool1'))
-print repr(testui.configbool('values', 'bool2'))
-print repr(testui.configbool('values', 'bool2', True))
-print repr(testui.configbool('values', 'unknown'))
-print repr(testui.configbool('values', 'unknown', True))
-print "---"
-print repr(testui.configlist('lists', 'list1'))
-print repr(testui.configlist('lists', 'list2'))
-print repr(testui.configlist('lists', 'list3'))
-print repr(testui.configlist('lists', 'list4'))
-print repr(testui.configlist('lists', 'list4', ['foo']))
-print repr(testui.configlist('lists', 'unknown'))
-print repr(testui.configlist('lists', 'unknown', ''))
-print repr(testui.configlist('lists', 'unknown', 'foo'))
-print repr(testui.configlist('lists', 'unknown', ['foo']))
-print repr(testui.configlist('lists', 'unknown', 'foo bar'))
-print repr(testui.configlist('lists', 'unknown', 'foo, bar'))
-print repr(testui.configlist('lists', 'unknown', ['foo bar']))
-print repr(testui.configlist('lists', 'unknown', ['foo', 'bar']))
-
-print repr(testui.config('values', 'String'))
-
-def function():
-    pass
-
-# values that aren't strings should work
-testui.setconfig('hook', 'commit', function)
-print function == testui.config('hook', 'commit')
--- a/tests/test-ui-config.out	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-[('string', 'string value'), ('bool1', 'true'), ('bool2', 'false')]
-[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob')]
----
-'string value'
-'true'
-'false'
-None
----
-values.string not a boolean ('string value')
-True
-False
-False
-False
-True
----
-['foo']
-['foo', 'bar', 'baz']
-['alice', 'bob']
-['foo', 'bar', 'baz', 'alice', 'bob']
-['foo', 'bar', 'baz', 'alice', 'bob']
-[]
-[]
-['foo']
-['foo']
-['foo', 'bar']
-['foo', 'bar']
-['foo bar']
-['foo', 'bar']
-None
-True
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-ui-config.py	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+
+from mercurial import ui, util, dispatch, error
+
+testui = ui.ui()
+parsed = dispatch._parseconfig(testui, [
+    'values.string=string value',
+    'values.bool1=true',
+    'values.bool2=false',
+    'lists.list1=foo',
+    'lists.list2=foo bar baz',
+    'lists.list3=alice, bob',
+    'lists.list4=foo bar baz alice, bob',
+])
+
+print repr(testui.configitems('values'))
+print repr(testui.configitems('lists'))
+print "---"
+print repr(testui.config('values', 'string'))
+print repr(testui.config('values', 'bool1'))
+print repr(testui.config('values', 'bool2'))
+print repr(testui.config('values', 'unknown'))
+print "---"
+try:
+    print repr(testui.configbool('values', 'string'))
+except error.ConfigError, inst:
+    print inst
+print repr(testui.configbool('values', 'bool1'))
+print repr(testui.configbool('values', 'bool2'))
+print repr(testui.configbool('values', 'bool2', True))
+print repr(testui.configbool('values', 'unknown'))
+print repr(testui.configbool('values', 'unknown', True))
+print "---"
+print repr(testui.configlist('lists', 'list1'))
+print repr(testui.configlist('lists', 'list2'))
+print repr(testui.configlist('lists', 'list3'))
+print repr(testui.configlist('lists', 'list4'))
+print repr(testui.configlist('lists', 'list4', ['foo']))
+print repr(testui.configlist('lists', 'unknown'))
+print repr(testui.configlist('lists', 'unknown', ''))
+print repr(testui.configlist('lists', 'unknown', 'foo'))
+print repr(testui.configlist('lists', 'unknown', ['foo']))
+print repr(testui.configlist('lists', 'unknown', 'foo bar'))
+print repr(testui.configlist('lists', 'unknown', 'foo, bar'))
+print repr(testui.configlist('lists', 'unknown', ['foo bar']))
+print repr(testui.configlist('lists', 'unknown', ['foo', 'bar']))
+
+print repr(testui.config('values', 'String'))
+
+def function():
+    pass
+
+# values that aren't strings should work
+testui.setconfig('hook', 'commit', function)
+print function == testui.config('hook', 'commit')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-ui-config.py.out	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,30 @@
+[('string', 'string value'), ('bool1', 'true'), ('bool2', 'false')]
+[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob')]
+---
+'string value'
+'true'
+'false'
+None
+---
+values.string not a boolean ('string value')
+True
+False
+False
+False
+True
+---
+['foo']
+['foo', 'bar', 'baz']
+['alice', 'bob']
+['foo', 'bar', 'baz', 'alice', 'bob']
+['foo', 'bar', 'baz', 'alice', 'bob']
+[]
+[]
+['foo']
+['foo']
+['foo', 'bar']
+['foo', 'bar']
+['foo bar']
+['foo', 'bar']
+None
+True
--- a/tests/test-ui-verbosity	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-
-import os
-from mercurial import ui
-
-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 = ui.ui()
-    if cmd_quiet or cmd_debug or cmd_verbose:
-        u.setconfig('ui', 'quiet', str(bool(cmd_quiet)))
-        u.setconfig('ui', 'verbose', str(bool(cmd_verbose)))
-        u.setconfig('ui', 'debug', str(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))
--- a/tests/test-ui-verbosity.out	Sun May 17 02:31:12 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-      hgrc settings    command line options      final result   
-    quiet verbo debug   quiet verbo debug      quiet verbo debug
- 0  False False False   False False False  ->  False False False
- 1   True False False   False False False  ->   True False False
- 2  False  True False   False False False  ->  False  True False
- 3   True  True False   False False False  ->  False False False
- 4  False False  True   False False False  ->  False  True  True
- 5   True False  True   False False False  ->  False  True  True
- 6  False  True  True   False False False  ->  False  True  True
- 7   True  True  True   False False False  ->  False  True  True
- 8  False False False    True False False  ->   True False False
- 9   True False False    True False False  ->   True False False
-10  False  True False    True False False  ->   True False False
-11   True  True False    True False False  ->   True False False
-12  False False  True    True False False  ->   True False False
-13   True False  True    True False False  ->   True False False
-14  False  True  True    True False False  ->   True False False
-15   True  True  True    True False False  ->   True False False
-16  False False False   False  True False  ->  False  True False
-17   True False False   False  True False  ->  False  True False
-18  False  True False   False  True False  ->  False  True False
-19   True  True False   False  True False  ->  False  True False
-20  False False  True   False  True False  ->  False  True False
-21   True False  True   False  True False  ->  False  True False
-22  False  True  True   False  True False  ->  False  True False
-23   True  True  True   False  True False  ->  False  True False
-24  False False False    True  True False  ->  False False False
-25   True False False    True  True False  ->  False False False
-26  False  True False    True  True False  ->  False False False
-27   True  True False    True  True False  ->  False False False
-28  False False  True    True  True False  ->  False False False
-29   True False  True    True  True False  ->  False False False
-30  False  True  True    True  True False  ->  False False False
-31   True  True  True    True  True False  ->  False False False
-32  False False False   False False  True  ->  False  True  True
-33   True False False   False False  True  ->  False  True  True
-34  False  True False   False False  True  ->  False  True  True
-35   True  True False   False False  True  ->  False  True  True
-36  False False  True   False False  True  ->  False  True  True
-37   True False  True   False False  True  ->  False  True  True
-38  False  True  True   False False  True  ->  False  True  True
-39   True  True  True   False False  True  ->  False  True  True
-40  False False False    True False  True  ->  False  True  True
-41   True False False    True False  True  ->  False  True  True
-42  False  True False    True False  True  ->  False  True  True
-43   True  True False    True False  True  ->  False  True  True
-44  False False  True    True False  True  ->  False  True  True
-45   True False  True    True False  True  ->  False  True  True
-46  False  True  True    True False  True  ->  False  True  True
-47   True  True  True    True False  True  ->  False  True  True
-48  False False False   False  True  True  ->  False  True  True
-49   True False False   False  True  True  ->  False  True  True
-50  False  True False   False  True  True  ->  False  True  True
-51   True  True False   False  True  True  ->  False  True  True
-52  False False  True   False  True  True  ->  False  True  True
-53   True False  True   False  True  True  ->  False  True  True
-54  False  True  True   False  True  True  ->  False  True  True
-55   True  True  True   False  True  True  ->  False  True  True
-56  False False False    True  True  True  ->  False  True  True
-57   True False False    True  True  True  ->  False  True  True
-58  False  True False    True  True  True  ->  False  True  True
-59   True  True False    True  True  True  ->  False  True  True
-60  False False  True    True  True  True  ->  False  True  True
-61   True False  True    True  True  True  ->  False  True  True
-62  False  True  True    True  True  True  ->  False  True  True
-63   True  True  True    True  True  True  ->  False  True  True
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-ui-verbosity.py	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+
+import os
+from mercurial import ui
+
+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 = ui.ui()
+    if cmd_quiet or cmd_debug or cmd_verbose:
+        u.setconfig('ui', 'quiet', str(bool(cmd_quiet)))
+        u.setconfig('ui', 'verbose', str(bool(cmd_verbose)))
+        u.setconfig('ui', 'debug', str(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))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-ui-verbosity.py.out	Sun May 17 01:39:31 2009 +0200
@@ -0,0 +1,66 @@
+      hgrc settings    command line options      final result   
+    quiet verbo debug   quiet verbo debug      quiet verbo debug
+ 0  False False False   False False False  ->  False False False
+ 1   True False False   False False False  ->   True False False
+ 2  False  True False   False False False  ->  False  True False
+ 3   True  True False   False False False  ->  False False False
+ 4  False False  True   False False False  ->  False  True  True
+ 5   True False  True   False False False  ->  False  True  True
+ 6  False  True  True   False False False  ->  False  True  True
+ 7   True  True  True   False False False  ->  False  True  True
+ 8  False False False    True False False  ->   True False False
+ 9   True False False    True False False  ->   True False False
+10  False  True False    True False False  ->   True False False
+11   True  True False    True False False  ->   True False False
+12  False False  True    True False False  ->   True False False
+13   True False  True    True False False  ->   True False False
+14  False  True  True    True False False  ->   True False False
+15   True  True  True    True False False  ->   True False False
+16  False False False   False  True False  ->  False  True False
+17   True False False   False  True False  ->  False  True False
+18  False  True False   False  True False  ->  False  True False
+19   True  True False   False  True False  ->  False  True False
+20  False False  True   False  True False  ->  False  True False
+21   True False  True   False  True False  ->  False  True False
+22  False  True  True   False  True False  ->  False  True False
+23   True  True  True   False  True False  ->  False  True False
+24  False False False    True  True False  ->  False False False
+25   True False False    True  True False  ->  False False False
+26  False  True False    True  True False  ->  False False False
+27   True  True False    True  True False  ->  False False False
+28  False False  True    True  True False  ->  False False False
+29   True False  True    True  True False  ->  False False False
+30  False  True  True    True  True False  ->  False False False
+31   True  True  True    True  True False  ->  False False False
+32  False False False   False False  True  ->  False  True  True
+33   True False False   False False  True  ->  False  True  True
+34  False  True False   False False  True  ->  False  True  True
+35   True  True False   False False  True  ->  False  True  True
+36  False False  True   False False  True  ->  False  True  True
+37   True False  True   False False  True  ->  False  True  True
+38  False  True  True   False False  True  ->  False  True  True
+39   True  True  True   False False  True  ->  False  True  True
+40  False False False    True False  True  ->  False  True  True
+41   True False False    True False  True  ->  False  True  True
+42  False  True False    True False  True  ->  False  True  True
+43   True  True False    True False  True  ->  False  True  True
+44  False False  True    True False  True  ->  False  True  True
+45   True False  True    True False  True  ->  False  True  True
+46  False  True  True    True False  True  ->  False  True  True
+47   True  True  True    True False  True  ->  False  True  True
+48  False False False   False  True  True  ->  False  True  True
+49   True False False   False  True  True  ->  False  True  True
+50  False  True False   False  True  True  ->  False  True  True
+51   True  True False   False  True  True  ->  False  True  True
+52  False False  True   False  True  True  ->  False  True  True
+53   True False  True   False  True  True  ->  False  True  True
+54  False  True  True   False  True  True  ->  False  True  True
+55   True  True  True   False  True  True  ->  False  True  True
+56  False False False    True  True  True  ->  False  True  True
+57   True False False    True  True  True  ->  False  True  True
+58  False  True False    True  True  True  ->  False  True  True
+59   True  True False    True  True  True  ->  False  True  True
+60  False False  True    True  True  True  ->  False  True  True
+61   True False  True    True  True  True  ->  False  True  True
+62  False  True  True    True  True  True  ->  False  True  True
+63   True  True  True    True  True  True  ->  False  True  True