Hi all, I was on +1 maintenance from 2024-06-03 until 2024-06-07.
I started my week by looking at the NBS report, the transition tracker, and looking for any common infrastructure related failures that needed retries in the meantime. At the time there was only one package that needed uploading still for the ongoing lz4 transitions, diffoscope, which I uploaded. I used some of the retry-autopkgtest-regressions recipes that Bryce shared and continued to find many tests that needed retries. Like Athos, I also found the following recipe particularly useful this week: ./retry-autopkgtest-regressions --log-regex='unexpected eof from the testbed' For the rest of the week (Tuesday through Friday) I focused on regressions due to the Pytest 7 to 8 transition. Most package's upstream already had relevant pytest 8 fixes that I was able to cherry-pick and fix the regressions, but where they didn't I created the patch and forwarded it along. Below is a list of the packages I worked on: ## yt, ipykernel, ipython, and python-dtcwt ## These packages had nose-style tests which were deprecated in pytest 8.2. yt, ipykernel, and ipython had some upstream fixes already so I cherry-picked those and forwarded them to Debian. For python-dtcwt I made the patch and forwarded it to both upstream and Debian. See LP:#2068046 for yt, LP:#2068672 for ipykernel, LP:#2068674 for ipython, and LP:#2068558 for python-dtcwt. ## terminado ## This package's test control file was missing a test dependency which was causing the autopkgtests to fail in environments where it wasn't also built. It also had some pytest 8 compatibility issues which I cherry-picked the fixes for from upstream. I forwarded both fixes to Debian. See LP:#2068055 ## skimage ## skimage's autopkgtests were failing on s390x due to what looked like a python3.12 and numpy issue. Since I don't have easy access to that hardware and there was a new version in Debian, it seemed like a good candidate for a merge; which solved the issue. See LP:#2068531 ## protontricks ## protontricks autopkgtests were failing due to changes in the caplog fixture in pytest 8+. Upstream already had the changes here too so I cherry-picked them and forwarded the patch to Debian. See LP:2068659 ## pytest ## Pytest introduced a regression in the teardown method for test classes which inherited from unittest. This affected flaky test plugins like python-flaky and pytest-rerunfailures. Coincidentally upstream applied a fix for this as I was writing the patch, so I cherry-picked that and forwarded it to Debian. See LP: #2068674. ## silx ## Silx autopkgtests were failing due to referencing objects after they had been garbage collected in test teardown. Upstream had a fix that I cherry-picked and it fixed the issue. I forwarded the patch to Debian. See LP:#2068521. ## others ## There were many packages that didn't need any changes applied and simply required rerunning their tests against newer versions of their dependencies (other than pytest) in -proposed. In particular a number of packages depend on python-pytest-asyncio but needed the latest version of that package from -proposed to work. Eventually I found a common error " 'FixtureDef' object has no attribute 'unittest' " in the logs and was able to successfully retry the tests for the rest of the packages affected. At least: jeepney, jupyter-client, pymodbus, python-channels-redis, python-pytest-asyncio, and python-redis. Similarly the i386 missing deps issue reported about last week was fixed with a new version of astropy in -proposed and required mass retries of the i386 tests. # What's left for pytest Currently there are four issue left to zero out the pytest transition: ## silx Unrelated to my fix above for this package, there appears to be a separate regression in ppc64el only. I was unable to reproduce the issue on the hardware I have access to. See LP:#2068783 ## python-pytest-lazy-fixture I did not have time to investigate exactly what this package would need to be pytest 8 compatible but since it doesn't seem to be very actively maintained it may be more worthwhile to help along what appears to be the alternative: pytest-lazy-fixtures. There is only one reverse-depends of this package (prettytable). See LP:#2059330 ## python-libtmux There doesn't appear to be a pytest 8 related regression, but the package needs some work to make the test results consistent across runs. It appears flaky but potentially just has poor test isolation. ## pytest-rerunfailures There is a regression in this package with pytest 8.2 which causes non-function teardown methods to not be called at all. There was a bug fixed upstream upstream with identical issues but this appears to have a different cause. I documented the issue on LP:#2068778 Lastly I want to again thank my sponsors for the week. Thank you mwhudson, dbungert, and tsimonq2. Best, Chris P.
-- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel