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
##############################################################################