Page MenuHomeFreeBSD

www/py-caldav: Update to 0.9.0
ClosedPublic

Authored by jrm on May 17 2022, 12:43 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 4, 9:30 AM
Unknown Object (File)
Fri, May 3, 1:23 AM
Unknown Object (File)
Fri, May 3, 1:22 AM
Unknown Object (File)
Fri, May 3, 1:22 AM
Unknown Object (File)
Fri, May 3, 1:20 AM
Unknown Object (File)
Thu, May 2, 9:36 PM
Unknown Object (File)
Mon, Apr 22, 7:04 AM
Unknown Object (File)
Jan 14 2024, 9:17 PM
Subscribers

Details

Summary
www/py-caldav: Update to 0.9.0

Changelog:

  https://github.com/python-caldav/caldav/releases

Reviewed_by: koobs
Differential_Revision: D35226
Sponsored by:	The FreeBSD Foundation
Test Plan
  • portlint: ??
  • testport (what versions, archs and Python versions?)
  • maketest: (whats the summary output of passed, skipped, etc?)

jrm@ser /usr/ports/www/py-caldav [py-caldav↑1|✔] % portlint -AC
looks fine.
jrm@ser /usr/ports/www/py-caldav [py-caldav↑1|✔] % portclippy Makefile
jrm@ser /usr/ports/www/py-caldav [py-caldav↑1|✔] % portfmt -D Makefile
jrm@ser /usr/ports/www/py-caldav [py-caldav↑1|✔] %

poudriere testport 12.3/13.0/14 py36,37,38,39,310 all pass

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jrm requested review of this revision.May 17 2022, 12:43 AM
www/py-caldav/Makefile
12–22

Upstream appears not to declare <version-spec>'s for these dependencies [1]. Not matching version specs can be problematic.

[1] install_requires=['vobject', 'lxml', 'requests', 'six'] + extra_packages,

24

Guideline: Remove unnecessary developer/upstream test dependencies wherever possible

Should not be required with -o addopts= which overrides pytest options set in pytest.cfg or setup.cfg:[pytest] files (which usually add --cov and the like to command line arguments, expexting these tools to exist.

Remove the TEST_DEPENDS and check that the tests still run.

Other examples to remove, pylint, black, flake8, etc)

24

Upstream only tests up to 3.8 but this version spec allows any versions above 3.6 including all unreleased future versions of Python.

Do the tests pass with all Python versions up to and including 3.10? If so, ask upstream to CI those versions too. If not, cap the version-spec accordingly to only CI'd/tested versions.

[1] envlist = py27,py37,py38

26–27

Guidelines:

  • Remove unnecessary developer/upstream test dependencies wherever possible
  • Check that dependencies are *actually* required (tests fail without them), and remove them whenever possible.

Seeing both of these required at the same time is not uncommon, but becoming less common over time as projects transition from one test stack to another.

It's very common for projects to accidentally leave one or the other in place when they're not actually required.

30

Guideline: Scope dependencies to PYTHON_REL (or PYTHON_VER) correctly and completely.

Appears pytz and tzlocal are only required for 2.7 and 3.5 [1]. Unfortunately this port already (incorrectly) specifies 3.6+, but nevertheless, if the above dependencies are only for <3.6, then they're not required, modulo the comment about pytz perhaps being still needed because of icalender.

[1] For python 2.7 and 3.5 we depend on pytz and tzlocal. For 3.6 and up, batteries are included
[1] https://github.com/python-caldav/caldav/blob/v0.9.0/setup.py#L11=

30

It appears 'mock' is conditionally (python version specific) missing from TEST_DEPENDS [1]

[1] https://github.com/python-caldav/caldav/blob/v0.9.0/setup.py#L22=

Also, 'xandikos<0.2.4', is declared as a test dependency for not in TEST_DEPENDS. TO the tests pass, or are certain tests skipped when this is not available?

koobs requested changes to this revision.May 17 2022, 1:06 AM
koobs edited the test plan for this revision. (Show Details)
This revision now requires changes to proceed.May 17 2022, 1:07 AM
www/py-caldav/Makefile
12–22

Changed to RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR}...

24

Yes, they pass for 3.7, 3.8, 3,9, and 3.10.

26–27

It seems nose is required. The tests fail complaining about nose missing when it is removed from TEST_DEPENDS.

30

The tests fail and complain about missing tzlocal when it's not included in TEST_DEPENDS.

30

All tests do pass.

platform freebsd14 -- Python 3.7.13, pytest-7.1.2, pluggy-1.0.0 -- /usr/local/bin/python3.7
cachedir: .pytest_cache
rootdir: /wrkdirs/usr/ports/www/py-caldav/work-py37
collected 24 items

caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testRequestNonAscii PASSED                                                                                                                                                                                                      [  4%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testPathWithEscapedCharacters PASSED                                                                                                                                                                                            [  8%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testAbsoluteURL PASSED                                                                                                                                                                                                          [ 12%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testDateSearch PASSED                                                                                                                                                                                                           [ 16%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testCalendar PASSED                                                                                                                                                                                                             [ 20%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::test_get_events_icloud PASSED                                                                                                                                                                                                   [ 25%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::test_get_calendars PASSED                                                                                                                                                                                                       [ 29%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::test_xml_parsing PASSED                                                                                                                                                                                                         [ 33%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testFailedQuery PASSED                                                                                                                                                                                                          [ 37%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testDefaultClient PASSED                                                                                                                                                                                                        [ 41%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testInstance PASSED                                                                                                                                                                                                             [ 45%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testURL PASSED                                                                                                                                                                                                                  [ 50%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testFilters PASSED                                                                                                                                                                                                              [ 54%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::test_vcal_fixups PASSED                                                                                                                                                                                                         [ 58%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::test_calendar_comp_class_by_data PASSED                                                                                                                                                                                         [ 62%]
caldav-0.9.0/tests/test_caldav_unit.py::TestCalDAV::testContextManager PASSED                                                                                                                                                                                                       [ 66%]
caldav-0.9.0/tests/test_cdav.py::test_element PASSED                                                                                                                                                                                                                                [ 70%]
caldav-0.9.0/tests/test_cdav.py::test_to_utc_date_string_date PASSED                                                                                                                                                                                                                [ 75%]
caldav-0.9.0/tests/test_cdav.py::test_to_utc_date_string_utc PASSED                                                                                                                                                                                                                 [ 79%]
caldav-0.9.0/tests/test_cdav.py::test_to_utc_date_string_dt_with_pytz_tzinfo PASSED                                                                                                                                                                                                 [ 83%]
caldav-0.9.0/tests/test_cdav.py::test_to_utc_date_string_dt_with_local_tz PASSED                                                                                                                                                                                                    [ 87%]
caldav-0.9.0/tests/test_cdav.py::test_to_utc_date_string_naive_dt PASSED                                                                                                                                                                                                            [ 91%]
caldav-0.9.0/tests/test_utils.py::TestUtils::test_to_wire PASSED                                                                                                                                                                                                                    [ 95%]
caldav-0.9.0/tests/test_vcal.py::TestVcal::test_create_ical PASSED                                                                                                                                                                                                                  [100%]
  • Change the version specs for python dependencies to match upstream.
  • Remove unnecessary TEST_DEPENDS
jrm edited the test plan for this revision. (Show Details)
This revision was not accepted when it landed; it landed in state Needs Review.May 19 2022, 2:58 PM
This revision was automatically updated to reflect the committed changes.
jrm marked 3 inline comments as done.