Skip to content

Add a way to add tests without breaking solvers #1661

@odow

Description

@odow

I think we need a more structured system for adding new tests to MOI.Test.

  • Never modify an existing test
    • Unless it is incorrect => bugfix
  • Process for adding a new test
    • The current release is v1.1.1.
    • A new test test_new_feature is added
      • Next release will be v1.1.2
      • By default, MOI.Test.runtests does not run this test.
    • v1.2.0 is released.
    • By default, MOI.Test.runtests runs the test warns if it fails, but does not error
    • v1.3.0 is released
    • By default, MOI.Test.runtests runs the test and errors if it fails

We also need a mechanism for solver authors to always run the latest tests (opt-in):

MOI.Test.runtests(model, config; include_new_tests::Bool = false)

This would always run all tests and error on failure.

The alternative is that every new test is a minor release, and tests might break between releases.

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions