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

Reply via email to