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