Explicitly define public symbols via __all__: see discussion with Raymond
Hettinger in comments for issue 804115
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=804115&group_id=5470
diff --git a/Lib/unittest.py b/Lib/unittest.py
index d033936..043b9a8 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -56,6 +56,16 @@
 import types
 
 ##############################################################################
+# Exported classes and functions
+##############################################################################
+__all__ = ['TestResult', 'TestCase', 'TestSuite', 'TextTestRunner',
+           'TestLoader', 'FunctionTestCase', 'main', 'defaultTestLoader']
+
+# Expose obsolete functions for backwards compatability
+__all__.extend(['getTestCaseNames', 'makeSuite', 'findTestCases'])
+
+
+##############################################################################
 # Test framework core
 ##############################################################################