[build-system] requires = ["setuptools>=40.2.0", "wheel"] build-backend = "setuptools.build_meta" [tool.black] # File filtering is taken care of in pre-commit. line-length=100 target-version=['py38'] [tool.isort] profile = "black" line_length = 100 lines_between_sections = 1 known_first_party = "sentry" skip = "migrations" [tool.pytest.ini_options] # note: When updating the traceback format, make sure to update .github/pytest.json # We don't use the celery pytest plugin. addopts = "-ra --tb=short --strict-markers -p no:celery" # TODO: --import-mode=importlib will become the default soon, # currently we have a few relative imports that don't work with that. markers = [ "snuba: mark a test as requiring snuba", "itunes: test requires iTunes interaction, skipped unless --itunes is provided", "getsentryllc: test requires credentials for the GetSentry LLC organisation in Apple App Store Connect", ] selenium_driver = "chrome" filterwarnings = [ # Consider all warnings to be errors other than the ignored ones. "error", # This is just to prevent pytest from exiting if pytest-xdist isn't installed. "ignore:Unknown config option.*looponfailroots:pytest.PytestConfigWarning", "ignore::django.utils.deprecation.RemovedInDjango30Warning", # DeprecationWarnings from Python 3.6's sre_parse are just so painful, # and I haven't found a way to ignore it specifically from a module. # This one in particular is from the "cookies" packages as depended # on by an outdated version of responses, and shows up all over tests. # TODO(joshuarli): Upgrade responses, then revisit this. # It'll probably show up in other dependencies. "ignore::DeprecationWarning", "error:Using or importing the ABCs from 'collections':DeprecationWarning", # At writing, the Google Bigtable Emulator relies on deprecated behavior # internally, this can be removed once a version containing this fix is # released: https://github.com/googleapis/python-bigtable/pull/246 "ignore:The `channel` argument is deprecated; use `transport` instead.:PendingDeprecationWarning:google.cloud.bigtable*", # The following warning filters are for pytest only. # This is so we don't have to wrap most datetime objects in testing code # with django.utils.timezone. "ignore:DateTimeField.*naive datetime:RuntimeWarning", "ignore:.*sentry.digests.backends.dummy.DummyBackend.*:sentry.utils.warnings.UnsupportedBackend", ] # This is for people who install pytest-xdist locally, # and use the -f/--looponfail feature. looponfailroots = ["src", "tests"]