#17303: test_future* now work with unittest test discovery.  Patch by Zachary Ware.
diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index 3a25eb1..a0c156f 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -13,18 +13,18 @@
 class FutureTest(unittest.TestCase):
 
     def test_future1(self):
-        support.unload('future_test1')
-        from test import future_test1
-        self.assertEqual(future_test1.result, 6)
+        with support.CleanImport('future_test1'):
+            from test import future_test1
+            self.assertEqual(future_test1.result, 6)
 
     def test_future2(self):
-        support.unload('future_test2')
-        from test import future_test2
-        self.assertEqual(future_test2.result, 6)
+        with support.CleanImport('future_test2'):
+            from test import future_test2
+            self.assertEqual(future_test2.result, 6)
 
     def test_future3(self):
-        support.unload('test_future3')
-        from test import test_future3
+        with support.CleanImport('test_future3'):
+            from test import test_future3
 
     def test_badfuture3(self):
         try:
@@ -103,8 +103,8 @@
             self.fail("syntax error didn't occur")
 
     def test_multiple_features(self):
-        support.unload("test.test_future5")
-        from test import test_future5
+        with support.CleanImport("test.test_future5"):
+            from test import test_future5
 
     def test_unicode_literals_exec(self):
         scope = {}
@@ -112,8 +112,6 @@
         self.assertIsInstance(scope["x"], str)
 
 
-def test_main():
-    support.run_unittest(FutureTest)
 
 if __name__ == "__main__":
-    test_main()
+    unittest.main()