Your message dated Wed, 4 Oct 2023 23:30:15 +0200
with message-id <567f3a13-938c-eca9-45ee-fb7c27bd4...@infomaniak.com>
and subject line Fixed on last upload
has caused the Debian Bug report #1052894,
regarding python-croniter: FTBFS: tests fail directory
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
1052894: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1052894
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: python-croniter
Version: 1.3.5-3
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230925 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> set -e ; set -x ; for pyvers in 3.11; do \
> PYTHONPATH=. PYTHON=python$pyvers python$pyvers -m pytest -v . ; \
> done
> + PYTHONPATH=. PYTHON=python3.11 python3.11 -m pytest -v .
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0 --
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> collecting ... collected 119 items
>
> src/croniter/tests/test_croniter.py::CroniterTest::testBlockDupRanges PASSED
> [ 0%]
> src/croniter/tests/test_croniter.py::CroniterTest::testBug1 PASSED [
> 1%]
> src/croniter/tests/test_croniter.py::CroniterTest::testBug2 PASSED [
> 2%]
> src/croniter/tests/test_croniter.py::CroniterTest::testBug3 PASSED [
> 3%]
> src/croniter/tests/test_croniter.py::CroniterTest::testBug57 PASSED [
> 4%]
> src/croniter/tests/test_croniter.py::CroniterTest::testDay PASSED [
> 5%]
> src/croniter/tests/test_croniter.py::CroniterTest::testError PASSED [
> 5%]
> src/croniter/tests/test_croniter.py::CroniterTest::testGetCurrent PASSED [
> 6%]
> src/croniter/tests/test_croniter.py::CroniterTest::testHour PASSED [
> 7%]
> src/croniter/tests/test_croniter.py::CroniterTest::testISOWeekday PASSED [
> 8%]
> src/croniter/tests/test_croniter.py::CroniterTest::testInitNoStartTime PASSED
> [ 9%]
> src/croniter/tests/test_croniter.py::CroniterTest::testLastDayOfMonth PASSED
> [ 10%]
> src/croniter/tests/test_croniter.py::CroniterTest::testMinute PASSED [
> 10%]
> src/croniter/tests/test_croniter.py::CroniterTest::testMonth PASSED [
> 11%]
> src/croniter/tests/test_croniter.py::CroniterTest::testNthWeekDay PASSED [
> 12%]
> src/croniter/tests/test_croniter.py::CroniterTest::testOptimizeCronExpressions
> PASSED [ 13%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPrevDayOfMonthWithCrossing
> PASSED [ 14%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPrevLastDayOfMonth
> PASSED [ 15%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPrevMinute PASSED [
> 15%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPrevNthWeekDay PASSED
> [ 16%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPrevWeekDay PASSED [
> 17%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPrevWeekDay2 PASSED [
> 18%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPreviousDay PASSED [
> 19%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPreviousDow PASSED [
> 20%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPreviousHour PASSED [
> 21%]
> src/croniter/tests/test_croniter.py::CroniterTest::testPreviousMonth PASSED [
> 21%]
> src/croniter/tests/test_croniter.py::CroniterTest::testRangeWithUppercaseLastDayOfMonth
> PASSED [ 22%]
> src/croniter/tests/test_croniter.py::CroniterTest::testSecond PASSED [
> 23%]
> src/croniter/tests/test_croniter.py::CroniterTest::testSecondRepeat PASSED [
> 24%]
> src/croniter/tests/test_croniter.py::CroniterTest::testSecondSec PASSED [
> 25%]
> src/croniter/tests/test_croniter.py::CroniterTest::testSundayToThursdayWithAlphaConversion
> PASSED [ 26%]
> src/croniter/tests/test_croniter.py::CroniterTest::testTimezone PASSED [
> 26%]
> src/croniter/tests/test_croniter.py::CroniterTest::testTimezoneDateutil
> PASSED [ 27%]
> src/croniter/tests/test_croniter.py::CroniterTest::testTimezoneSummerTime
> PASSED [ 28%]
> src/croniter/tests/test_croniter.py::CroniterTest::testTimezoneWinterTime
> PASSED [ 29%]
> src/croniter/tests/test_croniter.py::CroniterTest::testWeekDay PASSED [
> 30%]
> src/croniter/tests/test_croniter.py::CroniterTest::testWeekDayDayAnd PASSED [
> 31%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_bug34 PASSED [
> 31%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_confirm_sort PASSED [
> 32%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_dst_issue90_st31ny
> PASSED [ 33%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_error_alpha_cron
> PASSED [ 34%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_error_bad_cron PASSED
> [ 35%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_exactly_the_same_minute
> PASSED [ 36%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_explicit_year_forward
> PASSED [ 36%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_hash_mixup_all_fri_3rd_sat
> PASSED [ 37%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_invalid_zerorepeat
> PASSED [ 38%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_is_valid PASSED [
> 39%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue145_getnext
> PASSED [ 40%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue151 PASSED [
> 41%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue156 PASSED [
> 42%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue_142_dow PASSED
> [ 42%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue_47 PASSED [
> 43%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue_k11 PASSED [
> 44%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue_k12 PASSED [
> 45%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue_k6 PASSED [
> 46%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_issue_monsun_117
> PASSED [ 47%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_last_out_of_range
> PASSED [ 47%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_friday PASSED [
> 48%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_friday_2hours
> PASSED [ 49%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_friday_2xh_2xm
> PASSED [ 50%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_mixup_4th_and_last
> PASSED [ 51%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_mixup_all_fri_last_sat
> PASSED [ 52%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_mixup_firstlast_sat
> PASSED [ 52%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_saturday_rev
> PASSED [ 53%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_lwom_tue_thu PASSED [
> 54%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_match PASSED [
> 55%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_milliseconds PASSED [
> 56%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_mixdow PASSED [
> 57%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_multiple_months
> PASSED [ 57%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_next_when_now_satisfies_cron
> PASSED [ 58%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_nth_as_last_wday_simple
> PASSED [ 59%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_nth_out_of_range
> PASSED [ 60%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_nth_wday_simple
> PASSED [ 61%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_overflow PASSED [
> 62%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_rangeGenerator PASSED
> [ 63%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_std_dst PASSED [
> 63%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_std_dst2 PASSED [
> 64%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_std_dst3 PASSED [
> 65%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_wdom_core_leap_year
> PASSED [ 66%]
> src/croniter/tests/test_croniter.py::CroniterTest::test_weekday_range PASSED
> [ 67%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_daily
> PASSED [ 68%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_division
> PASSED [ 68%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_epoch_change
> PASSED [ 69%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_float
> PASSED [ 70%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_hourly
> PASSED [ 71%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_id_bytes
> PASSED [ 72%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_id_change
> PASSED [ 73%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_monthly
> PASSED [ 73%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_range
> PASSED [ 74%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_range_division
> PASSED [ 75%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_second
> PASSED [ 76%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_weekly
> PASSED [ 77%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_hash_yearly
> PASSED [ 78%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_invalid_definition
> PASSED [ 78%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_invalid_divisor
> PASSED [ 79%]
> src/croniter/tests/test_croniter_hash.py::CroniterHashTest::test_invalid_hash_id_type
> PASSED [ 80%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_annually
> PASSED [ 81%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_daily
> PASSED [ 82%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_hourly
> PASSED [ 83%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_midnight
> PASSED [ 84%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_monthly
> PASSED [ 84%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_weekly
> PASSED [ 85%]
> src/croniter/tests/test_croniter_hash.py::CroniterWordAliasTest::test_hash_word_yearly
> PASSED [ 86%]
> src/croniter/tests/test_croniter_random.py::CroniterRandomTest::test_random
> PASSED [ 87%]
> src/croniter/tests/test_croniter_random.py::CroniterRandomTest::test_random_float
> PASSED [ 88%]
> src/croniter/tests/test_croniter_random.py::CroniterRandomTest::test_random_range
> PASSED [ 89%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_1day_step
> PASSED [ 89%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_1day_step_no_ends
> PASSED [ 90%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_1minute_step_float
> PASSED [ 91%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_1month_step
> PASSED [ 92%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_auto_ret_type
> PASSED [ 93%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_croniter_range_derived_class
> PASSED [ 94%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_dt_types
> PASSED [ 94%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_extra_hour_day_prio
> FAILED [ 95%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_input_type_exceptions
> PASSED [ 96%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_issue145_getnext
> PASSED [ 97%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_issue145_range
> PASSED [ 98%]
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_timezone_dst
> FAILED [ 99%]
> src/croniter/tests/test_speed.py::TestCase::test_Noop PASSED
> [100%]
>
> =================================== FAILURES
> ===================================
> __________________ CroniterRangeTest.test_extra_hour_day_prio
> __________________
>
> self = <croniter.tests.test_croniter_range.CroniterRangeTest
> testMethod=test_extra_hour_day_prio>
>
> def test_extra_hour_day_prio(self):
> def datetime_tz(*args, **kw):
> """ Defined this in another branch. single-use-version """
> tzinfo = kw.pop("tzinfo")
> return tzinfo.localize(datetime(*args))
> > tz = pytz.timezone("US/Eastern")
>
> src/croniter/tests/test_croniter_range.py:96:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> zone = 'US/Eastern'
>
> def timezone(zone):
> r''' Return a datetime.tzinfo implementation for the given timezone
>
> >>> from datetime import datetime, timedelta
> >>> utc = timezone('UTC')
> >>> eastern = timezone('US/Eastern')
> >>> eastern.zone
> 'US/Eastern'
> >>> timezone(unicode('US/Eastern')) is eastern
> True
> >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
> >>> loc_dt = utc_dt.astimezone(eastern)
> >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
> >>> loc_dt.strftime(fmt)
> '2002-10-27 01:00:00 EST (-0500)'
> >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)
> '2002-10-27 00:50:00 EST (-0500)'
> >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)
> '2002-10-27 01:50:00 EDT (-0400)'
> >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)
> '2002-10-27 01:10:00 EST (-0500)'
>
> Raises UnknownTimeZoneError if passed an unknown zone.
>
> >>> try:
> ... timezone('Asia/Shangri-La')
> ... except UnknownTimeZoneError:
> ... print('Unknown')
> Unknown
>
> >>> try:
> ... timezone(unicode('\N{TRADE MARK SIGN}'))
> ... except UnknownTimeZoneError:
> ... print('Unknown')
> Unknown
>
> '''
> if zone is None:
> raise UnknownTimeZoneError(None)
>
> if zone.upper() == 'UTC':
> return utc
>
> try:
> zone = ascii(zone)
> except UnicodeEncodeError:
> # All valid timezones are ASCII
> raise UnknownTimeZoneError(zone)
>
> zone = _case_insensitive_zone_lookup(_unmunge_zone(zone))
> if zone not in _tzinfo_cache:
> if zone in all_timezones_set: # noqa
> fp = open_resource(zone)
> try:
> _tzinfo_cache[zone] = build_tzinfo(zone, fp)
> finally:
> fp.close()
> else:
> > raise UnknownTimeZoneError(zone)
> E pytz.exceptions.UnknownTimeZoneError: 'US/Eastern'
>
> /usr/lib/python3/dist-packages/pytz/__init__.py:202: UnknownTimeZoneError
> _____________________ CroniterRangeTest.test_timezone_dst
> ______________________
>
> self = <croniter.tests.test_croniter_range.CroniterRangeTest
> testMethod=test_timezone_dst>
>
> def test_timezone_dst(self):
> """ Test across DST transition, which technically is a timzone
> change. """
> > tz = pytz.timezone("US/Eastern")
>
> src/croniter/tests/test_croniter_range.py:84:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> zone = 'US/Eastern'
>
> def timezone(zone):
> r''' Return a datetime.tzinfo implementation for the given timezone
>
> >>> from datetime import datetime, timedelta
> >>> utc = timezone('UTC')
> >>> eastern = timezone('US/Eastern')
> >>> eastern.zone
> 'US/Eastern'
> >>> timezone(unicode('US/Eastern')) is eastern
> True
> >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)
> >>> loc_dt = utc_dt.astimezone(eastern)
> >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'
> >>> loc_dt.strftime(fmt)
> '2002-10-27 01:00:00 EST (-0500)'
> >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)
> '2002-10-27 00:50:00 EST (-0500)'
> >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)
> '2002-10-27 01:50:00 EDT (-0400)'
> >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)
> '2002-10-27 01:10:00 EST (-0500)'
>
> Raises UnknownTimeZoneError if passed an unknown zone.
>
> >>> try:
> ... timezone('Asia/Shangri-La')
> ... except UnknownTimeZoneError:
> ... print('Unknown')
> Unknown
>
> >>> try:
> ... timezone(unicode('\N{TRADE MARK SIGN}'))
> ... except UnknownTimeZoneError:
> ... print('Unknown')
> Unknown
>
> '''
> if zone is None:
> raise UnknownTimeZoneError(None)
>
> if zone.upper() == 'UTC':
> return utc
>
> try:
> zone = ascii(zone)
> except UnicodeEncodeError:
> # All valid timezones are ASCII
> raise UnknownTimeZoneError(zone)
>
> zone = _case_insensitive_zone_lookup(_unmunge_zone(zone))
> if zone not in _tzinfo_cache:
> if zone in all_timezones_set: # noqa
> fp = open_resource(zone)
> try:
> _tzinfo_cache[zone] = build_tzinfo(zone, fp)
> finally:
> fp.close()
> else:
> > raise UnknownTimeZoneError(zone)
> E pytz.exceptions.UnknownTimeZoneError: 'US/Eastern'
>
> /usr/lib/python3/dist-packages/pytz/__init__.py:202: UnknownTimeZoneError
> =========================== short test summary info
> ============================
> FAILED
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_extra_hour_day_prio
> FAILED
> src/croniter/tests/test_croniter_range.py::CroniterRangeTest::test_timezone_dst
> ======================== 2 failed, 117 passed in 0.35s
> =========================
> make[1]: *** [debian/rules:25: override_dh_auto_test] Error 1
The full build log is available from:
http://qa-logs.debian.net/2023/09/25/python-croniter_1.3.5-3_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---
--- Begin Message ---
My last upload didn't close this bug, but it fixed it (with a patch).
Cheers,
Thomas Goirand (zigo)
--- End Message ---