Added options that use square brackets in their names; this ensures that
GNOME-style internationalized options can be parsed using ConfigParser
(SF bug #131635).

Converted the tests to use test_support.verify() instead of output
comparison to work.
diff --git a/Lib/test/test_cfgparser.py b/Lib/test/test_cfgparser.py
index bd06d3b..f0228b2 100644
--- a/Lib/test/test_cfgparser.py
+++ b/Lib/test/test_cfgparser.py
@@ -1,44 +1,39 @@
 import ConfigParser
 import StringIO
 
-from test_support import TestFailed
+from test_support import TestFailed, verify
 
 
 def basic(src):
-    print
     print "Testing basic accessors..."
     cf = ConfigParser.ConfigParser()
     sio = StringIO.StringIO(src)
     cf.readfp(sio)
     L = cf.sections()
     L.sort()
-    print L
-    for s in L:
-        print "%s: %s" % (s, cf.options(s))
+    verify(L == ['Commented Bar', 'Foo Bar',
+                 'Internationalized Stuff', 'Spacey Bar'],
+           "unexpected list of section names")
 
     # The use of spaces in the section names serves as a regression test for
     # SourceForge bug #115357.
     # http://sourceforge.net/bugs/?func=detailbug&group_id=5470&bug_id=115357
-    print `cf.get('Foo Bar', 'foo', raw=1)`
-    print `cf.get('Spacey Bar', 'foo', raw=1)`
-    print `cf.get('Commented Bar', 'foo', raw=1)`
+    verify(cf.get('Foo Bar', 'foo', raw=1) == 'bar')
+    verify(cf.get('Spacey Bar', 'foo', raw=1) == 'bar')
+    verify(cf.get('Commented Bar', 'foo', raw=1) == 'bar')
 
-    if '__name__' in cf.options("Foo Bar"):
-        print '__name__ "option" should not be exposed by the API!'
-    else:
-        print '__name__ "option" properly hidden by the API.'
+    verify('__name__' not in cf.options("Foo Bar"),
+           '__name__ "option" should not be exposed by the API!')
 
     # Make sure the right things happen for remove_option();
     # added to include check for SourceForge bug #123324:
-    if not cf.remove_option('Foo Bar', 'foo'):
-        raise TestFailed(
-            "remove_option() failed to report existance of option")
-    if cf.has_option('Foo Bar', 'foo'):
-        raise TestFailed("remove_option() failed to remove option")
-    if cf.remove_option('Foo Bar', 'foo'):
-        raise TestFailed(
-            "remove_option() failed to report non-existance of option"
-            " that was removed")
+    verify(cf.remove_option('Foo Bar', 'foo'),
+           "remove_option() failed to report existance of option")
+    verify(not cf.has_option('Foo Bar', 'foo'),
+           "remove_option() failed to remove option")
+    verify(not cf.remove_option('Foo Bar', 'foo'),
+           "remove_option() failed to report non-existance of option"
+           " that was removed")
     try:
         cf.remove_option('No Such Section', 'foo')
     except ConfigParser.NoSectionError:
@@ -50,20 +45,21 @@
 
 
 def interpolation(src):
-    print
     print "Testing value interpolation..."
     cf = ConfigParser.ConfigParser({"getname": "%(__name__)s"})
     sio = StringIO.StringIO(src)
     cf.readfp(sio)
-    print `cf.get("Foo", "getname")`
-    print `cf.get("Foo", "bar")`
-    print `cf.get("Foo", "bar9")`
-    print `cf.get("Foo", "bar10")`
+    verify(cf.get("Foo", "getname") == "Foo")
+    verify(cf.get("Foo", "bar") == "something with interpolation (1 step)")
+    verify(cf.get("Foo", "bar9")
+           == "something with lots of interpolation (9 steps)")
+    verify(cf.get("Foo", "bar10")
+           == "something with lots of interpolation (10 steps)")
     expect_get_error(cf, ConfigParser.InterpolationDepthError, "Foo", "bar11")
 
+
 def parse_errors():
-    print
-    print "Testing for parsing errors..."
+    print "Testing parse errors..."
     expect_parse_error(ConfigParser.ParsingError,
                        """[Foo]\n  extra-spaces: splat\n""")
     expect_parse_error(ConfigParser.ParsingError,
@@ -77,48 +73,52 @@
     expect_parse_error(ConfigParser.MissingSectionHeaderError,
                        """No Section!\n""")
 
+
 def query_errors():
-    print
     print "Testing query interface..."
     cf = ConfigParser.ConfigParser()
-    print cf.sections()
-    print "Has section 'Foo'?", cf.has_section("Foo")
+    verify(cf.sections() == [],
+           "new ConfigParser should have no defined sections")
+    verify(not cf.has_section("Foo"),
+           "new ConfigParser should have no acknowledged sections")
     try:
         cf.options("Foo")
     except ConfigParser.NoSectionError, e:
-        print "Caught expected NoSectionError:", e
+        pass
     else:
-        print "Failed to catch expected NoSectionError from options()"
+        raise TestFailed(
+            "Failed to catch expected NoSectionError from options()")
     try:
         cf.set("foo", "bar", "value")
     except ConfigParser.NoSectionError, e:
-        print "Caught expected NoSectionError:", e
+        pass
     else:
-        print "Failed to catch expected NoSectionError from set()"
+        raise TestFailed("Failed to catch expected NoSectionError from set()")
     expect_get_error(cf, ConfigParser.NoSectionError, "foo", "bar")
     cf.add_section("foo")
     expect_get_error(cf, ConfigParser.NoOptionError, "foo", "bar")
 
+
 def weird_errors():
-    print
     print "Testing miscellaneous error conditions..."
     cf = ConfigParser.ConfigParser()
     cf.add_section("Foo")
     try:
         cf.add_section("Foo")
     except ConfigParser.DuplicateSectionError, e:
-        print "Caught expected DuplicateSectionError:", e
+        pass
     else:
-        print "Failed to catch expected DuplicateSectionError"
+        raise TestFailed("Failed to catch expected DuplicateSectionError")
+
 
 def expect_get_error(cf, exctype, section, option, raw=0):
     try:
         cf.get(section, option, raw=raw)
     except exctype, e:
-        print "Caught expected", exctype.__name__, ":"
-        print e
+        pass
     else:
-        print "Failed to catch expected", exctype.__name__
+        raise TestFailed("Failed to catch expected " + exctype.__name__)
+
 
 def expect_parse_error(exctype, src):
     cf = ConfigParser.ConfigParser()
@@ -126,9 +126,10 @@
     try:
         cf.readfp(sio)
     except exctype, e:
-        print "Caught expected exception:", e
+        pass
     else:
-        print "Failed to catch expected", exctype.__name__
+        raise TestFailed("Failed to catch expected " + exctype.__name__)
+
 
 basic(r"""
 [Foo Bar]
@@ -137,6 +138,11 @@
 foo = bar
 [Commented Bar]
 foo: bar ; comment
+[Internationalized Stuff]
+foo[bg]: Bulgarian
+foo=Default
+foo[en]=English
+foo[de]=Deutsch
 """)
 interpolation(r"""
 [Foo]