Skip to content
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

7 tests fail on FreeBSD #198

Closed
yurivict opened this issue Sep 21, 2021 · 2 comments
Closed

7 tests fail on FreeBSD #198

yurivict opened this issue Sep 21, 2021 · 2 comments

Comments

@yurivict
Copy link

========================================================================================== 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
Copy link
Owner

bjodah commented Sep 21, 2021

PRs welcome.

@yurivict
Copy link
Author

Tests don't fail now in the same version 0.8.2
Python-3.9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants