On Tuesday, June 13, 2023 at 11:12:21 AM UTC-7 Tobias Diez wrote:

Maybe I'm misunderstanding the purpose of the modularized doctests. Can 
someone explain me what they should test and what not?


As it says in 
https://sagemath-tobias.netlify.app/developer/packaging_sage_library.html#testing-distribution-packages:

- Modularized distributions must be testable separately!
- But we want to keep integration testing with other portions of Sage too!
 

My thought was that when you declare a new module, you run the doctests of 
that module. They usually break for two reasons:
a) some real dependency was not declared for that module - in this case, 
add the dependency and run the tests again.
b) some doctests require a library that is not a dependency of the original 
module - in this case, add an optional tag to the failing doctest (current 
solution)

My proposal would be in b) to add it the offending import to a whitelist 
("test dependency of module xyz") and then all doctests for module xyz are 
ignoring import errors for these whitelisted dependencies. So in short, 
instead of annotating each doctest you annotate the module.


After you whitelist an import from *M* because there is some valid doctest 
that uses *M* for integration-testing purposes (for example, by testing 
basic linear algebra functionality by running it on an element of an 
algebra defined in *M*), the modularized distribution is no longer guarded 
by its testsuite against modularization regressions that involve the 
whitelisted module.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/61dcfd5a-1034-4dfb-9fc4-c0443b0d294bn%40googlegroups.com.

Reply via email to