[pytest]
; Omit verbose tracebacks, since they tend to pollute the output.
addopts =
    --tb=short
    --durations=10
    --showlocals
    -m 'not nonci and not no_block_pr'

markers =
    no_block_pr: tests whose failure does not block PR merging.
    nonci: mark test as nonci.

; Overwrite the default norecursedirs, which includes 'build'.
norecursedirs = .*

; Default timeout for tests. can be overwritten at finer grained levels.
timeout = 300

; Set the cache dir location to our build dir, so we don't litter the source
; tree.
cache_dir = ../build/pytest_cache

; Set logger format and level
log_level = INFO
log_format = %(asctime)s.%(msecs)03d %(name)s: %(levelname)s %(message)s

log_cli_level = ERROR
log_cli = true

; make those errors, not warnings
filterwarnings =
    error::pytest.PytestUnraisableExceptionWarning
    error::pytest.PytestUnhandledThreadExceptionWarning