py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV) py$(PYV): commands[0]> python -m pytest --junitxml $(@D)/.tox/junit.py$(PYV).xml --cov filelock --cov $(@D)/tests --cov-config=pyproject.toml --no-cov-on-fail --cov-report term-missing:skip-covered --cov-context=test --cov-report html:$(@D)/.tox/py$(PYV)/tmp/htmlcov --cov-report xml:$(@D)/.tox/coverage.py$(PYV).xml tests ============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python cachedir: .tox/py$(PYV)/.pytest_cache rootdir: $(@D) configfile: pyproject.toml asyncio: mode=strict, default_loop_scope=session collecting ... collected 155 items tests/test_async_filelock.py::test_simple[a-str-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[a-str-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[a-PurePath-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[a-PurePath-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[a-Path-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[a-Path-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[new/b-str-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[new/b-str-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[new/b-PurePath-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[new/b-PurePath-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[new/b-Path-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[new/b-Path-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[new2/new3/c-str-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[new2/new3/c-str-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[new2/new3/c-PurePath-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[new2/new3/c-PurePath-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_simple[new2/new3/c-Path-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_simple[new2/new3/c-Path-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[a-str-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[a-str-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[a-PurePath-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[a-PurePath-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[a-Path-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[a-Path-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[new/b-str-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[new/b-str-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[new/b-PurePath-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[new/b-PurePath-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[new/b-Path-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[new/b-Path-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[new2/new3/c-str-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[new2/new3/c-str-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[new2/new3/c-PurePath-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[new2/new3/c-PurePath-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_acquire[new2/new3/c-Path-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_acquire[new2/new3/c-Path-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_non_blocking[AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_non_blocking[AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_non_executor[True-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_non_executor[True-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_non_executor[False-AsyncUnixFileLock] PASSED tests/test_async_filelock.py::test_non_executor[False-AsyncSoftFileLock] PASSED tests/test_async_filelock.py::test_coroutine_function PASSED tests/test_error.py::test_timeout_str PASSED tests/test_error.py::test_timeout_repr PASSED tests/test_error.py::test_timeout_lock_file PASSED tests/test_error.py::test_timeout_pickle PASSED tests/test_filelock.py::test_simple[a-str-UnixFileLock] PASSED tests/test_filelock.py::test_simple[a-str-SoftFileLock] PASSED tests/test_filelock.py::test_simple[a-PurePath-UnixFileLock] PASSED tests/test_filelock.py::test_simple[a-PurePath-SoftFileLock] PASSED tests/test_filelock.py::test_simple[a-Path-UnixFileLock] PASSED tests/test_filelock.py::test_simple[a-Path-SoftFileLock] PASSED tests/test_filelock.py::test_simple[new/b-str-UnixFileLock] PASSED tests/test_filelock.py::test_simple[new/b-str-SoftFileLock] PASSED tests/test_filelock.py::test_simple[new/b-PurePath-UnixFileLock] PASSED tests/test_filelock.py::test_simple[new/b-PurePath-SoftFileLock] PASSED tests/test_filelock.py::test_simple[new/b-Path-UnixFileLock] PASSED tests/test_filelock.py::test_simple[new/b-Path-SoftFileLock] PASSED tests/test_filelock.py::test_simple[new2/new3/c-str-UnixFileLock] PASSED tests/test_filelock.py::test_simple[new2/new3/c-str-SoftFileLock] PASSED tests/test_filelock.py::test_simple[new2/new3/c-PurePath-UnixFileLock] PASSED tests/test_filelock.py::test_simple[new2/new3/c-PurePath-SoftFileLock] PASSED tests/test_filelock.py::test_simple[new2/new3/c-Path-UnixFileLock] PASSED tests/test_filelock.py::test_simple[new2/new3/c-Path-SoftFileLock] PASSED tests/test_filelock.py::test_ro_folder[UnixFileLock] PASSED tests/test_filelock.py::test_ro_folder[SoftFileLock] PASSED tests/test_filelock.py::test_ro_file[UnixFileLock] PASSED tests/test_filelock.py::test_ro_file[SoftFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[blank_filename-UnixFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[blank_filename-SoftFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[null_byte-UnixFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[null_byte-SoftFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[current_directory-UnixFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[current_directory-SoftFileLock] PASSED tests/test_filelock.py::test_bad_lock_file[invalid_<-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_<-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_>-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_>-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_:-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_:-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_"-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_"-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_|-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_|-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_?-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_?-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_*-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_*-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_\x07-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[invalid_\x07-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[permission_/-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[permission_/-SoftFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[permission_\\-UnixFileLock] SKIPPED tests/test_filelock.py::test_bad_lock_file[permission_\\-SoftFileLock] SKIPPED tests/test_filelock.py::test_nested_context_manager[UnixFileLock] PASSED tests/test_filelock.py::test_nested_context_manager[SoftFileLock] PASSED tests/test_filelock.py::test_nested_acquire[UnixFileLock] PASSED tests/test_filelock.py::test_nested_acquire[SoftFileLock] PASSED tests/test_filelock.py::test_nested_forced_release[UnixFileLock] PASSED tests/test_filelock.py::test_nested_forced_release[SoftFileLock] PASSED tests/test_filelock.py::test_nested_contruct[UnixFileLock] PASSED tests/test_filelock.py::test_nested_contruct[SoftFileLock] PASSED tests/test_filelock.py::test_threaded_shared_lock_obj[UnixFileLock] PASSED tests/test_filelock.py::test_threaded_shared_lock_obj[SoftFileLock] PASSED tests/test_filelock.py::test_threaded_lock_different_lock_obj[UnixFileLock] PASSED tests/test_filelock.py::test_threaded_lock_different_lock_obj[SoftFileLock] PASSED tests/test_filelock.py::test_timeout[UnixFileLock] PASSED tests/test_filelock.py::test_timeout[SoftFileLock] PASSED tests/test_filelock.py::test_non_blocking[UnixFileLock] PASSED tests/test_filelock.py::test_non_blocking[SoftFileLock] PASSED tests/test_filelock.py::test_default_timeout[UnixFileLock] PASSED tests/test_filelock.py::test_default_timeout[SoftFileLock] PASSED tests/test_filelock.py::test_context_release_on_exc[UnixFileLock] PASSED tests/test_filelock.py::test_context_release_on_exc[SoftFileLock] PASSED tests/test_filelock.py::test_acquire_release_on_exc[UnixFileLock] PASSED tests/test_filelock.py::test_acquire_release_on_exc[SoftFileLock] PASSED tests/test_filelock.py::test_del[UnixFileLock] PASSED tests/test_filelock.py::test_del[SoftFileLock] PASSED tests/test_filelock.py::test_cleanup_soft_lock PASSED tests/test_filelock.py::test_poll_intervall_deprecated[UnixFileLock] PASSED tests/test_filelock.py::test_poll_intervall_deprecated[SoftFileLock] PASSED tests/test_filelock.py::test_context_decorator[UnixFileLock] PASSED tests/test_filelock.py::test_context_decorator[SoftFileLock] PASSED tests/test_filelock.py::test_lock_mode PASSED tests/test_filelock.py::test_lock_mode_soft PASSED tests/test_filelock.py::test_umask PASSED tests/test_filelock.py::test_umask_soft PASSED tests/test_filelock.py::test_wrong_platform PASSED tests/test_filelock.py::test_flock_not_implemented_unix PASSED tests/test_filelock.py::test_soft_errors PASSED tests/test_filelock.py::test_thrashing_with_thread_pool_passing_lock_to_threads[UnixFileLock] PASSED tests/test_filelock.py::test_thrashing_with_thread_pool_passing_lock_to_threads[SoftFileLock] PASSED tests/test_filelock.py::test_thrashing_with_thread_pool_global_lock[UnixFileLock] PASSED tests/test_filelock.py::test_thrashing_with_thread_pool_global_lock[SoftFileLock] PASSED tests/test_filelock.py::test_thrashing_with_thread_pool_lock_recreated_in_each_thread[UnixFileLock] PASSED tests/test_filelock.py::test_thrashing_with_thread_pool_lock_recreated_in_each_thread[SoftFileLock] PASSED tests/test_filelock.py::test_lock_can_be_non_thread_local[UnixFileLock] PASSED tests/test_filelock.py::test_lock_can_be_non_thread_local[SoftFileLock] PASSED tests/test_filelock.py::test_subclass_compatibility PASSED tests/test_filelock.py::test_singleton_and_non_singleton_locks_are_distinct[UnixFileLock] PASSED tests/test_filelock.py::test_singleton_and_non_singleton_locks_are_distinct[SoftFileLock] PASSED tests/test_filelock.py::test_singleton_locks_are_the_same[UnixFileLock] PASSED tests/test_filelock.py::test_singleton_locks_are_the_same[SoftFileLock] PASSED tests/test_filelock.py::test_singleton_locks_are_distinct_per_lock_file[UnixFileLock] PASSED tests/test_filelock.py::test_singleton_locks_are_distinct_per_lock_file[SoftFileLock] PASSED tests/test_filelock.py::test_singleton_locks_must_be_initialized_with_the_same_args[UnixFileLock] PASSED tests/test_filelock.py::test_singleton_locks_must_be_initialized_with_the_same_args[SoftFileLock] PASSED tests/test_filelock.py::test_singleton_locks_are_deleted_when_no_external_references_exist[UnixFileLock] PASSED tests/test_filelock.py::test_singleton_locks_are_deleted_when_no_external_references_exist[SoftFileLock] PASSED tests/test_filelock.py::test_singleton_instance_tracking_is_unique_per_subclass[UnixFileLock] PASSED tests/test_filelock.py::test_singleton_instance_tracking_is_unique_per_subclass[SoftFileLock] PASSED tests/test_filelock.py::test_singleton_locks_when_inheriting_init_is_called_once PASSED tests/test_filelock.py::test_file_lock_positional_argument PASSED tests/test_virtualenv.py::test_virtualenv PASSED - generated xml file: $(@D)/.tox/junit.py$(PYV).xml - 7 files skipped due to complete coverage. Coverage HTML written to dir $(@D)/.tox/py$(PYV)/tmp/htmlcov Coverage XML written to file $(@D)/.tox/coverage.py$(PYV).xml Required test coverage of 76.0% reached. Total coverage: 98.18% ======== 135 passed, 20 skipped ======== py$(PYV): OK congratulations :)