Osi
Osi copied to clipboard
Test failure when `Data/Sample` is not available
This relates to stable/0.108
branch, tested with CoinUtils 2.11.10 and as the title says, without the directory Data
.
We begin with a segfault in https://github.com/coin-or/Osi/blob/f705b23f2c6767b1cedc07edcb0c07e14c41fd1e/Osi/src/Osi/OsiColCut.hpp#L248
This is fixed with commit https://github.com/coin-or/Osi/commit/5c401b56a2b5c9675fb8c0b252b4b807be7eab80, I'm not sure if it is a underlying problem that's still unresolved by this patch, it's obvious that the tests will fail, though I haven't looked at why column information is not available.
Whit the patch applied, the unit tests completes with 12 unexpected error
Log from unit tests
Testing OsiRowCut with OsiTestSolverInterface
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
*** osirowcutSolverInterface testing issue: read MPS failed: imP->readMps(fn.c_str(), "mps") == 0
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
*** osirowcutSolverInterface testing issue: read MPS failed: imP->readMps(fn.c_str(), "mps") == 0
*** osirowcutSolverInterface testing issue: consistent(IntegerModel) failed: cut.consistent(*imP)
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
*** osirowcutSolverInterface testing issue: read MPS failed: imP->readMps(fn.c_str(), "mps") == 0
Testing OsiColCut with OsiTestSolverInterface
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
*** osicolcutSolverInterface testing issue: consistent(IntegerModel) failed: cut.consistent(*imP)
*** osicolcutSolverInterface testing issue: consistent(IntegerModel) failed: cut.consistent(*imP)
*** osicolcutSolverInterface testing issue: consistent(IntegerModel) failed: cut.consistent(*imP)
*** osicolcutSolverInterface testing issue: infeasible(IntegerModel) failed: cut.infeasible(*imP)
*** osicolcutSolverInterface testing issue: consistent(IntegerModel) failed: cut.consistent(*imP)
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
*** osicolcutSolverInterface testing issue: infeasible(IntegerModel) failed: cut.infeasible(*imP)
*** osicolcutSolverInterface testing issue: infeasible(IntegerModel) failed: cut.infeasible(*imP)
Testing OsiCuts
Testing OsiTestSolverInterface
vol: running common unit tests.
Testing empty solver interface ...
Coin6001E Unable to open mps input file ../../Data/Sample/exmip1.mps
*** volSolverInterface testing issue: read MPS file failed: exmip1Si->readMps(fn.c_str(), "mps") == 0
***Skipped Testing of OsiSolverInterface on Netlib problems***
***use -testOsiSolverInterface to run them.***
ERROR osirowcut read MPS
imP->readMps(fn.c_str(), "mps") == 0
OsiRowCutTest.cpp:255
ERROR osirowcut read MPS
imP->readMps(fn.c_str(), "mps") == 0
OsiRowCutTest.cpp:297
ERROR osirowcut consistent(IntegerModel)
cut.consistent(*imP)
OsiRowCutTest.cpp:308
ERROR osirowcut read MPS
imP->readMps(fn.c_str(), "mps") == 0
OsiRowCutTest.cpp:321
ERROR osicolcut consistent(IntegerModel)
cut.consistent(*imP)
OsiColCutTest.cpp:227
ERROR osicolcut consistent(IntegerModel)
cut.consistent(*imP)
OsiColCutTest.cpp:232
ERROR osicolcut consistent(IntegerModel)
cut.consistent(*imP)
OsiColCutTest.cpp:236
ERROR osicolcut infeasible(IntegerModel)
cut.infeasible(*imP)
OsiColCutTest.cpp:237
ERROR osicolcut consistent(IntegerModel)
cut.consistent(*imP)
OsiColCutTest.cpp:242
ERROR osicolcut infeasible(IntegerModel)
cut.infeasible(*imP)
OsiColCutTest.cpp:258
ERROR osicolcut infeasible(IntegerModel)
cut.infeasible(*imP)
OsiColCutTest.cpp:263
ERROR vol read MPS file
exmip1Si->readMps(fn.c_str(), "mps") == 0
OsiSolverInterfaceTest.cpp:3905
Severity NOTE : 0 thereof expected: 0
Severity PASSED : 345 thereof expected: 0
Severity WARNING : 0 thereof expected: 0
Severity ERROR : 12 thereof expected: 0
Tests completed with 12 unexpected errors
As can be seen from the log, 4 tests fails because it can't read ../../Data/Sample/exmip1.mps
, 3 tests fails with the patch I mentioned earlier, column information is not available.
I haven't looked at why the last 5 tests fails, however, of these 5 failed tests, only 1 still fails when Data/Sample
is available.
If I run the tests when Data/Sample/exmip1.mps
is available I get 1 error.
ERROR vol cloning of application data
*(static_cast< int * >(si2->getApplicationData())) == ad
OsiSolverInterfaceTest.cpp:4041
This error was fixed by applying this commit https://github.com/coin-or/Osi/commit/192b006fe3a806129438dbcdcbe8f8b288d811b9