57 lines
3.1 KiB
INI
57 lines
3.1 KiB
INI
[tool:pytest]
|
|
addopts = --typeguard-packages=radicale
|
|
|
|
[tox:tox]
|
|
|
|
[testenv]
|
|
extras = test
|
|
deps =
|
|
flake8
|
|
isort
|
|
# mypy installation fails with pypy<3.9
|
|
mypy; implementation_name!='pypy' or python_version>='3.9'
|
|
types-setuptools
|
|
pytest-cov
|
|
commands =
|
|
flake8 .
|
|
isort --check --diff .
|
|
# Run mypy if it's installed
|
|
python -c 'import importlib.util, subprocess, sys; \
|
|
importlib.util.find_spec("mypy") \
|
|
and sys.exit(subprocess.run(["mypy", "."]).returncode) \
|
|
or print("Skipped: mypy is not installed")'
|
|
pytest -r s --cov --cov-report=term --cov-report=xml .
|
|
|
|
[tool:isort]
|
|
known_standard_library = _dummy_thread,_thread,abc,aifc,argparse,array,ast,asynchat,asyncio,asyncore,atexit,audioop,base64,bdb,binascii,binhex,bisect,builtins,bz2,cProfile,calendar,cgi,cgitb,chunk,cmath,cmd,code,codecs,codeop,collections,colorsys,compileall,concurrent,configparser,contextlib,contextvars,copy,copyreg,crypt,csv,ctypes,curses,dataclasses,datetime,dbm,decimal,difflib,dis,distutils,doctest,dummy_threading,email,encodings,ensurepip,enum,errno,faulthandler,fcntl,filecmp,fileinput,fnmatch,formatter,fpectl,fractions,ftplib,functools,gc,getopt,getpass,gettext,glob,grp,gzip,hashlib,heapq,hmac,html,http,imaplib,imghdr,imp,importlib,inspect,io,ipaddress,itertools,json,keyword,lib2to3,linecache,locale,logging,lzma,macpath,mailbox,mailcap,marshal,math,mimetypes,mmap,modulefinder,msilib,msvcrt,multiprocessing,netrc,nis,nntplib,ntpath,numbers,operator,optparse,os,ossaudiodev,parser,pathlib,pdb,pickle,pickletools,pipes,pkgutil,platform,plistlib,poplib,posix,posixpath,pprint,profile,pstats,pty,pwd,py_compile,pyclbr,pydoc,queue,quopri,random,re,readline,reprlib,resource,rlcompleter,runpy,sched,secrets,select,selectors,shelve,shlex,shutil,signal,site,smtpd,smtplib,sndhdr,socket,socketserver,spwd,sqlite3,sre,sre_compile,sre_constants,sre_parse,ssl,stat,statistics,string,stringprep,struct,subprocess,sunau,symbol,symtable,sys,sysconfig,syslog,tabnanny,tarfile,telnetlib,tempfile,termios,test,textwrap,threading,time,timeit,tkinter,token,tokenize,trace,traceback,tracemalloc,tty,turtle,turtledemo,types,typing,unicodedata,unittest,urllib,uu,uuid,venv,warnings,wave,weakref,webbrowser,winreg,winsound,wsgiref,xdrlib,xml,xmlrpc,zipapp,zipfile,zipimport,zlib
|
|
known_third_party = defusedxml,passlib,pkg_resources,pytest,vobject
|
|
|
|
[flake8]
|
|
# Only enable default tests (https://github.com/PyCQA/flake8/issues/790#issuecomment-812823398)
|
|
select = E,F,W,C90,DOES-NOT-EXIST
|
|
ignore = E121,E123,E126,E226,E24,E704,W503,W504,DOES-NOT-EXIST
|
|
extend-exclude = ./build/
|
|
|
|
[mypy]
|
|
ignore_missing_imports = True
|
|
show_error_codes = True
|
|
exclude = ^build/
|
|
|
|
[coverage:run]
|
|
branch = True
|
|
source = radicale
|
|
omit = tests/*,*/tests/*
|
|
|
|
[coverage:report]
|
|
# Regexes for lines to exclude from consideration
|
|
exclude_lines =
|
|
# Have to re-enable the standard pragma
|
|
pragma: no cover
|
|
|
|
# Don't complain if tests don't hit defensive assertion code:
|
|
raise AssertionError
|
|
raise NotImplementedError
|
|
|
|
# Don't complain if non-runnable code isn't run:
|
|
if __name__ == .__main__.:
|