Index: branches/pyyaml3000/tests/test_appliance.py
===================================================================
--- branches/pyyaml3000/tests/test_appliance.py	(revision 44)
+++ branches/pyyaml3000/tests/test_appliance.py	(revision 45)
@@ -6,13 +6,13 @@
     DATA = 'tests/data'
 
-    tests = {}
+    all_tests = {}
     for filename in os.listdir(DATA):
         if os.path.isfile(os.path.join(DATA, filename)):
             root, ext = os.path.splitext(filename)
-            tests.setdefault(root, []).append(ext)
+            all_tests.setdefault(root, []).append(ext)
 
     def add_tests(cls, method_name, *extensions):
-        for test in cls.tests:
-            available_extensions = cls.tests[test]
+        for test in cls.all_tests:
+            available_extensions = cls.all_tests[test]
             for ext in extensions:
                 if ext not in available_extensions:
@@ -23,5 +23,11 @@
                     getattr(self, '_'+method_name)(test, *filenames)
                 test = test.replace('-', '_')
-                test_method.__name__ = '%s_%s' % (method_name, test)
+                try:
+                    test_method.__name__ = '%s_%s' % (method_name, test)
+                except TypeError:
+                    import new
+                    test_method = new.function(test_method.func_code, test_method.func_globals,
+                            '%s_%s' % (method_name, test), test_method.func_defaults,
+                            test_method.func_closure)
                 setattr(cls, test_method.__name__, test_method)
     add_tests = classmethod(add_tests)
