Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test against ixmp4 #894

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Test against ixmp4 #894

wants to merge 1 commit into from

Conversation

khaeru
Copy link
Member

@khaeru khaeru commented Nov 28, 2024

This is a minimal PR to check that the message_ix test suite runs using ixmp4 storage (i.e. without the ixmp.JDBCBackend and underlying Java code). To do this, it:

  • Installs from the branch for Implement ixmp4 shim ixmp#552 that:
    • Provides a minimal 'shim' layer between the behaviour of ixmp.Platform, ixmp.TimeSeries, ixmp.Scenario and the underlying ixmp4 API.
    • Ensures that all of the behaviour of those 3 classes continues to pass the ixmp test suite when using ixmp4 storage. (message_ix and downstream/user code rely on that behaviour.)
    • Will (but does not yet, as of 2024-11-28) parametrize the ixmp.testing.test_mp fixture to yield either the current ixmp.JDBCBackend-backed test Platform, or an ixmp4-backed test Platform.
  • Confirms all of the behaviour of message_ix.Scenario continues to pass the message_ix.tests suite, with either storage option. (message-ix-models and downstream/user code rely on this behaviour.)

The branch is used by iiasa/message-ix-models#257.

Implementation/to dos:

  • As a consequence of parametrizing ixmp.testing.test_mp, all tests in message_ix.tests that use the test_mp fixture will run twice: once with JDBCBackend, and once with ixmp4.
  • Some other tests may not be parametrized automatically by the upstream changes:
    • Identify these.
    • Parametrize them manually.
  • Rebase this branch frequently.

Some things not in scope for this PR:

  • Changes to the behaviour/API of message_ix.Scenario.
  • Migrating large chunks of the ixmp code (including its test suite) to message_ix.

How to review

TBA

PR checklist

  • Continuous integration checks all ✅
  • Add or expand tests; coverage checks both ✅
  • Add, expand, or update documentation.
  • Update release notes.

Copy link

codecov bot commented Nov 28, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.6%. Comparing base (433868d) to head (ac173e6).

Additional details and impacted files
@@          Coverage Diff          @@
##            main    #894   +/-   ##
=====================================
  Coverage   95.6%   95.6%           
=====================================
  Files         46      46           
  Lines       4337    4337           
=====================================
  Hits        4147    4147           
  Misses       190     190           

@khaeru khaeru mentioned this pull request Nov 28, 2024
7 tasks
khaeru added a commit to iiasa/message-ix-models that referenced this pull request Nov 28, 2024
khaeru added a commit to iiasa/message-ix-models that referenced this pull request Dec 3, 2024
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.

1 participant