Merge pull request #1387 from ilvalle/appveyor_py35

enabled py35 unittests on win
This commit is contained in:
mdipierro
2016-07-07 01:48:38 -05:00
committed by GitHub
5 changed files with 19 additions and 14 deletions

View File

@@ -4,6 +4,11 @@ environment:
matrix:
- PYTHON: "C:/Python27"
COVERAGE_PROCESS_START: gluon/tests/coverage.ini
PYTHON_ARCH: "64"
- PYTHON: "C:/Python35"
COVERAGE_PROCESS_START: gluon/tests/coverage.ini
PYTHON_ARCH: "64"
clone_depth: 50
@@ -16,10 +21,14 @@ install:
- python get-pip.py
- pip install codecov
- git submodule update --init --recursive
- pip install pycrypto
# Check that we have the expected version and architecture for Python
- "python --version"
- "python -c \"import struct; print(struct.calcsize('P') * 8)\""
test_script:
- python web2py.py --run_system_tests --with_coverage
after_test:
- coverage combine
- codecov
- codecov

View File

@@ -45,11 +45,6 @@ if PY2:
unichr = unichr
unicodeT = unicode
def implements_iterator(cls):
cls.next = cls.__next__
del cls.__next__
return cls
def implements_bool(cls):
cls.__nonzero__ = cls.__bool__
del cls.__bool__

View File

@@ -40,7 +40,7 @@ try:
except ImportError:
have_settings = False
from gluon._compat import pickle, thread
from gluon._compat import pickle, thread, to_bytes, to_native, hashlib_md5
try:
import psutil
@@ -304,13 +304,13 @@ class CacheOnDisk(CacheAbstract):
Windows doesn't allow \ / : * ? "< > | in filenames.
To go around this encode the keys with base32.
"""
return base64.b32encode(key)
return to_native(base64.b32encode(to_bytes(key)))
def key_filter_out_windows(key):
"""
We need to decode the keys so regex based removal works.
"""
return base64.b32decode(key)
return to_native(base64.b32decode(to_bytes(key)))
self.key_filter_in = key_filter_in_windows
self.key_filter_out = key_filter_out_windows
@@ -624,7 +624,7 @@ class Cache(object):
cache_key.append(current.request.env.query_string)
if lang_:
cache_key.append(current.T.accepted_language)
cache_key = hashlib.md5('__'.join(cache_key)).hexdigest()
cache_key = hashlib_md5('__'.join(cache_key)).hexdigest()
if prefix:
cache_key = prefix + cache_key
try:

View File

@@ -21,7 +21,7 @@ import base64
from gluon import sanitizer, decoder
import itertools
from gluon._compat import reduce, pickle, copyreg, HTMLParser, name2codepoint, iteritems, unichr, unicodeT, urllib_quote, to_bytes, \
to_native, to_unicode, _local_html_escape, basestring, urlencode
to_native, to_unicode, _local_html_escape, basestring, urlencode, implements_bool
import marshal
from gluon.storage import Storage
@@ -671,7 +671,7 @@ def XML_pickle(data):
return XML_unpickle, (marshal.dumps(str(data)),)
copyreg.pickle(XML, XML_pickle, XML_unpickle)
@implements_bool
class DIV(XmlComponent):
"""
HTML helper, for easy generating and manipulating a DOM structure.
@@ -824,8 +824,6 @@ class DIV(XmlComponent):
"""
return True
__nonzero__ = __bool__
def _fixup(self):
"""
Handling of provided components.

View File

@@ -10,6 +10,7 @@ import os
import sys
import platform
from gluon.storage import Storage
from gluon._compat import PY2
global_settings = Storage()
settings = global_settings # legacy compatibility
@@ -40,3 +41,5 @@ global_settings.is_jython = \
global_settings.is_source = os.path.exists(os.path.join(
global_settings.gluon_parent, 'web2py.py'))
global_settings.is_py2 = PY2