Package: src:todoman Version: 4.4.0-1 Severity: serious Tags: ftbfs
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules build dh build --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12 * Building wheel... /usr/lib/python3/dist-packages/ptr.py:38: SetuptoolsDeprecationWarning: The test command is disabled and references to it are deprecated. !! ******************************************************************************** Please remove any references to `setuptools.command.test` in all supported versions of the affected package. [... snipped ...] [33m >>> eastern = timezone('US/Eastern')[39;49;00m [33m >>> eastern.zone[39;49;00m [33m 'US/Eastern'[39;49;00m [33m >>> timezone(unicode('US/Eastern')) is eastern[39;49;00m [33m True[39;49;00m [33m >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)[39;49;00m [33m >>> loc_dt = utc_dt.astimezone(eastern)[39;49;00m [33m >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'[39;49;00m [33m >>> loc_dt.strftime(fmt)[39;49;00m [33m '2002-10-27 01:00:00 EST (-0500)'[39;49;00m [33m >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 00:50:00 EST (-0500)'[39;49;00m [33m >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 01:50:00 EDT (-0400)'[39;49;00m [33m >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 01:10:00 EST (-0500)'[39;49;00m [33m[39;49;00m [33m Raises UnknownTimeZoneError if passed an unknown zone.[39;49;00m [33m[39;49;00m [33m >>> try:[39;49;00m [33m ... timezone('Asia/Shangri-La')[39;49;00m [33m ... except UnknownTimeZoneError:[39;49;00m [33m ... print('Unknown')[39;49;00m [33m Unknown[39;49;00m [33m[39;49;00m [33m >>> try:[39;49;00m [33m ... timezone(unicode('\N{TRADE MARK SIGN}'))[39;49;00m [33m ... except UnknownTimeZoneError:[39;49;00m [33m ... print('Unknown')[39;49;00m [33m Unknown[39;49;00m [33m[39;49;00m [33m '''[39;49;00m[90m[39;49;00m [94mif[39;49;00m zone [95mis[39;49;00m [94mNone[39;49;00m:[90m[39;49;00m [94mraise[39;49;00m UnknownTimeZoneError([94mNone[39;49;00m)[90m[39;49;00m [90m[39;49;00m [94mif[39;49;00m zone.upper() == [33m'[39;49;00m[33mUTC[39;49;00m[33m'[39;49;00m:[90m[39;49;00m [94mreturn[39;49;00m utc[90m[39;49;00m [90m[39;49;00m [94mtry[39;49;00m:[90m[39;49;00m zone = ascii(zone)[90m[39;49;00m [94mexcept[39;49;00m [96mUnicodeEncodeError[39;49;00m:[90m[39;49;00m [90m# All valid timezones are ASCII[39;49;00m[90m[39;49;00m [94mraise[39;49;00m UnknownTimeZoneError(zone)[90m[39;49;00m [90m[39;49;00m zone = _case_insensitive_zone_lookup(_unmunge_zone(zone))[90m[39;49;00m [94mif[39;49;00m zone [95mnot[39;49;00m [95min[39;49;00m _tzinfo_cache:[90m[39;49;00m [94mif[39;49;00m zone [95min[39;49;00m all_timezones_set: [90m# noqa[39;49;00m[90m[39;49;00m fp = open_resource(zone)[90m[39;49;00m [94mtry[39;49;00m:[90m[39;49;00m _tzinfo_cache[zone] = build_tzinfo(zone, fp)[90m[39;49;00m [94mfinally[39;49;00m:[90m[39;49;00m fp.close()[90m[39;49;00m [94melse[39;49;00m:[90m[39;49;00m
[94mraise[39;49;00m UnknownTimeZoneError(zone)[90m[39;49;00m
[1m[31mE pytz.exceptions.UnknownTimeZoneError: 'HST'[0m [1m[31m/usr/lib/python3/dist-packages/pytz/__init__.py[0m:201: UnknownTimeZoneError [31m[1m______________________ test_humanized_date[HST-interval1] ______________________[0m runner = <tests.conftest.runner.<locals>.SleepyCliRunner object at 0x7f66b04e3bf0> create = <function create.<locals>.inner at 0x7f66b063dda0> interval = (-10800, 'today') now_for_tz = <function now_for_tz.<locals>.inner at 0x7f66b063e5c0>, tz = 'HST' [0m[37m@pyicu_sensitive[39;49;00m[90m[39;49;00m [37m@pytest[39;49;00m.mark.parametrize([33m"[39;49;00m[33minterval[39;49;00m[33m"[39;49;00m, [([94m65[39;49;00m, [33m"[39;49;00m[33mtoday[39;49;00m[33m"[39;49;00m), (-[94m10800[39;49;00m, [33m"[39;49;00m[33mtoday[39;49;00m[33m"[39;49;00m)])[90m[39;49;00m [37m@pytest[39;49;00m.mark.parametrize([33m"[39;49;00m[33mtz[39;49;00m[33m"[39;49;00m, [[33m"[39;49;00m[33mCET[39;49;00m[33m"[39;49;00m, [33m"[39;49;00m[33mHST[39;49;00m[33m"[39;49;00m])[90m[39;49;00m [37m@freeze_time[39;49;00m([33m"[39;49;00m[33m2017-03-25 18:00:00[39;49;00m[33m"[39;49;00m)[90m[39;49;00m [94mdef[39;49;00m [92mtest_humanized_date[39;49;00m(runner, create, interval, now_for_tz, tz):[90m[39;49;00m seconds, expected = interval[90m[39;49;00m
due = now_for_tz(tz) + timedelta(seconds=seconds)[90m[39;49;00m
[1m[31mtests/test_formatter.py[0m:42: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [1m[31mtests/conftest.py[0m:77: in inner [0m[94mreturn[39;49;00m datetime.now().replace(tzinfo=tzlocal()).astimezone(pytz.timezone(tz))[90m[39;49;00m _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ zone = 'HST' [0m[94mdef[39;49;00m [92mtimezone[39;49;00m(zone):[90m[39;49;00m [90m [39;49;00m[33mr[39;49;00m[33m''' Return a datetime.tzinfo implementation for the given timezone[39;49;00m [33m[39;49;00m [33m >>> from datetime import datetime, timedelta[39;49;00m [33m >>> utc = timezone('UTC')[39;49;00m [33m >>> eastern = timezone('US/Eastern')[39;49;00m [33m >>> eastern.zone[39;49;00m [33m 'US/Eastern'[39;49;00m [33m >>> timezone(unicode('US/Eastern')) is eastern[39;49;00m [33m True[39;49;00m [33m >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)[39;49;00m [33m >>> loc_dt = utc_dt.astimezone(eastern)[39;49;00m [33m >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'[39;49;00m [33m >>> loc_dt.strftime(fmt)[39;49;00m [33m '2002-10-27 01:00:00 EST (-0500)'[39;49;00m [33m >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 00:50:00 EST (-0500)'[39;49;00m [33m >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 01:50:00 EDT (-0400)'[39;49;00m [33m >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 01:10:00 EST (-0500)'[39;49;00m [33m[39;49;00m [33m Raises UnknownTimeZoneError if passed an unknown zone.[39;49;00m [33m[39;49;00m [33m >>> try:[39;49;00m [33m ... timezone('Asia/Shangri-La')[39;49;00m [33m ... except UnknownTimeZoneError:[39;49;00m [33m ... print('Unknown')[39;49;00m [33m Unknown[39;49;00m [33m[39;49;00m [33m >>> try:[39;49;00m [33m ... timezone(unicode('\N{TRADE MARK SIGN}'))[39;49;00m [33m ... except UnknownTimeZoneError:[39;49;00m [33m ... print('Unknown')[39;49;00m [33m Unknown[39;49;00m [33m[39;49;00m [33m '''[39;49;00m[90m[39;49;00m [94mif[39;49;00m zone [95mis[39;49;00m [94mNone[39;49;00m:[90m[39;49;00m [94mraise[39;49;00m UnknownTimeZoneError([94mNone[39;49;00m)[90m[39;49;00m [90m[39;49;00m [94mif[39;49;00m zone.upper() == [33m'[39;49;00m[33mUTC[39;49;00m[33m'[39;49;00m:[90m[39;49;00m [94mreturn[39;49;00m utc[90m[39;49;00m [90m[39;49;00m [94mtry[39;49;00m:[90m[39;49;00m zone = ascii(zone)[90m[39;49;00m [94mexcept[39;49;00m [96mUnicodeEncodeError[39;49;00m:[90m[39;49;00m [90m# All valid timezones are ASCII[39;49;00m[90m[39;49;00m [94mraise[39;49;00m UnknownTimeZoneError(zone)[90m[39;49;00m [90m[39;49;00m zone = _case_insensitive_zone_lookup(_unmunge_zone(zone))[90m[39;49;00m [94mif[39;49;00m zone [95mnot[39;49;00m [95min[39;49;00m _tzinfo_cache:[90m[39;49;00m [94mif[39;49;00m zone [95min[39;49;00m all_timezones_set: [90m# noqa[39;49;00m[90m[39;49;00m fp = open_resource(zone)[90m[39;49;00m [94mtry[39;49;00m:[90m[39;49;00m _tzinfo_cache[zone] = build_tzinfo(zone, fp)[90m[39;49;00m [94mfinally[39;49;00m:[90m[39;49;00m fp.close()[90m[39;49;00m [94melse[39;49;00m:[90m[39;49;00m
[94mraise[39;49;00m UnknownTimeZoneError(zone)[90m[39;49;00m
[1m[31mE pytz.exceptions.UnknownTimeZoneError: 'HST'[0m [1m[31m/usr/lib/python3/dist-packages/pytz/__init__.py[0m:201: UnknownTimeZoneError [31m[1m________________________________ test_retain_tz ________________________________[0m tmpdir = local('/tmp/pytest-of-buildd/pytest-0/test_retain_tz0') create = <function create.<locals>.inner at 0x7f66b09a8540> todos = [<todoman.model.Todo object at 0x7f66b04b6de0>, <todoman.model.Todo object at 0x7f66b04b6a20>] [0m[94mdef[39;49;00m [92mtest_retain_tz[39;49;00m(tmpdir, create, todos):[90m[39;49;00m create([90m[39;49;00m [33m"[39;49;00m[33mar.ics[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33mf[39;49;00m[33m"[39;49;00m[33mUID:[39;49;00m[33m{[39;49;00muuid4()[33m}[39;49;00m[33m\n[39;49;00m[33mSUMMARY:blah.ar[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mDUE;VALUE=DATE-TIME;TZID=HST:20160102T000000[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m,[90m[39;49;00m )[90m[39;49;00m create([90m[39;49;00m [33m"[39;49;00m[33mde.ics[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33mf[39;49;00m[33m"[39;49;00m[33mUID:[39;49;00m[33m{[39;49;00muuid4()[33m}[39;49;00m[33m\n[39;49;00m[33mSUMMARY:blah.de[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mDUE;VALUE=DATE-TIME;TZID=CET:20160102T000000[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m,[90m[39;49;00m )[90m[39;49;00m [90m[39;49;00m todos = [96mlist[39;49;00m(todos())[90m[39;49;00m [90m[39;49;00m [94massert[39;49;00m [96mlen[39;49;00m(todos) == [94m2[39;49;00m[90m[39;49;00m
[94massert[39;49;00m todos[[94m0[39;49;00m].due == datetime([94m2016[39;49;00m, [94m1[39;49;00m, [94m2[39;49;00m, [94m0[39;49;00m, [94m0[39;49;00m, tzinfo=tzoffset([94mNone[39;49;00m, -[94m36000[39;49;00m))[90m[39;49;00m
[1m[31mE assert datetime.datetime(2016, 1, 2, 0, 0, tzinfo=tzlocal()) == datetime.datetime(2016, 1, 2, 0, 0, tzinfo=tzoffset(None, -36000))[0m [1m[31mE + where datetime.datetime(2016, 1, 2, 0, 0, tzinfo=tzlocal()) = <todoman.model.Todo object at 0x7f66b04b6de0>.due[0m [1m[31mE + and datetime.datetime(2016, 1, 2, 0, 0, tzinfo=tzoffset(None, -36000)) = datetime(2016, 1, 2, 0, 0, tzinfo=tzoffset(None, -36000))[0m [1m[31mE + where tzoffset(None, -36000) = tzoffset(None, -36000)[0m [1m[31mtests/test_model.py[0m:55: AssertionError [31m[1m________________________ test_illegal_start_suppression ________________________[0m create = <function create.<locals>.inner at 0x7f66b09aa520> default_database = <todoman.model.Database object at 0x7f66b04e2c60> todos = <function todos.<locals>.inner at 0x7f66b09aa5c0> [0m[94mdef[39;49;00m [92mtest_illegal_start_suppression[39;49;00m(create, default_database, todos):[90m[39;49;00m create([90m[39;49;00m [33m"[39;49;00m[33mtest.ics[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mSUMMARY:Start doing stuff[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mDUE;VALUE=DATE-TIME;TZID=CET:20170331T120000[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mDTSTART;VALUE=DATE-TIME;TZID=CET:20170331T140000[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m,[90m[39;49;00m )[90m[39;49;00m todo = [96mnext[39;49;00m(todos())[90m[39;49;00m [94massert[39;49;00m todo.start [95mis[39;49;00m [94mNone[39;49;00m[90m[39;49;00m
[94massert[39;49;00m todo.due == datetime([94m2017[39;49;00m, [94m3[39;49;00m, [94m31[39;49;00m, [94m12[39;49;00m, tzinfo=tzoffset([94mNone[39;49;00m, [94m7200[39;49;00m))[90m[39;49;00m
[1m[31mE assert datetime.datetime(2017, 3, 31, 12, 0, tzinfo=tzlocal()) == datetime.datetime(2017, 3, 31, 12, 0, tzinfo=tzoffset(None, 7200))[0m [1m[31mE + where datetime.datetime(2017, 3, 31, 12, 0, tzinfo=tzlocal()) = <todoman.model.Todo object at 0x7f66b0477fb0>.due[0m [1m[31mE + and datetime.datetime(2017, 3, 31, 12, 0, tzinfo=tzoffset(None, 7200)) = datetime(2017, 3, 31, 12, tzinfo=tzoffset(None, 7200))[0m [1m[31mE + where tzoffset(None, 7200) = tzoffset(None, 7200)[0m [1m[31mtests/test_model.py[0m:419: AssertionError [31m[1m________________________________ test_list_all _________________________________[0m tmpdir = local('/tmp/pytest-of-buildd/pytest-0/test_list_all0') runner = <tests.conftest.runner.<locals>.SleepyCliRunner object at 0x7f66b05da7b0> create = <function create.<locals>.inner at 0x7f66b09ab060> [0m[94mdef[39;49;00m [92mtest_list_all[39;49;00m(tmpdir, runner, create):[90m[39;49;00m create([90m[39;49;00m [33m"[39;49;00m[33mtest.ics[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mSUMMARY:Do stuff[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mSTATUS:COMPLETED[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mCOMPLETED:20181225T191234Z[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mDUE;VALUE=DATE-TIME;TZID=CET:20160102T000000[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mDTSTART:20160101T000000Z[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mPERCENT-COMPLETE:26[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m[90m[39;49;00m [33m"[39;49;00m[33mLOCATION:Wherever[39;49;00m[33m\n[39;49;00m[33m"[39;49;00m,[90m[39;49;00m )[90m[39;49;00m result = runner.invoke(cli, [[33m"[39;49;00m[33m--porcelain[39;49;00m[33m"[39;49;00m, [33m"[39;49;00m[33mlist[39;49;00m[33m"[39;49;00m, [33m"[39;49;00m[33m--status[39;49;00m[33m"[39;49;00m, [33m"[39;49;00m[33mANY[39;49;00m[33m"[39;49;00m])[90m[39;49;00m [90m[39;49;00m expected = [[90m[39;49;00m {[90m[39;49;00m [33m"[39;49;00m[33mcategories[39;49;00m[33m"[39;49;00m: [],[90m[39;49;00m [33m"[39;49;00m[33mcompleted[39;49;00m[33m"[39;49;00m: [94mTrue[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mcompleted_at[39;49;00m[33m"[39;49;00m: [94m1545765154[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mdescription[39;49;00m[33m"[39;49;00m: [33m"[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mdue[39;49;00m[33m"[39;49;00m: [94m1451689200[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mid[39;49;00m[33m"[39;49;00m: [94m1[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mlist[39;49;00m[33m"[39;49;00m: [33m"[39;49;00m[33mdefault[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mlocation[39;49;00m[33m"[39;49;00m: [33m"[39;49;00m[33mWherever[39;49;00m[33m"[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mpercent[39;49;00m[33m"[39;49;00m: [94m26[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mpriority[39;49;00m[33m"[39;49;00m: [94m0[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33mstart[39;49;00m[33m"[39;49;00m: [94m1451606400[39;49;00m,[90m[39;49;00m [33m"[39;49;00m[33msummary[39;49;00m[33m"[39;49;00m: [33m"[39;49;00m[33mDo stuff[39;49;00m[33m"[39;49;00m,[90m[39;49;00m }[90m[39;49;00m ][90m[39;49;00m [90m[39;49;00m [94massert[39;49;00m [95mnot[39;49;00m result.exception[90m[39;49;00m
[94massert[39;49;00m result.output.strip() == json.dumps(expected, indent=[94m4[39;49;00m, sort_keys=[94mTrue[39;49;00m)[90m[39;49;00m
[1m[31mE assert '[\n {\n ...ff"\n }\n]' == '[\n {\n ...ff"\n }\n]'[0m [1m[31mE [0m [1m[31mE [[0m [1m[31mE {[0m [1m[31mE "categories": [],[0m [1m[31mE "completed": true,[0m [1m[31mE "completed_at": 1545765154,[0m [1m[31mE "description": "",...[0m [1m[31mE [0m [1m[31mE ...Full output truncated (13 lines hidden), use '-vv' to show[0m [1m[31mtests/test_porcelain.py[0m:44: AssertionError [31m[1m______________________ test_formatting_parsing_consitency ______________________[0m [0m[94mdef[39;49;00m [92mtest_formatting_parsing_consitency[39;49;00m():[90m[39;49;00m
tz = pytz.timezone([33m"[39;49;00m[33mCET[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
[1m[31mtests/test_porcelain.py[0m:251: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ zone = 'CET' [0m[94mdef[39;49;00m [92mtimezone[39;49;00m(zone):[90m[39;49;00m [90m [39;49;00m[33mr[39;49;00m[33m''' Return a datetime.tzinfo implementation for the given timezone[39;49;00m [33m[39;49;00m [33m >>> from datetime import datetime, timedelta[39;49;00m [33m >>> utc = timezone('UTC')[39;49;00m [33m >>> eastern = timezone('US/Eastern')[39;49;00m [33m >>> eastern.zone[39;49;00m [33m 'US/Eastern'[39;49;00m [33m >>> timezone(unicode('US/Eastern')) is eastern[39;49;00m [33m True[39;49;00m [33m >>> utc_dt = datetime(2002, 10, 27, 6, 0, 0, tzinfo=utc)[39;49;00m [33m >>> loc_dt = utc_dt.astimezone(eastern)[39;49;00m [33m >>> fmt = '%Y-%m-%d %H:%M:%S %Z (%z)'[39;49;00m [33m >>> loc_dt.strftime(fmt)[39;49;00m [33m '2002-10-27 01:00:00 EST (-0500)'[39;49;00m [33m >>> (loc_dt - timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 00:50:00 EST (-0500)'[39;49;00m [33m >>> eastern.normalize(loc_dt - timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 01:50:00 EDT (-0400)'[39;49;00m [33m >>> (loc_dt + timedelta(minutes=10)).strftime(fmt)[39;49;00m [33m '2002-10-27 01:10:00 EST (-0500)'[39;49;00m [33m[39;49;00m [33m Raises UnknownTimeZoneError if passed an unknown zone.[39;49;00m [33m[39;49;00m [33m >>> try:[39;49;00m [33m ... timezone('Asia/Shangri-La')[39;49;00m [33m ... except UnknownTimeZoneError:[39;49;00m [33m ... print('Unknown')[39;49;00m [33m Unknown[39;49;00m [33m[39;49;00m [33m >>> try:[39;49;00m [33m ... timezone(unicode('\N{TRADE MARK SIGN}'))[39;49;00m [33m ... except UnknownTimeZoneError:[39;49;00m [33m ... print('Unknown')[39;49;00m [33m Unknown[39;49;00m [33m[39;49;00m [33m '''[39;49;00m[90m[39;49;00m [94mif[39;49;00m zone [95mis[39;49;00m [94mNone[39;49;00m:[90m[39;49;00m [94mraise[39;49;00m UnknownTimeZoneError([94mNone[39;49;00m)[90m[39;49;00m [90m[39;49;00m [94mif[39;49;00m zone.upper() == [33m'[39;49;00m[33mUTC[39;49;00m[33m'[39;49;00m:[90m[39;49;00m [94mreturn[39;49;00m utc[90m[39;49;00m [90m[39;49;00m [94mtry[39;49;00m:[90m[39;49;00m zone = ascii(zone)[90m[39;49;00m [94mexcept[39;49;00m [96mUnicodeEncodeError[39;49;00m:[90m[39;49;00m [90m# All valid timezones are ASCII[39;49;00m[90m[39;49;00m [94mraise[39;49;00m UnknownTimeZoneError(zone)[90m[39;49;00m [90m[39;49;00m zone = _case_insensitive_zone_lookup(_unmunge_zone(zone))[90m[39;49;00m [94mif[39;49;00m zone [95mnot[39;49;00m [95min[39;49;00m _tzinfo_cache:[90m[39;49;00m [94mif[39;49;00m zone [95min[39;49;00m all_timezones_set: [90m# noqa[39;49;00m[90m[39;49;00m fp = open_resource(zone)[90m[39;49;00m [94mtry[39;49;00m:[90m[39;49;00m _tzinfo_cache[zone] = build_tzinfo(zone, fp)[90m[39;49;00m [94mfinally[39;49;00m:[90m[39;49;00m fp.close()[90m[39;49;00m [94melse[39;49;00m:[90m[39;49;00m
[94mraise[39;49;00m UnknownTimeZoneError(zone)[90m[39;49;00m
[1m[31mE pytz.exceptions.UnknownTimeZoneError: 'CET'[0m [1m[31m/usr/lib/python3/dist-packages/pytz/__init__.py[0m:201: UnknownTimeZoneError [33m=============================== warnings summary ===============================[0m tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1007: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1008: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:914: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:915: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1007: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1008: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:914: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:915: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1007: DeprecationWarning: urwid.web_display is moved to urwid.display.web if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1008: DeprecationWarning: urwid.web_display is moved to urwid.display.web f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:914: DeprecationWarning: urwid.web_display is moved to urwid.display.web if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:915: DeprecationWarning: urwid.web_display is moved to urwid.display.web return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1007: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1008: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:914: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:915: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1007: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1008: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:914: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:915: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1007: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:1008: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:914: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.12/inspect.py:915: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools return object.__file__ tests/test_cli.py::test_edit_move tests/test_cli.py::test_edit_move tests/test_cli.py::test_edit_move tests/test_cli.py::test_todo_new tests/test_cli.py::test_todo_new tests/test_cli.py::test_todo_edit tests/test_cli.py::test_todo_edit /usr/lib/python3/dist-packages/urwid/widget/wimp.py:264: DeprecationWarning: Don't use user_arg argument, use user_args instead. connect_signal(self, "change", on_state_change, user_data) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ---------- coverage: platform linux, python 3.12.7-final-0 ----------- Name Stmts Miss Cover Missing -------------------------------------------------------- todoman/__init__.py 4 0 100% todoman/__main__.py 4 0 100% todoman/cli.py 322 3 99% 298, 342-343 todoman/configuration.py 77 2 97% 224, 238 todoman/exceptions.py 18 0 100% todoman/formatters.py 205 21 90% 133, 182-184, 210-217, 229, 264-274 todoman/interactive.py 106 21 80% 120-121, 124-128, 131, 143-144, 148-153, 163, 165-166, 178-181 todoman/model.py 529 1 99% 354 todoman/version.py 8 0 100% todoman/widgets.py 94 12 87% 160-166, 173-180 -------------------------------------------------------- TOTAL 1367 60 96% [36m[1m=========================== short test summary info ============================[0m [31mFAILED[0m tests/test_cli.py::[1mtest_sort_mixed_timezones[0m - AssertionError: assert 'second' in '[ ] 2 2017-03-04 first @default' [31mFAILED[0m tests/test_filtering.py::[1mtest_due_aware[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_datetime[CET-interval0][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_datetime[CET-interval1][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_datetime[HST-interval0][0m - pytz.exceptions.UnknownTimeZoneError: 'HST' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_datetime[HST-interval1][0m - pytz.exceptions.UnknownTimeZoneError: 'HST' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_date[CET-interval0][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_date[CET-interval1][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_date[HST-interval0][0m - pytz.exceptions.UnknownTimeZoneError: 'HST' [31mFAILED[0m tests/test_formatter.py::[1mtest_humanized_date[HST-interval1][0m - pytz.exceptions.UnknownTimeZoneError: 'HST' [31mFAILED[0m tests/test_model.py::[1mtest_retain_tz[0m - assert datetime.datetime(2016, 1, 2, 0, 0, tzinfo=tzlocal()) == datetime.da... [31mFAILED[0m tests/test_model.py::[1mtest_illegal_start_suppression[0m - assert datetime.datetime(2017, 3, 31, 12, 0, tzinfo=tzlocal()) == datetime.... [31mFAILED[0m tests/test_porcelain.py::[1mtest_list_all[0m - assert '[\n {\n ...ff"\n }\n]' == '[\n {\n ...ff"\n }\n]' [31mFAILED[0m tests/test_porcelain.py::[1mtest_formatting_parsing_consitency[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_format_priority[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_format_priority_compact[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_format_date[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_format_datetime[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_parse_time[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_parse_datetime[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_humanized_parse_datetime[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_simple_action[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_formatting_parsing_consitency[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_format_multiple_with_list[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_formatter.py::[1mtest_format_multiple_without_list[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_todo_editor_priority[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_todo_editor_list[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_todo_editor_summary[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_todo_editor_due[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_toggle_help[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_show_save_errors[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_save_completed[True-True][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_save_completed[True-False][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_save_completed[False-True][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_ui.py::[1mtest_save_completed[False-False][0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31mERROR[0m tests/test_widgets.py::[1mtest_priority_selector[0m - pytz.exceptions.UnknownTimeZoneError: 'CET' [31m= [31m[1m14 failed[0m, [32m154 passed[0m, [33m6 skipped[0m, [33m3 xfailed[0m, [33m31 warnings[0m, [31m[1m22 errors[0m[31m in 11.13s[0m[31m =[0m E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12 returned exit code 13 make: *** [debian/rules:21: build] Error 25 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202410/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and affects, so that this is still visible in the BTS web page for this package. Thanks.