Merge pull request #1387 from ilvalle/appveyor_py35
enabled py35 unittests on win
This commit is contained in:
11
appveyor.yml
11
appveyor.yml
@@ -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
|
||||
|
||||
@@ -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__
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user