merge from 3.3
Fix License URL display and add test to check for license url presence. Fixes issue #18206 Patch contributed by Berker Peksag and py.user
This commit is contained in:
commit
2f2ae39037
|
@ -361,8 +361,14 @@ def setcopyright():
|
|||
Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
|
||||
for supporting Python development. See www.python.org for more information.""")
|
||||
here = os.path.dirname(os.__file__)
|
||||
<<<<<<< local
|
||||
builtins.license = _sitebuiltins._Printer(
|
||||
"license", "See http://www.python.org/%.3s/license.html" % sys.version,
|
||||
=======
|
||||
builtins.license = _Printer(
|
||||
"license",
|
||||
"See http://www.python.org/download/releases/%.5s/license/" % sys.version,
|
||||
>>>>>>> other
|
||||
["LICENSE.txt", "LICENSE"],
|
||||
[os.path.join(here, os.pardir), here, os.curdir])
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ executing have not been removed.
|
|||
|
||||
"""
|
||||
import unittest
|
||||
import test.support
|
||||
from test.support import run_unittest, TESTFN, EnvironmentVarGuard
|
||||
from test.support import captured_stderr
|
||||
import builtins
|
||||
|
@ -373,9 +374,10 @@ class ImportSideEffectTests(unittest.TestCase):
|
|||
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
|
||||
|
@ -402,5 +404,27 @@ class ImportSideEffectTests(unittest.TestCase):
|
|||
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)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in New Issue