Skip to content

Commit

Permalink
Fix tests (#10)
Browse files Browse the repository at this point in the history
* isort imports + support 3.10
  • Loading branch information
Michael Howitz committed Aug 23, 2022
1 parent c52ca23 commit 2fe2fa1
Show file tree
Hide file tree
Showing 21 changed files with 117 additions and 74 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ max_line_length = off
# 4 space indentation
indent_size = 4

[*.{yml,zpt,pt,dtml}]
[*.{yml,zpt,pt,dtml,zcml}]
# 2 space indentation
indent_size = 2

Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,24 @@ jobs:
# We want to see all failures:
fail-fast: false
matrix:
os:
- ubuntu
config:
# [Python version, tox env]
- ["3.8", "lint"]
- ["3.9", "lint"]
- ["2.7", "py27"]
- ["3.5", "py35"]
- ["3.6", "py36"]
- ["3.7", "py37"]
- ["3.8", "py38"]
- ["3.9", "py39"]
- ["pypy2", "pypy"]
- ["pypy3", "pypy3"]
- ["3.8", "coverage"]
- ["3.10", "py310"]
- ["pypy-2.7", "pypy"]
- ["pypy-3.7", "pypy3"]
- ["3.9", "coverage"]

runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
name: ${{ matrix.config[1] }}
steps:
- uses: actions/checkout@v2
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
*.dll
*.egg-info/
*.profraw
*.pyc
*.pyo
*.so
.coverage
.coverage.*
.eggs/
Expand All @@ -26,4 +28,5 @@ lib64
log/
parts/
pyvenv.cfg
testing.log
var/
6 changes: 3 additions & 3 deletions .meta.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
[meta]
template = "pure-python"
commit-id = "a42b1792f61e841423b04385d644c7e2d4581c1c"
commit-id = "ae61f414cfef4e129d275679c6a76dc67b1a2c11"

[python]
with-appveyor = false
with-pypy = true
with-legacy-python = true
with-docs = false
with-sphinx-doctests = false
with-windows = false
with-future-python = false

[tox]
use-flake8 = true
Expand Down
2 changes: 1 addition & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
1.2.1 (unreleased)
==================

- Add support for Python 3.9.
- Add support for Python 3.9, 3.10.


1.2.0 (2020-03-06)
Expand Down
23 changes: 23 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
Generated from:
https://github.com/zopefoundation/meta/tree/master/config/pure-python
-->
# Contributing to zopefoundation projects

The projects under the zopefoundation GitHub organization are open source and
welcome contributions in different forms:

* bug reports
* code improvements and bug fixes
* documentation improvements
* pull request reviews

For any changes in the repository besides trivial typo fixes you are required
to sign the contributor agreement. See
https://www.zope.dev/developer/becoming-a-committer.html for details.

Please visit our [Developer
Guidelines](https://www.zope.dev/developer/guidelines.html) if you'd like to
contribute code changes and our [guidelines for reporting
bugs](https://www.zope.dev/developer/reporting-bugs.html) if you want to file a
bug report.
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/pure-python
include *.md
include *.rst
include *.txt
include buildout.cfg
Expand Down
11 changes: 11 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,14 @@ doctests = 1
ignore =
.editorconfig
.meta.toml

[isort]
force_single_line = True
combine_as_imports = True
sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER
known_third_party = six, docutils, pkg_resources
known_zope =
known_first_party =
default_section = ZOPE
line_length = 79
lines_after_imports = 2
11 changes: 7 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
"""
import os
from setuptools import setup, find_packages

from setuptools import find_packages
from setuptools import setup


def read(*rnames):
Expand All @@ -39,17 +41,17 @@ def read(*rnames):
'zope.app.principalannotation',
'zope.app.publication',
'zope.app.wsgi',

'zope.applicationcontrol',
'zope.copypastemove',
'zope.browser',
'zope.browsermenu',
'zope.copypastemove',
'zope.login',
'zope.password',
'zope.proxy >= 4.2.1',
'zope.principalregistry',
'zope.proxy >= 4.2.1',
'zope.securitypolicy',
'zope.testbrowser >= 5.2',
'zope.testing',
'zope.testrunner',
]

Expand Down Expand Up @@ -91,6 +93,7 @@ def read(*rnames):
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Natural Language :: English',
Expand Down
4 changes: 3 additions & 1 deletion src/zope/file/adapters.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
from zope import interface, component
import zope.filerepresentation.interfaces

from zope import component
from zope import interface
from zope.file import interfaces


Expand Down
4 changes: 2 additions & 2 deletions src/zope/file/adapters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ whose size we can get:
Writing to this read-only file is impossible, as the interface does
not require it:

>>> r.write(b"some more content")
>>> r.write(b"some more content") # doctest: +ELLIPSIS
Traceback (most recent call last):
AttributeError: 'ReadFileAdapter' object has no attribute 'write'
AttributeError: 'ReadFileAdapter' object has no attribute 'write'...

With a write-file the opposite happens. We can write but not read:

Expand Down
6 changes: 3 additions & 3 deletions src/zope/file/browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
"""
__docformat__ = "reStructuredText"

from zope import interface
from zope import component

import zope.size
import zope.size.interfaces

import zope.file.interfaces
from zope import component
from zope import interface


@interface.implementer(zope.size.interfaces.ISized)
Expand Down
17 changes: 6 additions & 11 deletions src/zope/file/contenttype.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,17 @@
import zope.formlib.interfaces
import zope.interface
import zope.schema

from zope.mimetype.interfaces import IContentTypeEncoded
from zope.mimetype.interfaces import IContentTypeInterface
from zope.lifecycleevent import ObjectModifiedEvent
from zope.mimetype.event import changeContentType
from zope.mimetype.interfaces import ICharsetCodec
from zope.mimetype.interfaces import ICodecPreferredCharset

from zope.mimetype.event import changeContentType

from zope.mimetype.source import contentTypeSource
from zope.mimetype.interfaces import IContentTypeEncoded
from zope.mimetype.interfaces import IContentTypeInterface
from zope.mimetype.source import codecSource

from zope.file.i18n import _

from zope.mimetype.source import contentTypeSource
from zope.security.proxy import removeSecurityProxy

from zope.lifecycleevent import ObjectModifiedEvent
from zope.file.i18n import _


def validateCodecUse(file, iface, codec, codec_field):
Expand Down
8 changes: 4 additions & 4 deletions src/zope/file/file.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@


from contextlib import closing
import persistent

import zope.location.interfaces
import zope.file.interfaces
import persistent
import zope.interface

import zope.location.interfaces
from ZODB.blob import Blob

import zope.file.interfaces


@zope.interface.implementer(
zope.file.interfaces.IFile,
Expand Down
1 change: 1 addition & 0 deletions src/zope/file/i18n.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@

import zope.i18nmessageid


_ = zope.i18nmessageid.MessageFactory("zope.file")
12 changes: 4 additions & 8 deletions src/zope/file/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,22 @@

from six.moves import urllib_parse as urllib

from zope.app.wsgi.testlayer import http
import zope.app.wsgi.testlayer
import zope.security.checker
import zope.testbrowser.wsgi
from zope.app.wsgi.testlayer import FakeResponse
from zope.app.wsgi.testlayer import http
from zope.browser.interfaces import IAdding
from zope.browsermenu.menu import getFirstMenuItem
from zope.browserpage.viewpagetemplatefile import ViewPageTemplateFile

from zope.container.interfaces import IContainerNamesContainer
from zope.container.interfaces import INameChooser

from zope.interface import implementer

from zope.publisher.browser import BrowserView
from zope.publisher.interfaces.browser import IBrowserPublisher

from zope.traversing.browser.absoluteurl import absoluteURL

import zope.app.wsgi.testlayer
import zope.file
import zope.security.checker
import zope.testbrowser.wsgi


class BrowserLayer(zope.testbrowser.wsgi.TestBrowserLayer,
Expand Down
5 changes: 2 additions & 3 deletions src/zope/file/tests/test_contenttype.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@

import unittest

from zope import component
from zope.interface import implementer

from zope.mimetype.interfaces import IContentTypeEncoded
from zope.mimetype.interfaces import ICodecPreferredCharset
from zope.mimetype.interfaces import IContentTypeEncoded

from zope import component
from zope.file.tests import skipWithoutZopeFormlib


Expand Down
6 changes: 4 additions & 2 deletions src/zope/file/tests/test_doctests.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@

__docformat__ = "reStructuredText"
import doctest
import unittest
import re
import unittest

import zope.file
from zope.component.testlayer import ZCMLFileLayer
from zope.testing import renormalizing

import zope.file


checker = renormalizing.RENormalizing([
# Python 3 unicode removed the "u".
(re.compile("u('.*?')"), r"\1"),
Expand Down
9 changes: 3 additions & 6 deletions src/zope/file/tests/test_upload.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@


import unittest
from io import BytesIO

from zope import component
from zope.interface import implementer

from zope.mimetype.interfaces import IContentTypeEncoded
from zope.mimetype.interfaces import ICharsetCodec
from zope.mimetype.interfaces import ICodecPreferredCharset
from zope.mimetype.interfaces import IContentTypeEncoded
from zope.mimetype.interfaces import IMimeTypeGetter

from zope.mimetype.typegetter import smartMimeTypeGuesser

from io import BytesIO

from zope import component
from zope.file.tests import skipWithoutZopeFormlib


Expand Down
22 changes: 9 additions & 13 deletions src/zope/file/upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,25 @@

import re

import zope.contenttype.parse
import zope.component
import zope.contenttype.parse
import zope.event
import zope.file.file
import zope.formlib.form

import zope.schema

from zope.file.i18n import _

from zope.container.interfaces import INameChooser

from zope.mimetype.interfaces import IContentInfo
from zope.mimetype.interfaces import ICodecPreferredCharset
from zope.lifecycleevent import ObjectModifiedEvent
from zope.mimetype.event import changeContentType
from zope.mimetype.interfaces import ICharsetCodec
from zope.mimetype.interfaces import IContentTypeInterface
from zope.mimetype.interfaces import ICodecPreferredCharset
from zope.mimetype.interfaces import IContentInfo
from zope.mimetype.interfaces import IContentTypeEncoded
from zope.mimetype.interfaces import IContentTypeInterface
from zope.mimetype.interfaces import IMimeTypeGetter
from zope.security.proxy import removeSecurityProxy

from zope.mimetype.event import changeContentType
import zope.file.file
from zope.file.i18n import _

from zope.security.proxy import removeSecurityProxy
from zope.lifecycleevent import ObjectModifiedEvent

_nameFinder = re.compile(r'(.*[\\/:])?(.+)')

Expand Down

0 comments on commit 2fe2fa1

Please sign in to comment.