-
-
Notifications
You must be signed in to change notification settings - Fork 488
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
Common TestSuite for MIP backends #20323
Comments
comment:1
within the existing framework it's easy to create a separate module, say, lp_backend_tests, and do such tests there. Note that total consistency is hard to get, as each backend has its own ideas on how, say, to number and order constraints. E.g., IIRC, gurobi does automatic conversions of some particular kinds of constraints. |
Commit: |
comment:3
Not ready for review yet, but I'm hoping that perhaps someone familiar with the New commits:
|
comment:4
It looks like you are. Any method that starts with Also, is there a reason why |
comment:5
Thanks for taking a look, Travis. Replying to @tscrim:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
|
comment:8
Branch is on top of various closed/reviewed LP tickets from #20302. Will rebase on top of next 'develop' later. |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
Hi Matthias! Just had a brief look at your TestSuite usage. This sounds very sensible indeed. Inheriting from PythonObjectWithTests would indeed make sense; however since it's currently a plain Python class, one can't inherit from it in a Cython class. This could be fixed though. Cheers, |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:13
There are two types of
I've translated these from existing doctests (either from |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:15
Rebased on top of 7.2.beta3 + #20326. |
comment:16
Needs review, especially regarding my use or abuse of the testing framework... |
comment:17
You should not implement Moreover, it would make sense to also have comparison between different implementations. You can start with
and then loop over the elements in milps. |
comment:18
Replying to @videlec:
As I pointed out in the comment above The second example uses a class method and runs its tests on fresh instances, so it does not make modifications. If it is policy that I would rather like to avoid using doctests (in fact I'm trying to replace the superficial, copy-paste-driven testing that is there now); and |
Reviewer: Thierry Monteil |
comment:33
Note that currently the tests do not pass when |
comment:34
this would also show errors just fine: anyhow, it looks as if there are also errors not related to cbc. Wrong git branch? |
comment:35
Replying to @dimpase:
Apparently not, the indicated commit is f40980646e129eeb501a51fd06e99eb98d83a4f3 |
comment:36
Yes, lots of tests fail! It's the whole point of writing this test suite. |
comment:37
Replying to @dimpase:
Thanks for the pointer to that ticket. Yes, the tests need to be written in a way that they accommodate the solvers. |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:39
I've split this ticket. Now the branch has only tests that pass; other tests will appear on #20424. |
Dependencies: #20326 |
comment:40
please rebase over the latest beta. there is a small merge conflict:
|
comment:41
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
|
comment:43
rebased on 7.2.beta4 |
comment:44
OK, good. |
Changed reviewer from Thierry Monteil to Thierry Monteil, Dima Pasechnik |
Changed branch from u/mkoeppe/common_testsuite_for_mip_backends to |
The MIP backends should be tested using a common
TestSuite
. Right now each backend uses its own doctests, which have slightly diverged from each other, so there is nothing (other than the fact that they were the result of copy-paste from each other) that ensures consistency. (#20296 fixes several wrong doctests inGenericBackend
, from which I tried to copy-paste, for example.)Depends on #20326
CC: @dimpase @nathanncohen @videlec @vbraun @nthiery
Component: numerical
Author: Matthias Koeppe
Branch/Commit:
7138fa0
Reviewer: Thierry Monteil, Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/20323
The text was updated successfully, but these errors were encountered: