Bug 244031 - devel/py-watchdog: Update to 0.10.2
Summary: devel/py-watchdog: Update to 0.10.2
Status: In Progress
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Rainer Hurling
URL: https://reviews.freebsd.org/D23608
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-10 18:43 UTC by Evilham
Modified: 2021-02-27 02:03 UTC (History)
4 users (show)

See Also:
rhurlin: maintainer-feedback-
koobs: merge-quarterly?


Attachments
py-watchdog update to 0.10.2 (2.02 KB, patch)
2020-03-16 10:39 UTC, Evilham
no flags Details | Diff
Same patch with the checkbox >,< (2.02 KB, patch)
2020-03-16 10:40 UTC, Evilham
no flags Details | Diff
py-watchdog update to 0.10.2 (with the right flags now) (2.02 KB, patch)
2020-03-16 10:45 UTC, Evilham
contact: maintainer-approval? (nivit)
Details | Diff
patch to update from 0.9.0 to 0.10.6 (2.40 KB, patch)
2021-01-30 14:58 UTC, Rainer Hurling
rhurlin: maintainer-approval? (nivit)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Evilham 2020-02-10 18:43:12 UTC
Patch in: https://reviews.freebsd.org/D23608

Summary

As a result of improved testing and a hiccup in which 0.10.0 and 0.10.1 didn't support BSD, the latest release features better support for BSD in general and specifically also tests against 12.1-RELEASE

https://github.com/gorakhargosh/watchdog/releases/tag/v0.10.2

Test Plan

    Improved upstream's test set and kqueue support
    Built with poudriere without network
    Tested watchmedo
    Tested lektor (also compiled in poudriere with this version)
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2020-02-11 00:48:19 UTC
^Triage: Bugfix release, MFH
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2020-03-13 04:28:40 UTC
@Reporter For future references, change proposals that involve bugzilla issues should be included as attachments, so that they may be approved by the maintainer, or otherwise marked as approved by timeout or other circumstances

Since the proposal in reviews is 'pretty much done', could you attach a copy of the patch here please
Comment 3 Evilham 2020-03-16 10:39:08 UTC
Created attachment 212442 [details]
py-watchdog update to 0.10.2

Reviewed by @koobs on https://reviews.freebsd.org/D23608
Comment 4 Evilham 2020-03-16 10:40:49 UTC
Created attachment 212443 [details]
Same patch with the checkbox >,<

Reviewed by @koobs at: https://reviews.freebsd.org/D23608
Comment 5 Evilham 2020-03-16 10:45:32 UTC
Created attachment 212444 [details]
py-watchdog update to 0.10.2 (with the right flags now)

I can't bugzilla (yet) and went too quickly about it...
Comment 6 Rainer Hurling freebsd_committer 2021-01-30 14:58:10 UTC
Created attachment 222022 [details]
patch to update from 0.9.0 to 0.10.6

Hi Evilham, hi Nicola,

I renewed the patch for an update to v0.10.6, because we need an update >= 0.10.3 [1], as this is
necessary for an update of devel/py-spyder to 4.2.1 (in preparation by me).
                                                     
**NOTE**: On Github, there is already v1.0.2, but from v1.0.0 on 'make test' produces many errors for functions, which passes fine until v0.10.6 (last version before v1.0.0).                              
                                                     
While here, I reordered some of the Makefile vars, as suggested by portclippy. This patch is tested on Poudriere (amd64, i386), 'portlint -AC' is fine.

[1] https://github.com/spyder-ide/spyder/blob/6bc2a7327e4e1849866dd9fff53544039413d954/spyder/dependencies.py#L7
[2] Changelog: https://github.com/gorakhargosh/watchdog/releases


Could you please have a look and give approval [or better commit ;) ], if you agree with the changes?
Comment 7 Rainer Hurling freebsd_committer 2021-01-30 15:07:27 UTC
As additional info for comment #6, here the output from 'make test' of v0.10.6. 

The first warning (PytestUnknownMarkWarning) comes from devel/py-pytest v4.5.0. This is solved in v5.0.0 [1][2] of pytest, not yet in ports:

#5416: Fix PytestUnknownMarkWarning in run/skip example.

[1] https://docs.pytest.org/en/latest/changelog.html?highlight=pytestunknownmarkwarning
[2] https://github.com/pytest-dev/pytest/pull/5416


[..snip..]
============================================== test session starts ==============================================
platform freebsd14 -- Python 3.7.9, pytest-4.5.0, py-1.9.0, pluggy-0.13.1 -- /usr/local/bin/python3.7
cachedir: .pytest_cache
rootdir: /usr/ports/devel/py-watchdog/work-py37/watchdog-0.10.6, inifile: setup.cfg
plugins: cov-2.9.0
collected 79 items / 4 skipped / 75 selected                                                                    

tests/test_delayed_queue.py::test_delayed_get PASSED                                                      [  1%]
tests/test_delayed_queue.py::test_nondelayed_get PASSED                                                   [  2%]
tests/test_emitter.py::test_create PASSED                                                                 [  3%]
tests/test_emitter.py::test_delete PASSED                                                                 [  5%]
tests/test_emitter.py::test_modify PASSED                                                                 [  6%]
tests/test_emitter.py::test_move PASSED                                                                   [  7%]
tests/test_emitter.py::test_move_to PASSED                                                                [  8%]
tests/test_emitter.py::test_move_to_full SKIPPED                                                          [ 10%]
tests/test_emitter.py::test_move_from PASSED                                                              [ 11%]
tests/test_emitter.py::test_move_from_full SKIPPED                                                        [ 12%]
tests/test_emitter.py::test_separate_consecutive_moves PASSED                                             [ 13%]
tests/test_emitter.py::test_delete_self PASSED                                                            [ 15%]
tests/test_emitter.py::test_fast_subdirectory_creation_deletion SKIPPED                                   [ 16%]
tests/test_emitter.py::test_passing_unicode_should_give_unicode PASSED                                    [ 17%]
tests/test_emitter.py::test_passing_bytes_should_give_bytes PASSED                                        [ 18%]
tests/test_emitter.py::test_recursive_on PASSED                                                           [ 20%]
tests/test_emitter.py::test_recursive_off PASSED                                                          [ 21%]
tests/test_emitter.py::test_renaming_top_level_directory PASSED                                           [ 22%]
tests/test_emitter.py::test_renaming_top_level_directory_on_windows SKIPPED                               [ 24%]
tests/test_emitter.py::test_move_nested_subdirectories PASSED                                             [ 25%]
tests/test_emitter.py::test_move_nested_subdirectories_on_windows SKIPPED                                 [ 26%]
tests/test_events.py::test_file_deleted_event PASSED                                                      [ 27%]
tests/test_events.py::test_file_delete_event_is_directory PASSED                                          [ 29%]
tests/test_events.py::test_file_modified_event PASSED                                                     [ 30%]
tests/test_events.py::test_file_modified_event_is_directory PASSED                                        [ 31%]
tests/test_events.py::test_file_created_event PASSED                                                      [ 32%]
tests/test_events.py::test_file_moved_event PASSED                                                        [ 34%]
tests/test_events.py::test_dir_deleted_event PASSED                                                       [ 35%]
tests/test_events.py::test_dir_modified_event PASSED                                                      [ 36%]
tests/test_events.py::test_dir_created_event PASSED                                                       [ 37%]
tests/test_events.py::test_file_system_event_handler_dispatch PASSED                                      [ 39%]
tests/test_logging_event_handler.py::test_logging_event_handler_dispatch PASSED                           [ 40%]
tests/test_observer.py::test_schedule_should_start_emitter_if_running PASSED                              [ 41%]
tests/test_observer.py::test_schedule_should_not_start_emitter_if_not_running PASSED                      [ 43%]
tests/test_observer.py::test_start_should_start_emitter PASSED                                            [ 44%]
tests/test_observer.py::test_stop_should_stop_emitter PASSED                                              [ 45%]
tests/test_observer.py::test_unschedule_self PASSED                                                       [ 46%]
tests/test_observer.py::test_schedule_after_unschedule_all PASSED                                         [ 48%]
tests/test_observer.py::test_2_observers_on_the_same_path PASSED                                          [ 49%]
tests/test_observer.py::test_start_failure_should_not_prevent_further_try PASSED                          [ 50%]
tests/test_observers_api.py::test_observer_constructor PASSED                                             [ 51%]
tests/test_observers_api.py::test_observer__eq__ PASSED                                                   [ 53%]
tests/test_observers_api.py::test_observer__ne__ PASSED                                                   [ 54%]
tests/test_observers_api.py::test_observer__repr__ PASSED                                                 [ 55%]
tests/test_observers_api.py::test_event_emitter PASSED                                                    [ 56%]
tests/test_observers_api.py::test_event_dispatcher PASSED                                                 [ 58%]
tests/test_observers_api.py::test_observer_basic PASSED                                                   [ 59%]
tests/test_observers_polling.py::test___init__ PASSED                                                     [ 60%]
tests/test_observers_polling.py::test_delete_watched_dir PASSED                                           [ 62%]
tests/test_pattern_matching_event_handler.py::test_dispatch PASSED                                        [ 63%]
tests/test_pattern_matching_event_handler.py::test_handler PASSED                                         [ 64%]
tests/test_pattern_matching_event_handler.py::test_ignore_directories PASSED                              [ 65%]
tests/test_pattern_matching_event_handler.py::test_ignore_patterns PASSED                                 [ 67%]
tests/test_pattern_matching_event_handler.py::test_patterns PASSED                                        [ 68%]
tests/test_regex_matching_event_handler.py::test_dispatch PASSED                                          [ 69%]
tests/test_regex_matching_event_handler.py::test_handler PASSED                                           [ 70%]
tests/test_regex_matching_event_handler.py::test_ignore_directories PASSED                                [ 72%]
tests/test_regex_matching_event_handler.py::test_ignore_regexes PASSED                                    [ 73%]
tests/test_regex_matching_event_handler.py::test_regexes PASSED                                           [ 74%]
tests/test_regex_matching_event_handler.py::test_logging_event_handler_dispatch PASSED                    [ 75%]
tests/test_skip_repeats_queue.py::test_basic_queue PASSED                                                 [ 77%]
tests/test_skip_repeats_queue.py::test_allow_nonconsecutive PASSED                                        [ 78%]
tests/test_skip_repeats_queue.py::test_prevent_consecutive PASSED                                         [ 79%]
tests/test_skip_repeats_queue.py::test_consecutives_allowed_across_empties PASSED                         [ 81%]
tests/test_skip_repeats_queue.py::test_eventlet_monkey_patching PASSED                                    [ 82%]
tests/test_snapshot_diff.py::test_pickle PASSED                                                           [ 83%]
tests/test_snapshot_diff.py::test_move_to PASSED                                                          [ 84%]
tests/test_snapshot_diff.py::test_move_from PASSED                                                        [ 86%]
tests/test_snapshot_diff.py::test_move_internal PASSED                                                    [ 87%]
tests/test_snapshot_diff.py::test_move_replace PASSED                                                     [ 88%]
tests/test_snapshot_diff.py::test_dir_modify_on_create PASSED                                             [ 89%]
tests/test_snapshot_diff.py::test_dir_modify_on_move PASSED                                               [ 91%]
tests/test_snapshot_diff.py::test_detect_modify_for_moved_files PASSED                                    [ 92%]
tests/test_snapshot_diff.py::test_replace_dir_with_file PASSED                                            [ 93%]
tests/test_snapshot_diff.py::test_permission_error PASSED                                                 [ 94%]
tests/test_snapshot_diff.py::test_ignore_device PASSED                                                    [ 96%]
tests/test_snapshot_diff.py::test_empty_snapshot PASSED                                                   [ 97%]
tests/test_watchmedo.py::test_load_config_valid PASSED                                                    [ 98%]
tests/test_watchmedo.py::test_load_config_invalid PASSED                                                  [100%]

=============================================== warnings summary ================================================
/usr/local/lib/python3.7/site-packages/_pytest/mark/structures.py:324
  /usr/local/lib/python3.7/site-packages/_pytest/mark/structures.py:324: PytestUnknownMarkWarning: Unknown pytest.mark.flaky - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
    PytestUnknownMarkWarning,

-- Docs: https://docs.pytest.org/en/latest/warnings.html
============================================ short test summary info ============================================
SKIPPED [1] /usr/ports/devel/py-watchdog/work-py37/watchdog-0.10.6/tests/test_fsevents.py:8: macOS only.
SKIPPED [1] /usr/ports/devel/py-watchdog/work-py37/watchdog-0.10.6/tests/test_inotify_buffer.py:24: GNU/Linux only.
SKIPPED [1] /usr/ports/devel/py-watchdog/work-py37/watchdog-0.10.6/tests/test_inotify_c.py:8: GNU/Linux only.
SKIPPED [1] /usr/ports/devel/py-watchdog/work-py37/watchdog-0.10.6/tests/test_observers_winapi.py:24: Windows only.
SKIPPED [1] tests/test_emitter.py:184: InotifyFullEmitter only supported in Linux
SKIPPED [1] tests/test_emitter.py:216: InotifyFullEmitter only supported in Linux
SKIPPED [1] tests/test_emitter.py:274: Windows|BSD create another set of events for this test
SKIPPED [1] tests/test_emitter.py:414: Non-Windows create another set of events for this test
SKIPPED [1] tests/test_emitter.py:510: Non-Windows create another set of events for this test
=============================== 74 passed, 9 skipped, 1 warnings in 38.32 seconds ===============================
Comment 8 commit-hook freebsd_committer 2021-02-25 20:23:02 UTC
A commit references this bug:

Author: rhurlin
Date: Thu Feb 25 20:22:09 UTC 2021
New revision: 566555
URL: https://svnweb.freebsd.org/changeset/ports/566555

Log:
  devel/py-watchdog: Update to 0.10.6

  On Github, there is already v2.0.2, but from v1.0.0 on 'make test'
  produces many errors for functions, which passes fine until <= v1.0.0.
  Newer tests run with an update of devel/py-pytest >= v5.0.0 [1][2].

  [1] https://docs.pytest.org/en/latest/changelog.html?highlight=pytestunknownmarkwarning
  [2] https://github.com/pytest-dev/pytest/pull/5416

  Changelog: https://github.com/gorakhargosh/watchdog/releases/tag/v0.10.6

  PR:		244031
  Submitted by:	Evilham <contact@evilham.com>
  Approved by:	Nicola Vitale <nivit@FreeBSD.org> (maintainer timeout)
  MFH:		2021Q1 (bugfixes)
  Differential Revision:	https://reviews.freebsd.org/D23608

Changes:
  head/devel/py-watchdog/Makefile
  head/devel/py-watchdog/distinfo
Comment 9 Rainer Hurling freebsd_committer 2021-02-25 20:26:28 UTC
Maintainer timeout!

Have to commit this update because of important bugfixes. The update towards v0.10.6 (not v0.10.2 as reviewed) is needed for an update of devel/py-spyder to 4.2.x (in preparation by me).
Comment 10 Evilham 2021-02-25 20:55:38 UTC
Thanks!
I'll try to make some time to look into upstream's FreeBSD support again, but v0.10.X has been working fine for me for a while now.
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2021-02-27 02:03:09 UTC
^Triage: Assign to committer that resolved

@Rainer Did this end up being merged? If so please reference the commit url. If not please include 'PR: 244031' in the merge commit so its automatically referenced here.