Conversation
Reviewer's Guide by SourceryThis PR switches the project's doctest implementation from pytest-doctestplus to sybil. The change involves restructuring how doctests are collected and executed, introducing pytest fixtures for test setup, and updating the documentation infrastructure. The implementation removes dependencies on jupyter-sphinx and pytest-doctestplus while maintaining test coverage. Class diagram for updated testing infrastructureclassDiagram
class Sybil {
+pytest_collect_file
}
class DocTestParser {
+optionflags: ELLIPSIS
}
class PythonCodeBlockParser
class SkipParser
class FileSystem {
+opened: bool
}
class Versioned {
+put_archive()
+put_file()
+get_file()
+date()
+owner()
}
class Unversioned {
+put_file()
+put_archive()
+get_file()
}
class BackendError
class Minio {
+create()
}
Sybil --> DocTestParser
Sybil --> PythonCodeBlockParser
Sybil --> SkipParser
Versioned --> FileSystem
Unversioned --> FileSystem
Minio --> FileSystem
BackendError --> FileSystem
note for Sybil "Sybil is used for collecting and running doctests"
note for FileSystem "FileSystem backend is used in doctests"
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files
|
There was a problem hiding this comment.
Hey @hagenw - I've reviewed your changes and they look great!
Here's what I looked at during the review
- 🟡 General issues: 1 issue found
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
ChristianGeng
left a comment
There was a problem hiding this comment.
Review
Mainly the doctests are refactores to sybil.
I have reviewed structural changes to the testing process before - test identification was not 100% coherent with our previous approach.
Apart from that I have skimmed over the text , I did not find any flaws.
I also build the documentation, and it builds without errors.
So I would think approval is safe.
Similar to audeering/audinterface#178 we switch to use
sybilfor doctests.This has several motivations:
jupyter-sphinx(large dependencies, not well maintained)pytest-doctestplus(slow in adopting to newerpytestversions)pytestfixtures inside doctestsUpdate "Usage" section
Updated "Developer guide" section
Updated "Legacy backends" section
In the developer guide, I replaced the usage of
shelvebypickleas the previous implementation worked under Linux, but not under MacOS (where it was not tested before).Summary by Sourcery
Switch to sybil for doctests to separate testing from documentation building, remove large and outdated dependencies, and enhance testing capabilities with pytest fixtures.
Enhancements:
Documentation:
Tests:
Chores: