Move unified findfile() into test_support.py
diff --git a/Lib/test/test_imgfile.py b/Lib/test/test_imgfile.py
index aa9c414..b074320 100755
--- a/Lib/test/test_imgfile.py
+++ b/Lib/test/test_imgfile.py
@@ -4,7 +4,7 @@
    Roger E. Masse
 """
 
-from test_support import verbose, unlink
+from test_support import verbose, unlink, findfile
 
 import imgfile, uu, os
 
@@ -23,14 +23,6 @@
     unlink('test.rgb')
     unlink('greytest.rgb')
 
-def findfile(file):
-        if os.path.isabs(file): return file
-        import sys
-        for dn in sys.path:
-                fn = os.path.join(dn, file)
-                if os.path.exists(fn): return fn
-        return file
-
 def testimage(name):
     """Run through the imgfile's battery of possible methods
        on the image passed in name.
diff --git a/Lib/test/test_rgbimg.py b/Lib/test/test_rgbimg.py
index 0c449da..38bcdf5 100644
--- a/Lib/test/test_rgbimg.py
+++ b/Lib/test/test_rgbimg.py
@@ -2,25 +2,12 @@
 
 import rgbimg, os, uu
 
-from test_support import verbose, unlink
+from test_support import verbose, unlink, findfile
 
 error = 'test_rgbimg.error'
 
 print 'RGBimg test suite:'
 
-def findfile(file):
-        if os.path.isabs(file): return file
-        import sys
-        path = sys.path
-        try:
-            path = [os.path.dirname(__file__)] + path
-        except NameError:
-            pass
-        for dn in path:
-                fn = os.path.join(dn, file)
-                if os.path.exists(fn): return fn
-        return file
-
 def testimg(rgb_file, raw_file):
         rgb_file = findfile(rgb_file)
         raw_file = findfile(raw_file)
diff --git a/Lib/test/test_sunaudiodev.py b/Lib/test/test_sunaudiodev.py
index 1438c09..af18761 100644
--- a/Lib/test/test_sunaudiodev.py
+++ b/Lib/test/test_sunaudiodev.py
@@ -1,20 +1,7 @@
-from test_support import verbose, TestFailed
+from test_support import verbose, findfile, TestFailed
 import sunaudiodev
 import os
 
-def findfile(file):
-        if os.path.isabs(file): return file
-        import sys
-        path = sys.path
-        try:
-                path = [os.path.dirname(__file__)] + path
-        except NameError:
-                pass
-        for dn in path:
-                fn = os.path.join(dn, file)
-                if os.path.exists(fn): return fn
-        return file
-
 def play_sound_file(path):
     fp = open(path, 'r')
     data = fp.read()
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 7dc1940..478c845 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -41,3 +41,15 @@
 
 TESTFN = '@test' # Filename used for testing
 from os import unlink
+
+def findfile(file, here=__file__):
+	import os
+        if os.path.isabs(file):
+		return file
+        import sys
+        path = sys.path
+	path = [os.path.dirname(here)] + path
+        for dn in path:
+                fn = os.path.join(dn, file)
+                if os.path.exists(fn): return fn
+        return file
diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py
index 34a7bfb..cd97e9a 100644
--- a/Lib/test/test_tokenize.py
+++ b/Lib/test/test_tokenize.py
@@ -1,18 +1,6 @@
-from test_support import verbose
+from test_support import verbose, findfile
 import tokenize, os, sys
 
-def findfile(file):
-	if os.path.isabs(file): return file
-	path = sys.path
-	try:
-	    path = [os.path.dirname(__file__)] + path
-	except NameError:
-	    pass
-	for dn in path:
-		fn = os.path.join(dn, file)
-		if os.path.exists(fn): return fn
-	return file
-
 if verbose:
     print 'starting...'
 file = open(findfile('tokenize_tests.py'))