Index: pyyaml/trunk/tests3/test_appliance.py
===================================================================
--- pyyaml/trunk/tests/test_appliance.py	(revision 325)
+++ pyyaml/trunk/tests3/test_appliance.py	(revision 328)
@@ -2,5 +2,5 @@
 import sys, os, os.path, types, traceback, pprint
 
-DATA = 'tests/data'
+DATA = 'tests3/data'
 
 def find_test_functions(collections):
@@ -11,7 +11,5 @@
         if not isinstance(collection, dict):
             collection = vars(collection)
-        keys = collection.keys()
-        keys.sort()
-        for key in keys:
+        for key in sorted(collection):
             value = collection[key]
             if isinstance(value, types.FunctionType) and hasattr(value, 'unittest'):
@@ -25,6 +23,5 @@
             base, ext = os.path.splitext(filename)
             filenames.setdefault(base, []).append(ext)
-    filenames = filenames.items()
-    filenames.sort()
+    filenames = sorted(filenames.items())
     return filenames
 
@@ -52,8 +49,5 @@
 
 def execute(function, filenames, verbose):
-    if hasattr(function, 'unittest_name'):
-        name = function.unittest_name
-    else:
-        name = function.func_name
+    name = function.__name__
     if verbose:
         sys.stdout.write('='*75+'\n')
@@ -61,5 +55,5 @@
     try:
         function(verbose=verbose, *filenames)
-    except Exception, exc:
+    except Exception as exc:
         info = sys.exc_info()
         if isinstance(exc, AssertionError):
@@ -107,5 +101,5 @@
             sys.stdout.write('-'*75+'\n')
             sys.stdout.write('%s:\n' % filename)
-            data = open(filename, 'rb').read()
+            data = open(filename, 'r', errors='replace').read()
             sys.stdout.write(data)
             if data and data[-1] != '\n':
@@ -124,5 +118,5 @@
     results = []
     for function in test_functions:
-        if include_functions and function.func_name not in include_functions:
+        if include_functions and function.__name__ not in include_functions:
             continue
         if function.unittest:
