[Python-checkins] cpython (3.3): Fix License URL display and add test to check for license url presence.
senthil.kumaran
python-checkins at python.org
Sat Sep 7 23:13:21 CEST 2013
http://hg.python.org/cpython/rev/a723adeb1f47
changeset: 85595:a723adeb1f47
branch: 3.3
parent: 85593:14ba90816930
user: Senthil Kumaran <senthil at uthcode.com>
date: Sat Sep 07 13:59:17 2013 -0700
summary:
Fix License URL display and add test to check for license url presence.
Fixes issue #18206 Patch contributed by Berker Peksag and py.user
files:
Lib/site.py | 3 ++-
Lib/test/test_site.py | 28 ++++++++++++++++++++++++++--
2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/Lib/site.py b/Lib/site.py
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -451,7 +451,8 @@
for supporting Python development. See www.python.org for more information.""")
here = os.path.dirname(os.__file__)
builtins.license = _Printer(
- "license", "See http://www.python.org/%.3s/license.html" % sys.version,
+ "license",
+ "See http://www.python.org/download/releases/%.5s/license/" % sys.version,
["LICENSE.txt", "LICENSE"],
[os.path.join(here, os.pardir), here, os.curdir])
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
@@ -5,6 +5,7 @@
"""
import unittest
+import test.support
from test.support import run_unittest, TESTFN, EnvironmentVarGuard
from test.support import captured_stderr
import builtins
@@ -377,9 +378,10 @@
self.assertTrue(hasattr(builtins, "exit"))
def test_setting_copyright(self):
- # 'copyright' and 'credits' should be in builtins
+ # 'copyright', 'credits', and 'license' should be in builtins
self.assertTrue(hasattr(builtins, "copyright"))
self.assertTrue(hasattr(builtins, "credits"))
+ self.assertTrue(hasattr(builtins, "license"))
def test_setting_help(self):
# 'help' should be set in builtins
@@ -405,8 +407,30 @@
else:
self.fail("sitecustomize not imported automatically")
+
+class LicenseURL(unittest.TestCase):
+ """Test accessibility of the license."""
+
+ @unittest.skipUnless(str(license).startswith('See http://'),
+ 'license is available as a file')
+ def test_license_page(self):
+ """urlopen should return the license page"""
+ pat = r'^See (http://www\.python\.org/download/releases/[^/]+/license/)$'
+ mo = re.search(pat, str(license))
+ self.assertIsNotNone(mo, msg='can\'t find appropriate url in license')
+ if mo is not None:
+ url = mo.group(1)
+ with test.support.transient_internet(url):
+ import urllib.request, urllib.error
+ try:
+ with urllib.request.urlopen(url) as data:
+ code = data.getcode()
+ except urllib.error.HTTPError as e:
+ code = e.code
+ self.assertEqual(code, 200, msg=url)
+
def test_main():
- run_unittest(HelperFunctionsTests, ImportSideEffectTests)
+ run_unittest(HelperFunctionsTests, ImportSideEffectTests, LicenseURL)
if __name__ == "__main__":
test_main()
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list