tis 16 juni 2026 kl. 06:40 skrev Nathan Hartman <[email protected]>:
> On Mon, Jun 15, 2026 at 7:01 PM Ivan Zhakov <[email protected]> wrote: > >> On Wed, 3 Jun 2026 at 20:48, Daniel Sahlberg <[email protected]> >> wrote: >> >>> Den ons 3 juni 2026 kl 03:09 skrev Branko Čibej <[email protected]>: >>> >>> [...] >> >>> Given that we currently have 3 tests that produce invalid XML, and we >>>> didn't even know about it until I added XML validation, I think we should >>>> go the other way: make the XML output validation in tests mandatory and >>>> default unless explicitly disabled during the test run. Right now, we're >>>> breaking our own API contract. >>>> >>>> "Let's not test because it's not convenient" is not an attitude that I >>>> can support. >>>> >>> >>> I agree that we should test it but I also feel a bit uncomfortable >>> seeing the test suite download something from the internet. >>> >>> I don't see a problem if the test suite fail by default if lxml (or >>> other dependencies) isn't installed beforehand. I think it would be >>> perfectly fine to require someone running the test suite to actually >>> install dependencies on their system. Of course we should then document the >>> required modules in INSTALL, I'm happy to help doing that. >>> >>> This approach sounds good to me. >> >> As an option, I could create a branch that switches to using the >> installed lxml and either skips or fails the tests otherwise. Having a >> branch like this might help in moving things forward, if there's rough >> consensus that it is on the list of possible options. >> >> Another potential way forward would be to drop full XML schema validation >> in favor of simply parsing the XML using the built-in Python XML parser to >> check its structural validity. This would still catch the cases where we >> produce entirely invalid XML and can be done without third-party >> dependencies. >> >> -- >> Ivan Zhakov >> > > I like the first idea better: to use the installed lxml, do the best > validation we can, and fail the test if lxml isn't available. (A skipped > test likely won't be noticed but a failed test will be.) > > I think that gives a good balance between everyone's concerns. > Agree! +1 from me. Thanks Ivan for picking up the thread! /Daniel

