Message ID | 20201026073724.GA1390@noor.fritz.box |
---|---|
State | Accepted |
Headers | show |
Series | [bug#44197] gnu: khal: Update to 0.10.2. | expand |
Context | Check | Description |
---|---|---|
cbaines/issue | success | View issue |
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
On Mon, Oct 26, 2020 at 08:37:24AM +0100, Lars-Dominik Braun wrote: > Thanks for taking care of this, Thanks for taking care of this package I use every day! :) > commit 503169b39de09e3c3969bb2dc92464f054d79560 > Author: Lars-Dominik Braun <lars@6xq.net> > Date: Sat Oct 24 20:17:48 2020 +0200 > > gnu: khal: Update to 0.10.2. > > * gnu/packages/calendar.scm (khal): Update to 0.10.2. > [source]: Drop upstream patches. > [arguments]: Drop substitute* for bug fixed upstream and ignore failing > test in 'check. > [inputs]: Add missing inputs. Pushed as 21955a54da2bc171f2745486f62aceeacea7993a. I wonder, should we disable the test suite entirely? In my experience, it's not reliable — different parts of it will succeed or fail on subsequent runs, or on different computers, or when verbose output is enable, etc. The upstream bug tracker is full of reports like that. For example: https://github.com/pimutils/khal/issues/860
Hi, > Thanks for taking care of this package I use every day! :) yeah, me too :) > I wonder, should we disable the test suite entirely? In my experience, > it's not reliable — different parts of it will succeed or fail on > subsequent runs, or on different computers, or when verbose output is > enable, etc. I just checked on two different machines and you’re right, on my main machine the test suite works (even across multiple runs), on the other one three tests[1] fail – with exactly the same Guix version (commit 6a0fec57092d574c33b997e5972012e9c29a4dd4). This should not happen in the build environment. Imo it would be worth figuring out why it does nontheless. Cheers, Lars [1] TestCollection.test_multi_uid_vdir, test_event_different_timezones and test_default_calendar.
On Tue, Oct 27, 2020 at 09:14:10AM +0100, Lars-Dominik Braun wrote: > I just checked on two different machines and you’re right, on my main > machine the test suite works (even across multiple runs), on the other > one three tests[1] fail – with exactly the same Guix version > (commit 6a0fec57092d574c33b997e5972012e9c29a4dd4). This should not > happen in the build environment. Imo it would be worth figuring out why > it does nontheless. Alright, I will disable it then. Can you say more about the differences between the machines where it succeeds and fails? It could help us figure out what's going on. For me, I'm building on a Thinkpad (Intel Core i5-6300U CPU) using Debian with Linux 5.9.1, with a tmpfs filesystem for the build environment. I use an SSD for storage... but I don't think the tmpfs is ever swapping on this machine. There is a lot of unused RAM. > > [1] TestCollection.test_multi_uid_vdir, test_event_different_timezones > and test_default_calendar. These fail for me often. I also sometimes see failures of test_only_update_old_event, test_birthdays, test_birthdays_29feb and test_birthdays_no_year.
Hi, > Can you say more about the differences between the machines where it > succeeds and fails? It could help us figure out what's going on. they are quite different machines unfortunately. One is Gentoo Linux running on a Ryzen 5 3600 desktop machine (working), the other one a Ubuntu 19.10 on a Thinkpad (Intel Core i5-8250U) Laptop (not working). Both have SSD storage and /tmp on a tmpfs. Could there be something leaking into the build environment to make it fail consistently on one machine, but not the other one? Cheers, Lars
On Wed, Oct 28, 2020 at 08:22:13AM +0100, Lars-Dominik Braun wrote: > Hi, > > > Can you say more about the differences between the machines where it > > succeeds and fails? It could help us figure out what's going on. > they are quite different machines unfortunately. One is Gentoo Linux > running on a Ryzen 5 3600 desktop machine (working), the other one a > Ubuntu 19.10 on a Thinkpad (Intel Core i5-8250U) Laptop (not working). > Both have SSD storage and /tmp on a tmpfs. Interesting that we both get failures on Core i5 processors and Debian-family operating systems. I am not using the Debian kernel (I build a variant of the Guix kernel), but I do use the Debian package tooling to manage it. > Could there be something leaking into the build environment to make it > fail consistently on one machine, but not the other one? Could be, but the question is what? The build environment isolation doesn't account for things like filesystem, kernel version, time of day (👀), CPU bugs... besides the common culprit of some race conditions in the test suite. Are you using the same kernel versions on your two machines? I guess the kernel configs likely don't match between them.
Hi Leo, some more data points: - works consistently inside a VM (Common KVM processor) with Ubuntu 20.04 → not the kernel version/configuration or OS. - whether it works or not does not change during the day → not time related(?) - works consistently on a different laptop with i5-8250U and Gentoo → not the processor After looking at how test_birthdays_29feb fails, I’m leaning towards the possiblity of a bug in khal. So, I commented here: https://github.com/pimutils/khal/issues/860#issuecomment-718583031 > Are you using the same kernel versions on your two machines? I guess the > kernel configs likely don't match between them. No, previously the Ubuntu machine used 5.3 and now after upgrading to 20.04 version 5.4. The test suite is still failing there and still succeeding on my desktop, which is using a custom kernel configuration tailored to this particular machine (version 5.8 right now). Cheers, Lars
commit 503169b39de09e3c3969bb2dc92464f054d79560 Author: Lars-Dominik Braun <lars@6xq.net> Date: Sat Oct 24 20:17:48 2020 +0200 gnu: khal: Update to 0.10.2. * gnu/packages/calendar.scm (khal): Update to 0.10.2. [source]: Drop upstream patches. [arguments]: Drop substitute* for bug fixed upstream and ignore failing test in 'check. [inputs]: Add missing inputs. diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 1dde978d72..dabf8bfb15 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -168,23 +168,13 @@ data units.") (define-public khal (package (name "khal") - (version "0.10.1") + (version "0.10.2") (source (origin - (method url-fetch) - (uri (pypi-uri "khal" version)) - (sha256 - (base32 - "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")) - (patches - (list - (origin - (method url-fetch) - ;; This patch fixes an issue with python-urwid-2.1.0 - (uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch") - (file-name "khal-compat-urwid-2.1.0.patch") - (sha256 - (base32 - "11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663"))))))) + (method url-fetch) + (uri (pypi-uri "khal" version)) + (sha256 + (base32 + "11qhrga44knlnp88py9p547d4nr5kn041d2nszwa3dqw7mf22ks9")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -198,19 +188,14 @@ data units.") "doc/build/man/khal.1" (string-append (assoc-ref outputs "out") "/share/man/man1")) #t)) - (add-before 'check 'fix-tests - (lambda _ - ;; Reported upstream: <https://github.com/pimutils/khal/issues/947>. - (substitute* "tests/cli_test.py" - (("Invalid value for \"\\[ICS\\]\"") "Invalid value for \\'[ICS]\\'")) - #t)) (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - ;; The tests require us to choose a timezone. - (setenv "TZ" - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo/Zulu")) - (invoke "py.test" "tests")))))) + (lambda* (#:key inputs tests? #:allow-other-keys) + (if tests? + (begin + ;; The tests require us to choose a timezone. + (setenv "TZ" "UTC") + ;; The disabled test expects /dev/tty. + (invoke "pytest" "tests" "-k" "not test_import_from_stdin")))))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) @@ -229,6 +214,11 @@ data units.") ("python-icalendar" ,python-icalendar) ("python-tzlocal" ,python-tzlocal) ("python-urwid" ,python-urwid) + ("python-pytz" ,python-pytz) + ("python-setproctitle" ,python-setproctitle) + ("python-atomicwrites" ,python-atomicwrites) + ("python-click" ,python-click) + ("python-click-log" ,python-click-log) ("python-pyxdg" ,python-pyxdg))) (synopsis "Console calendar program") (description "Khal is a standards based console calendar program,