Skip to content

make the database-backed tests Sage-clean#87

Merged
roed314 merged 2 commits into
roed314:masterfrom
roed-math:fix/sage-tests
Jul 20, 2026
Merged

make the database-backed tests Sage-clean#87
roed314 merged 2 commits into
roed314:masterfrom
roed-math:fix/sage-tests

Conversation

@roed-math

Copy link
Copy Markdown

Test-only. Three DB-backed tests were written against plain Python and failed under sage -python, which CI never runs on these files but a developer with Sage does: one asserted "sage" not in sys.modules (now skipped under Sage, since it exists to pin the sage-free path), one compared a numeric sum against Decimal (now compared against the exact int, which both modes satisfy), and one asserted int/float types that are Integer/LmfdbRealLiteral under Sage (now branched on SAGE_MODE). The full suite now passes identically under both interpreters.


Split out of #60 (one PR per issue). This branch carries only this issue's fix and its tests; the rest of the known-bug inventory stays xfailed, so the full suite is green here and the strict markers guarantee no cross-issue leakage.

Test-only. Three DB-backed tests were written against plain Python and failed under sage -python, which CI never runs on these files but a developer with Sage does: one asserted "sage" not in sys.modules (now skipped under Sage, since it exists to pin the sage-free path), one compared a numeric sum against Decimal (now compared against the exact int, which both modes satisfy), and one asserted int/float types that are Integer/LmfdbRealLiteral under Sage (now branched on SAGE_MODE). The full suite now passes identically under both interpreters.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Review caught that "not isinstance(..., float)" also admits Decimal,
despite the comment promising Decimal never escapes.  The integral
entries are now asserted to be int without Sage and sage Integer with
it, in both the scalar and the array case.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@roed-math

Copy link
Copy Markdown
Author

Review addressed: the weak not isinstance(..., float) is replaced by exact per-mode type assertions — int without Sage, Integer with it, for both the scalar and the array entries — so a Decimal could no longer slip through.

@roed314
roed314 merged commit e1a008e into roed314:master Jul 20, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants