diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
index ed100c1..c5e5ea1 100644
--- a/Lib/test/test_file.py
+++ b/Lib/test/test_file.py
@@ -220,7 +220,7 @@
         except ValueError, msg:
             if msg[0] != 0:
                 s = str(msg)
-                if s.find(TESTFN) != -1 or s.find(bad_mode) == -1:
+                if TESTFN in s or bad_mode not in s:
                     self.fail("bad error message for invalid mode: %s" % s)
             # if msg[0] == 0, we're probably on Windows where there may be
             # no obvious way to discover why open() failed.
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index 0eea86b..d1b3751 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -189,7 +189,7 @@
         except ValueError as msg:
             if msg.args[0] != 0:
                 s = str(msg)
-                if s.find(TESTFN) != -1 or s.find(bad_mode) == -1:
+                if TESTFN in s or bad_mode not in s:
                     self.fail("bad error message for invalid mode: %s" % s)
             # if msg.args[0] == 0, we're probably on Windows where there may be
             # no obvious way to discover why open() failed.
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index 16977a5..120c37c 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -439,7 +439,7 @@
         string1 = repr(el)
         string2 = str(el)
         self.confirm(string1 == string2)
-        self.confirm(string1.find("slash:abc") != -1)
+        self.confirm("slash:abc" in string1)
         dom.unlink()
 
     def testAttributeRepr(self):
