Hi, I've updated recently the Integration Tests Plan [1] with what has been said during the 5.6 sprint (from the pad) and more ideas and realizations.
## mercurial-testhelpers Then, I've extracted my helpers as the `mercurial-testhelpers` separate package [2]. The main driving reason is that even if it went straight to the core right now, extension authors wouldn't be able to use it until they drop support for hg 5.6. For some, that would mean at least a few years… mercurial-testhelpers is usable right now by extensions and other downstreams. It comes with examples for the core [3], hg-evolve and hg-git and is of course entirely tested using itself, with CI etc. It is compatible down to at least hg 4.3 (I didn't try further). Just to say how committed I am about it, all the Python testing of Heptapod relies on it. I must add that its introduction was a tipping point in development. ## core submission coming soon That extraction already had me remove some specifics – and provide means for projects that need them to add them back. As a result, I feel now ready to start submitting code to the core. I've explained some of the choices in the README [4]. Even if it's quite small, I'm not sure how to cut it in smaller reviewable chunks, but I wouldn't probably start by hooking it in `run-tests.py`, that's not what I'm the most at ease with. I'd simply tell people to install and run pytest manually in the first drafts [5] if that's ok. Guidance and feedback would be much appreciated! I've had a chat with Jörg today about the dreadful `test-http-bad-server.t`, will experiment later this week or the next to see if I can make something equivalent and more maintainable out of it. Best, [1] https://www.mercurial-scm.org/wiki/IntegrationTestsPlan [2] https://pypi.org/project/mercurial-testhelpers and https://foss.heptapod.net/mercurial/testhelpers [3] the core example is the exact same translation of test-revset.t I've prepared for the sprint (needs to be split into separate concerns and completed), plus a Python test copied over to check that launching it with pytest works (it does). [4] https://foss.heptapod.net/mercurial/testhelpers/-/blob/branch/default/README.md [5] of course, that means not removing any existing case until it's run by the main runner automatically. -- Georges Racinet https://octobus.net, https://about.heptapod.host, https://heptapod.net GPG: BF5456F4DC625443849B6E58EE20CA44EF691D39, sur serveurs publics _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel