Closed joehuchette closed 7 years ago
Just ran @timholy PR on Coverage (thanks, Tim!) and inspecting the .cov files, I see the following spots where our coverage could improve:
.cov
copy(::Model)
nlpdata
!method_exists(MathProgBase.setquadobjterms!, ...)
!method_exists(MathProgBase.addconstr!, ...)
addSOS1
addSOS2
!method_exists(MathProgBase.addquadconstr!, ...)
writers.jl
UnsetSolver
solve
[:Optimal, :Infeasible, :Unbounded]
stat == :Optimal
buildInternalModel
:MIPSol
_isless
:ExprGraph
parseExpr
parseExpr_staged.jl
Base.next(x::JuMPArray, ::Any)
ndims(x) > 1
Plus a whole bunch of test-throws cases we could add to try to catch bad behavior in user code.
This list is stale, but always worth thinking about coverage
Just ran @timholy PR on Coverage (thanks, Tim!) and inspecting the
.cov
files, I see the following spots where our coverage could improve:copy(::Model)
with nonemptynlpdata
!method_exists(MathProgBase.setquadobjterms!, ...)
!method_exists(MathProgBase.addconstr!, ...)
addSOS1
/addSOS2
in model built in memory!method_exists(MathProgBase.addquadconstr!, ...)
writers.jl
(??)UnsetSolver
for NLP callsolve
(how is this not covered?)[:Optimal, :Infeasible, :Unbounded]
stat == :Optimal
(??)buildInternalModel
for non-continuous model (and possibly QP/QCP/NLP as well):MIPSol
_isless
:ExprGraph
parseExpr
lines 237--239 inparseExpr_staged.jl
(which I think is unreachable)Base.next(x::JuMPArray, ::Any)
forndims(x) > 1
(this code could use optimization anyway, from the looks of it)Plus a whole bunch of test-throws cases we could add to try to catch bad behavior in user code.