7 tests fail on FreeBSD
yurivict opened this issue · 2 comments
yurivict commented
========================================================================================== FAILURES ==========================================================================================
____________________________________________________________________ test_get_native__a_substance_no_composition[solve0] _____________________________________________________________________
solve = ()
@requires("pygslodeiv2", "pyodesys")
@pytest.mark.parametrize("solve", [(), ("H2O",)])
def test_get_native__a_substance_no_composition(solve):
rsys = ReactionSystem.from_string(
"\n".join(["H2O -> H2O+ + e-(aq); 1e-8", "e-(aq) + H2O+ -> H2O; 1e10"])
)
odesys, extra = get_odesys(rsys)
c0 = {"H2O": 0, "H2O+": 2e-9, "e-(aq)": 3e-9}
if len(solve) > 0:
from pyodesys.symbolic import PartiallySolvedSystem
odesys = PartiallySolvedSystem(odesys, extra["linear_dependencies"](solve))
> odesys = get_native(rsys, odesys, "gsl")
chempy/kinetics/tests/test__native.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/kinetics/_native.py:182: in get_native
return native_sys[integrator].from_other(odesys, namespace_extend=ns_extend, **kw)
/usr/local/lib/python3.8/site-packages/pyodesys/symbolic.py:504: in from_other
instance = cls(**kwargs)
/usr/local/lib/python3.8/site-packages/pyodesys/native/_base.py:295: in __init__
self._native = self._NativeCode(self, save_temp=save_temp,
/usr/local/lib/python3.8/site-packages/pyodesys/native/gsl.py:21: in __init__
super(NativeGSLCode, self).__init__(*args, **kwargs)
/usr/local/lib/python3.8/site-packages/pyodesys/native/_base.py:113: in __init__
compile_sources([_src], cwd=tmpdir, metadir=cachedir,
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:149: in compile_sources
dstpaths.append(src2obj(
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:444: in src2obj
return pyx2obj(srcpath, objpath=objpath,
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:582: in pyx2obj
return src2obj(
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:469: in src2obj
runner.run()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pycompilation.runners.CppCompilerRunner object at 0x853c593d0>
def run(self):
if self.only_update:
for src in self.sources:
if missing_or_other_newer(self.out, src, cwd=self.cwd):
break
else:
msg = ('No source newer than {0}.' +
' Did not compile').format(
self.out)
if self.logger:
self.logger.info(msg)
else:
print(msg)
return self.out
# Append output flag and name to tail of flags
self.flags.extend(['-o', self.out])
# Logging
if self.logger:
self.logger.info(
'In "{0}", executing:\n"{1}"'.format(
self.cwd, ' '.join(self.cmd())))
env = os.environ.copy()
env['PWD'] = self.cwd
# NOTE: the ' '.join(self.cmd()) part seems to be necessary for
# intel compilers
p = subprocess.Popen(' '.join(self.cmd()),
shell=True,
cwd=self.cwd,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
env=env)
comm = p.communicate()
if sys.version_info[0] == 2:
self.cmd_outerr = comm[0]
else:
try:
self.cmd_outerr = comm[0].decode('utf-8')
except UnicodeDecodeError:
self.cmd_outerr = comm[0].decode('iso-8859-1') # win32
self.cmd_returncode = p.returncode
# Error handling
if self.cmd_returncode != 0:
msg = "Error executing '{0}' in {1}. Command exited with" + \
" status {2} after givning the following output: {3}\n"
> raise CompilationError(msg.format(
' '.join(self.cmd()), self.cwd, str(self.cmd_returncode),
self.cmd_outerr))
E pycompilation.util.CompilationError: Error executing '/usr/bin/clang++ -fwrapv -pthread -c -std=c++11 -Wall -Wextra -fPIC -O2 -fopenmp -fno-strict-aliasing -o ./_gsl_wrapper.o -I/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/lib/python3.8/site-packages/pyodesys/native/sources -I/usr/local/lib/python3.8/site-packages/pygslodeiv2/include -I/usr/local/include/python3.8 ./_gsl_wrapper.cpp' in /tmp/tmpsfqq1ukp. Command exited with status 1 after givning the following output: In file included from ./_gsl_wrapper.cpp:653:
E In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4:
E In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12:
E In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822:
E /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
E #warning "Using deprecated NumPy API, disable it with " \
E ^
E In file included from ./_gsl_wrapper.cpp:658:
E /usr/local/lib/python3.8/site-packages/pygslodeiv2/include/gsl_odeiv2_cxx.hpp:15:10: fatal error: 'gsl/gsl_errno.h' file not found
E #include <gsl/gsl_errno.h>
E ^~~~~~~~~~~~~~~~~
E 1 warning and 1 error generated.
/usr/local/lib/python3.8/site-packages/pycompilation/runners.py:370: CompilationError
------------------------------------------------------------------------------------ Captured stderr call ------------------------------------------------------------------------------------
INFO:pyodesys.native._base:Cythonizing /home/yuri/.cache/python3.8-pyodesys-0.14.0/_gsl_wrapper.pyx to ./_gsl_wrapper.cpp
INFO:pyodesys.native._base:In "/tmp/tmpsfqq1ukp", executing:
"/usr/bin/clang++ -fwrapv -pthread -c -std=c++11 -Wall -Wextra -fPIC -O2 -fopenmp -fno-strict-aliasing -o ./_gsl_wrapper.o -I/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/lib/python3.8/site-packages/pyodesys/native/sources -I/usr/local/lib/python3.8/site-packages/pygslodeiv2/include -I/usr/local/include/python3.8 ./_gsl_wrapper.cpp"
------------------------------------------------------------------------------------- Captured log call --------------------------------------------------------------------------------------
INFO pyodesys.native._base:compilation.py:367 Cythonizing /home/yuri/.cache/python3.8-pyodesys-0.14.0/_gsl_wrapper.pyx to ./_gsl_wrapper.cpp
INFO pyodesys.native._base:runners.py:340 In "/tmp/tmpsfqq1ukp", executing:
"/usr/bin/clang++ -fwrapv -pthread -c -std=c++11 -Wall -Wextra -fPIC -O2 -fopenmp -fno-strict-aliasing -o ./_gsl_wrapper.o -I/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/lib/python3.8/site-packages/pyodesys/native/sources -I/usr/local/lib/python3.8/site-packages/pygslodeiv2/include -I/usr/local/include/python3.8 ./_gsl_wrapper.cpp"
____________________________________________________________________ test_get_native__a_substance_no_composition[solve1] _____________________________________________________________________
solve = ('H2O',)
@requires("pygslodeiv2", "pyodesys")
@pytest.mark.parametrize("solve", [(), ("H2O",)])
def test_get_native__a_substance_no_composition(solve):
rsys = ReactionSystem.from_string(
"\n".join(["H2O -> H2O+ + e-(aq); 1e-8", "e-(aq) + H2O+ -> H2O; 1e10"])
)
odesys, extra = get_odesys(rsys)
c0 = {"H2O": 0, "H2O+": 2e-9, "e-(aq)": 3e-9}
if len(solve) > 0:
from pyodesys.symbolic import PartiallySolvedSystem
odesys = PartiallySolvedSystem(odesys, extra["linear_dependencies"](solve))
> odesys = get_native(rsys, odesys, "gsl")
chempy/kinetics/tests/test__native.py:116:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/kinetics/_native.py:182: in get_native
return native_sys[integrator].from_other(odesys, namespace_extend=ns_extend, **kw)
/usr/local/lib/python3.8/site-packages/pyodesys/symbolic.py:504: in from_other
instance = cls(**kwargs)
/usr/local/lib/python3.8/site-packages/pyodesys/native/_base.py:295: in __init__
self._native = self._NativeCode(self, save_temp=save_temp,
/usr/local/lib/python3.8/site-packages/pyodesys/native/gsl.py:21: in __init__
super(NativeGSLCode, self).__init__(*args, **kwargs)
/usr/local/lib/python3.8/site-packages/pyodesys/native/_base.py:113: in __init__
compile_sources([_src], cwd=tmpdir, metadir=cachedir,
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:149: in compile_sources
dstpaths.append(src2obj(
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:444: in src2obj
return pyx2obj(srcpath, objpath=objpath,
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:582: in pyx2obj
return src2obj(
/usr/local/lib/python3.8/site-packages/pycompilation/compilation.py:469: in src2obj
runner.run()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pycompilation.runners.CppCompilerRunner object at 0x8550062e0>
def run(self):
if self.only_update:
for src in self.sources:
if missing_or_other_newer(self.out, src, cwd=self.cwd):
break
else:
msg = ('No source newer than {0}.' +
' Did not compile').format(
self.out)
if self.logger:
self.logger.info(msg)
else:
print(msg)
return self.out
# Append output flag and name to tail of flags
self.flags.extend(['-o', self.out])
# Logging
if self.logger:
self.logger.info(
'In "{0}", executing:\n"{1}"'.format(
self.cwd, ' '.join(self.cmd())))
env = os.environ.copy()
env['PWD'] = self.cwd
# NOTE: the ' '.join(self.cmd()) part seems to be necessary for
# intel compilers
p = subprocess.Popen(' '.join(self.cmd()),
shell=True,
cwd=self.cwd,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
env=env)
comm = p.communicate()
if sys.version_info[0] == 2:
self.cmd_outerr = comm[0]
else:
try:
self.cmd_outerr = comm[0].decode('utf-8')
except UnicodeDecodeError:
self.cmd_outerr = comm[0].decode('iso-8859-1') # win32
self.cmd_returncode = p.returncode
# Error handling
if self.cmd_returncode != 0:
msg = "Error executing '{0}' in {1}. Command exited with" + \
" status {2} after givning the following output: {3}\n"
> raise CompilationError(msg.format(
' '.join(self.cmd()), self.cwd, str(self.cmd_returncode),
self.cmd_outerr))
E pycompilation.util.CompilationError: Error executing '/usr/bin/clang++ -fwrapv -pthread -c -std=c++11 -Wall -Wextra -fPIC -O2 -fopenmp -fno-strict-aliasing -o ./_gsl_wrapper.o -I/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/lib/python3.8/site-packages/pyodesys/native/sources -I/usr/local/lib/python3.8/site-packages/pygslodeiv2/include -I/usr/local/include/python3.8 ./_gsl_wrapper.cpp' in /tmp/tmpu40hzltd. Command exited with status 1 after givning the following output: In file included from ./_gsl_wrapper.cpp:653:
E In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4:
E In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12:
E In file included from /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822:
E /usr/local/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
E #warning "Using deprecated NumPy API, disable it with " \
E ^
E In file included from ./_gsl_wrapper.cpp:658:
E /usr/local/lib/python3.8/site-packages/pygslodeiv2/include/gsl_odeiv2_cxx.hpp:15:10: fatal error: 'gsl/gsl_errno.h' file not found
E #include <gsl/gsl_errno.h>
E ^~~~~~~~~~~~~~~~~
E 1 warning and 1 error generated.
/usr/local/lib/python3.8/site-packages/pycompilation/runners.py:370: CompilationError
------------------------------------------------------------------------------------ Captured stderr call ------------------------------------------------------------------------------------
INFO:pyodesys.native._base:Cythonizing /home/yuri/.cache/python3.8-pyodesys-0.14.0/_gsl_wrapper.pyx to ./_gsl_wrapper.cpp
INFO:pyodesys.native._base:In "/tmp/tmpu40hzltd", executing:
"/usr/bin/clang++ -fwrapv -pthread -c -std=c++11 -Wall -Wextra -fPIC -O2 -fopenmp -fno-strict-aliasing -o ./_gsl_wrapper.o -I/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/lib/python3.8/site-packages/pyodesys/native/sources -I/usr/local/lib/python3.8/site-packages/pygslodeiv2/include -I/usr/local/include/python3.8 ./_gsl_wrapper.cpp"
------------------------------------------------------------------------------------- Captured log call --------------------------------------------------------------------------------------
INFO pyodesys.native._base:compilation.py:367 Cythonizing /home/yuri/.cache/python3.8-pyodesys-0.14.0/_gsl_wrapper.pyx to ./_gsl_wrapper.cpp
INFO pyodesys.native._base:runners.py:340 In "/tmp/tmpu40hzltd", executing:
"/usr/bin/clang++ -fwrapv -pthread -c -std=c++11 -Wall -Wextra -fPIC -O2 -fopenmp -fno-strict-aliasing -o ./_gsl_wrapper.o -I/usr/local/lib/python3.8/site-packages/numpy/core/include -I/usr/local/lib/python3.8/site-packages/pyodesys/native/sources -I/usr/local/lib/python3.8/site-packages/pygslodeiv2/include -I/usr/local/include/python3.8 ./_gsl_wrapper.cpp"
________________________________________________________________________ test_balance_stoichiometry__underdetermined _________________________________________________________________________
@requires("sympy", "pulp")
def test_balance_stoichiometry__underdetermined():
try:
from pulp import PulpSolverError
except ModuleNotFoundError:
from pulp.solvers import PulpSolverError # older version of PuLP
with pytest.raises(ValueError):
balance_stoichiometry(
{"C2H6", "O2"}, {"H2O", "CO2", "CO"}, underdetermined=False
)
reac, prod = balance_stoichiometry({"C2H6", "O2"}, {"H2O", "CO2", "CO"})
r1 = {"C7H5O3-", "O2", "C21H27N7O14P2-2", "H+"}
p1 = {
"C7H5O4-",
"C21H26N7O14P2-",
"H2O",
} # see https://github.com/bjodah/chempy/issues/67
> bal1 = balance_stoichiometry(r1, p1, underdetermined=None)
chempy/tests/test_chemistry.py:409:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/chemistry.py:1560: in balance_stoichiometry
sol = Tuple(*[Integer(x) for x in _solve_balancing_ilp_pulp(A)])
chempy/chemistry.py:1308: in _solve_balancing_ilp_pulp
prob.solve(pulp.PULP_CBC_CMD(msg=False))
/usr/local/lib/python3.8/site-packages/pulp/pulp.py:1880: in solve
status = solver.actualSolve(self, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pulp.apis.coin_api.PULP_CBC_CMD object at 0x854e78f10>
lp = chempy_balancing_problem:
MINIMIZE
1*x0 + 1*x1 + 1*x2 + 1*x3 + 1*x4 + 1*x5 + 1*x6 + 0
SUBJECT TO
_C1: 2 x0 + x1 - x2 -...IABLES
1 <= x0 Integer
1 <= x1 Integer
1 <= x2 Integer
1 <= x3 Integer
1 <= x4 Integer
1 <= x5 Integer
1 <= x6 Integer
callback = None
def actualSolve(self, lp, callback=None):
"""Solve a well formulated lp problem"""
> raise PulpSolverError(
"PULP_CBC_CMD: Not Available (check permissions on %s)"
% self.pulp_cbc_path
)
E pulp.apis.core.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.8/site-packages/pulp/apis/../solverdir/cbc/linux/64/cbc)
/usr/local/lib/python3.8/site-packages/pulp/apis/coin_api.py:352: PulpSolverError
______________________________________________________________________ test_balance_stoichiometry__very_underdetermined ______________________________________________________________________
@requires("sympy", "pulp")
def test_balance_stoichiometry__very_underdetermined():
r3 = set("O2 Fe Al Cr".split())
p3 = set("FeO Fe2O3 Fe3O4 Al2O3 Cr2O3 CrO3".split())
> bal3 = balance_stoichiometry(r3, p3, underdetermined=None)
chempy/tests/test_chemistry.py:434:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/chemistry.py:1560: in balance_stoichiometry
sol = Tuple(*[Integer(x) for x in _solve_balancing_ilp_pulp(A)])
chempy/chemistry.py:1308: in _solve_balancing_ilp_pulp
prob.solve(pulp.PULP_CBC_CMD(msg=False))
/usr/local/lib/python3.8/site-packages/pulp/pulp.py:1880: in solve
status = solver.actualSolve(self, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pulp.apis.coin_api.PULP_CBC_CMD object at 0x8536898b0>
lp = chempy_balancing_problem:
MINIMIZE
1*x0 + 1*x1 + 1*x2 + 1*x3 + 1*x4 + 1*x5 + 1*x6 + 1*x7 + 1*x8 + 1*x9 + 0
SUBJECT TO
...nteger
1 <= x3 Integer
1 <= x4 Integer
1 <= x5 Integer
1 <= x6 Integer
1 <= x7 Integer
1 <= x8 Integer
1 <= x9 Integer
callback = None
def actualSolve(self, lp, callback=None):
"""Solve a well formulated lp problem"""
> raise PulpSolverError(
"PULP_CBC_CMD: Not Available (check permissions on %s)"
% self.pulp_cbc_path
)
E pulp.apis.core.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.8/site-packages/pulp/apis/../solverdir/cbc/linux/64/cbc)
/usr/local/lib/python3.8/site-packages/pulp/apis/coin_api.py:352: PulpSolverError
___________________________________________________________________ test_balance_stoichiometry__underdetermined__canoncial ___________________________________________________________________
@requires("sympy", "pulp")
def test_balance_stoichiometry__underdetermined__canoncial():
# This tests for canoncial representation of the underdetermined system
# where all coefficients are integer and >= 1. It is however of limited
# practical use (and hence marked ``xfail``) since underdetermined systems
# have infinite number of solutions. It should however be possible to rewrite
# the logic so that such canoncial results are returned from balance_stoichiometry
r2 = {"O2", "O3", "C", "NO", "N2O", "NO2", "N2O4"}
p2 = {"CO", "CO2", "N2"}
> bal2 = balance_stoichiometry(r2, p2, underdetermined=None)
chempy/tests/test_chemistry.py:453:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/chemistry.py:1560: in balance_stoichiometry
sol = Tuple(*[Integer(x) for x in _solve_balancing_ilp_pulp(A)])
chempy/chemistry.py:1308: in _solve_balancing_ilp_pulp
prob.solve(pulp.PULP_CBC_CMD(msg=False))
/usr/local/lib/python3.8/site-packages/pulp/pulp.py:1880: in solve
status = solver.actualSolve(self, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pulp.apis.coin_api.PULP_CBC_CMD object at 0x85431bf40>
lp = chempy_balancing_problem:
MINIMIZE
1*x0 + 1*x1 + 1*x2 + 1*x3 + 1*x4 + 1*x5 + 1*x6 + 1*x7 + 1*x8 + 1*x9 + 0
SUBJECT TO
...nteger
1 <= x3 Integer
1 <= x4 Integer
1 <= x5 Integer
1 <= x6 Integer
1 <= x7 Integer
1 <= x8 Integer
1 <= x9 Integer
callback = None
def actualSolve(self, lp, callback=None):
"""Solve a well formulated lp problem"""
> raise PulpSolverError(
"PULP_CBC_CMD: Not Available (check permissions on %s)"
% self.pulp_cbc_path
)
E pulp.apis.core.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.8/site-packages/pulp/apis/../solverdir/cbc/linux/64/cbc)
/usr/local/lib/python3.8/site-packages/pulp/apis/coin_api.py:352: PulpSolverError
__________________________________________________________________ test_balance_stoichiometry__substances__underdetermined ___________________________________________________________________
@requires("sympy", "pulp")
def test_balance_stoichiometry__substances__underdetermined():
substances = {
s.name: s
for s in [
Substance("eggs_6pack", composition=dict(eggs=6)),
Substance("milk_carton", composition=dict(cups_of_milk=4)),
Substance("flour_bag", composition=dict(spoons_of_flour=30)),
Substance(
"pancake", composition=dict(eggs=1, cups_of_milk=1, spoons_of_flour=2)
),
Substance(
"waffle", composition=dict(eggs=2, cups_of_milk=2, spoons_of_flour=3)
),
]
}
ur1 = {"eggs_6pack", "milk_carton", "flour_bag"}
up1 = {"pancake", "waffle"}
> br1, bp1 = balance_stoichiometry(
ur1, up1, substances=substances, underdetermined=None
)
chempy/tests/test_chemistry.py:484:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/chemistry.py:1560: in balance_stoichiometry
sol = Tuple(*[Integer(x) for x in _solve_balancing_ilp_pulp(A)])
chempy/chemistry.py:1308: in _solve_balancing_ilp_pulp
prob.solve(pulp.PULP_CBC_CMD(msg=False))
/usr/local/lib/python3.8/site-packages/pulp/pulp.py:1880: in solve
status = solver.actualSolve(self, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pulp.apis.coin_api.PULP_CBC_CMD object at 0x854062a60>
lp = chempy_balancing_problem:
MINIMIZE
1*x0 + 1*x1 + 1*x2 + 1*x3 + 1*x4 + 0
SUBJECT TO
_C1: - 4 x2 + x3 + 2 x4 = 0
_C2: -...: - 30 x1 + 2 x3 + 3 x4 = 0
VARIABLES
1 <= x0 Integer
1 <= x1 Integer
1 <= x2 Integer
1 <= x3 Integer
1 <= x4 Integer
callback = None
def actualSolve(self, lp, callback=None):
"""Solve a well formulated lp problem"""
> raise PulpSolverError(
"PULP_CBC_CMD: Not Available (check permissions on %s)"
% self.pulp_cbc_path
)
E pulp.apis.core.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.8/site-packages/pulp/apis/../solverdir/cbc/linux/64/cbc)
/usr/local/lib/python3.8/site-packages/pulp/apis/coin_api.py:352: PulpSolverError
___________________________________________________________________________ test_balance_stoichiometry__duplicates ___________________________________________________________________________
@requires("sympy")
def test_balance_stoichiometry__duplicates():
cases = """
C + CO + CO2 -> C + CO # suggested solution: C + CO2 -> 2 CO
C + CO + CO2 -> C + CO2 # suggested solution: 2 CO -> C + CO2
C + CO + CO2 -> CO + CO2 # suggested solution: C + CO2 -> 2 CO
C + CO -> C + CO + CO2 # suggested solution: 2 CO -> C + CO2
C + CO2 -> C + CO + CO2 # suggested solution: C + CO2 -> 2 CO
CO + CO2 -> C + CO + CO2 # suggested solution: 2 CO -> C + CO2
"""
for prob, sol in [line.split("#") for line in cases.strip().splitlines()]:
tst_r = Reaction.from_string(prob)
ref_r = Reaction.from_string(sol.split(":")[1])
> tst_bal = balance_stoichiometry(
tst_r.reac, tst_r.prod, allow_duplicates=True, underdetermined=None
)
chempy/tests/test_chemistry.py:516:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
chempy/chemistry.py:1423: in balance_stoichiometry
result = balance_stoichiometry(
chempy/chemistry.py:1560: in balance_stoichiometry
sol = Tuple(*[Integer(x) for x in _solve_balancing_ilp_pulp(A)])
chempy/chemistry.py:1308: in _solve_balancing_ilp_pulp
prob.solve(pulp.PULP_CBC_CMD(msg=False))
/usr/local/lib/python3.8/site-packages/pulp/pulp.py:1880: in solve
status = solver.actualSolve(self, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pulp.apis.coin_api.PULP_CBC_CMD object at 0x85730da30>
lp = chempy_balancing_problem:
MINIMIZE
1*x0 + 1*x1 + 1*x2 + 0
SUBJECT TO
_C1: - x0 - x1 + x2 = 0
_C2: - 2 x1 + x2 = 0
VARIABLES
1 <= x0 Integer
1 <= x1 Integer
1 <= x2 Integer
callback = None
def actualSolve(self, lp, callback=None):
"""Solve a well formulated lp problem"""
> raise PulpSolverError(
"PULP_CBC_CMD: Not Available (check permissions on %s)"
% self.pulp_cbc_path
)
E pulp.apis.core.PulpSolverError: PULP_CBC_CMD: Not Available (check permissions on /usr/local/lib/python3.8/site-packages/pulp/apis/../solverdir/cbc/linux/64/cbc)
/usr/local/lib/python3.8/site-packages/pulp/apis/coin_api.py:352: PulpSolverError
====================================================================================== warnings summary ======================================================================================
chempy/kinetics/tests/test__native.py::test_get_native__a_substance_no_composition[solve0]
chempy/kinetics/tests/test__native.py::test_get_native__a_substance_no_composition[solve1]
/usr/local/lib/python3.8/site-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /home/yuri/.cache/python3.8-pyodesys-0.14.0/_gsl_wrapper.pyx
tree = Parsing.p_module(s, pxd, full_module_name)
chempy/kinetics/tests/test_ode.py::test_get_ode__Radiolytic__units__multi
chempy/kinetics/tests/test_ode.py::test_get_odesys__time_dep_temperature
chempy/kinetics/tests/test_ode.py::test_create_odesys__ShiftedTPoly
/usr/local/lib/python3.8/site-packages/pyodesys/core.py:519: UserWarning: 'adaptive' mode with SciPy's integrator (vode/lsoda) may overshoot (itask=2)
warnings.warn("'adaptive' mode with SciPy's integrator (vode/lsoda) may overshoot (itask=2)")
chempy/kinetics/tests/test_ode.py::test_get_ode__Radiolytic__units__multi
chempy/kinetics/tests/test_ode.py::test_get_odesys__time_dep_temperature
chempy/kinetics/tests/test_ode.py::test_create_odesys__ShiftedTPoly
/usr/local/lib/python3.8/site-packages/pyodesys/core.py:520: UserWarning: 'adaptive' mode with SciPy's integrator is unreliable, consider using e.g. cvode
warnings.warn("'adaptive' mode with SciPy's integrator is unreliable, consider using e.g. cvode")
chempy/tests/test__equilibrium.py::test_solve_equilibrium_1
chempy/tests/test__equilibrium.py::test_solve_equilibrium_2
/disk-samsung/freebsd-ports/science/py-chempy/work-py38/chempy-0.8.2/chempy/chemistry.py:1005: RuntimeWarning: divide by zero encountered in double_scalars
tot *= conc ** nr
-- Docs: https://docs.pytest.org/en/latest/warnings.html
================================================================================== short test summary info ===================================================================================
SKIPPED [2] chempy/kinetics/tests/test__native.py:59: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [2] chempy/kinetics/tests/test__native.py:129: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test__native.py:188: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [3] chempy/kinetics/tests/test__native.py:218: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [4] chempy/kinetics/tests/test_ode.py:518: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:548: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:566: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:606: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:648: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:792: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:834: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:885: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:953: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:1030: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:1101: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:1144: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [1] chempy/kinetics/tests/test_ode.py:1161: Unfulfilled requirements. Missing modules: pycvodes.
SKIPPED [2] chempy/util/tests/test_table.py:44: latex not installed? (pdflatex command missing)
SKIPPED [1] chempy/util/tests/test_table.py:55: latex not installed? (pdflatex command missing)
=============================================================== 7 failed, 295 passed, 27 skipped, 10 warnings in 27.61 seconds ===============================================================
Version: 0.8.2
Python-3.8
clang-11
FreeBSD 13
bjodah commented
PRs welcome.
yurivict commented
Tests don't fail now in the same version 0.8.2
Python-3.9