Opened 9 months ago

Closed 9 months ago

#25400 closed defect (fixed)

LattE: is_package_installed -> feature

Reported by: vdelecroix Owned by:
Priority: blocker Milestone: sage-8.3
Component: packages: optional Keywords:
Cc: jipilab, mkoeppe, moritz Merged in:
Authors: Vincent Delecroix Reviewers: Julian Rüth
Report Upstream: N/A Work issues:
Branch: e54f09e (Commits) Commit: e54f09e8a36c8778b2dac3b31a8cac17f62798c9
Dependencies: Stopgaps:

Description (last modified by vdelecroix)

The function _volume_latte calls is_package_installed which does not exist anymore. As a consequence

sage -t --long src/sage/geometry/polyhedron/base.py
**********************************************************************
File "src/sage/geometry/polyhedron/base.py", line 4410, in sage.geometry.polyhedron.base.Polyhedron_base._volume_latte
Failed example:
    polytopes.hypercube(3)._volume_latte() #optional - latte_int
Exception raised:
    Traceback (most recent call last):
      File "/opt/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 562, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/opt/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 972, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.base.Polyhedron_base._volume_latte[0]>", line 1, in <module>
        polytopes.hypercube(Integer(3))._volume_latte() #optional - latte_int
      File "/opt/sage/local/lib/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 4436, in _volume_latte
        if is_package_installed('latte_int'):
    NameError: global name 'is_package_installed' is not defined
**********************************************************************

Change History (19)

comment:1 Changed 9 months ago by vdelecroix

  • Description modified (diff)

comment:2 Changed 9 months ago by vdelecroix

  • Authors set to Vincent Delecroix
  • Branch set to u/vdelecroix/25400
  • Commit set to da88e9175d3077a14768ebee7c205e906accbd3d

New commits:

7f9f9a825400: feature for Latte
da88e9125400: fix is_package_installed vs feature for LattE

comment:3 Changed 9 months ago by vdelecroix

  • Status changed from new to needs_review

comment:4 Changed 9 months ago by vdelecroix

  • Cc jipilab mkoeppe moritz added
  • Summary changed from global name 'is_package_installed' is not defined to LattE: is_package_installed -> feature

comment:5 Changed 9 months ago by git

  • Commit changed from da88e9175d3077a14768ebee7c205e906accbd3d to bac80c72afab19ef6b581de2997e2041a70e9741

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

75cbfb725400: feature for Latte
bac80c725400: fix is_package_installed vs feature for LattE

comment:6 Changed 9 months ago by vdelecroix

The function _volume_latte from sage.geometry.polyhedron.base calls is_package_installed which is not imported anymore... (#20382). As a consequence

sage -t --long src/sage/geometry/polyhedron/base.py
**********************************************************************
File "src/sage/geometry/polyhedron/base.py", line 4410, in sage.geometry.polyhedron.base.Polyhedron_base._volume_latte
Failed example:
    polytopes.hypercube(3)._volume_latte() #optional - latte_int
Exception raised:
    Traceback (most recent call last):
      File "/opt/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 562, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/opt/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 972, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.base.Polyhedron_base._volume_latte[0]>", line 1, in <module>
        polytopes.hypercube(Integer(3))._volume_latte() #optional - latte_int
      File "/opt/sage/local/lib/python2.7/site-packages/sage/geometry/polyhedron/base.py", line 4436, in _volume_latte
        if is_package_installed('latte_int'):
    NameError: global name 'is_package_installed' is not defined
**********************************************************************

Instead of reimporting it, we rather rely on the new feature framework introduced in #20382.

comment:7 Changed 9 months ago by saraedum

  • Reviewers set to Julian Rüth
  • Status changed from needs_review to needs_work
  • Work issues set to minimal documentation changes, make the patchbot happy

Looks good. I think you want to drop an "s" and replace "Test whether count and integrate are functionals." with "Test whether ``count`` and ``integrate`` are functional." Also, I think that our new files should have copyright headers at least that's what the developer guide suggests.

The patchbot run looks weird. Do you understand what's going on?

comment:8 Changed 9 months ago by vdelecroix

This is a reasonable failure that has to be fixed

sage -t --long --warn-long 80.1 src/sage/interfaces/latte.py
**********************************************************************
File "src/sage/interfaces/latte.py", line 45, in sage.interfaces.latte.count
Failed example:
    from sage.interfaces.latte import count
Exception raised:
    Traceback (most recent call last):
      File "/opt/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 562, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/opt/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 972, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.interfaces.latte.count[0]>", line 1, in <module>
        from sage.interfaces.latte import count
      File "/opt/sage/local/lib/python2.7/site-packages/sage/interfaces/latte.py", line 18, in <module>
        Latte().require()
      File "/opt/sage/local/lib/python2.7/site-packages/sage/features/__init__.py", line 158, in require
        raise FeatureNotPresentError(self, presence.reason, presence.resolution)
    FeatureNotPresentError: LattE is not available.
    Executable 'count' not found on PATH.
    To install count you can try to run 'sage -i latte_int'.
    Further installation instructions might be available at https://www.math.ucdavis.edu/~latte/software.php.

comment:9 Changed 9 months ago by git

  • Commit changed from bac80c72afab19ef6b581de2997e2041a70e9741 to 6ddf18aaf62eae2deab31aeecf5c5b2f314b7b25

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

6ddf18a25400: feature for Latte

comment:10 Changed 9 months ago by vdelecroix

  • Status changed from needs_work to needs_review

comment:11 Changed 9 months ago by vdelecroix

rebased on beta3... needs review

comment:12 Changed 9 months ago by vdelecroix

  • Work issues minimal documentation changes, make the patchbot happy deleted

comment:13 Changed 9 months ago by davidloeffler

There's something about this ticket which seems to make patchbots crash. Whenever my patchbot (fermat) gets around to testing this ticket, it gets as far as applying the patch + building docs, and then it hangs -- the python subprocesses that are spawned to build the various ref manual chapters somehow get stuck + don't terminate.

Any idea what could be causing this? No other currently-open ticket causes this behaviour.

comment:14 Changed 9 months ago by vdelecroix

  • Status changed from needs_review to needs_work

I made a check at import time... if it fails it is possible that sphinx hang forever. I will test.

comment:15 Changed 9 months ago by git

  • Commit changed from 6ddf18aaf62eae2deab31aeecf5c5b2f314b7b25 to e54f09e8a36c8778b2dac3b31a8cac17f62798c9

Branch pushed to git repo; I updated commit sha1. New commits:

e54f09e25400: do not check on import

comment:16 Changed 9 months ago by vdelecroix

  • Status changed from needs_work to needs_review

comment:17 Changed 9 months ago by saraedum

feel free to set this to positive review if the patchbot issue is fixed now.

comment:18 Changed 9 months ago by vdelecroix

  • Status changed from needs_review to positive_review

comment:19 Changed 9 months ago by vbraun

  • Branch changed from u/vdelecroix/25400 to e54f09e8a36c8778b2dac3b31a8cac17f62798c9
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.