Opened 23 months ago

Closed 23 months ago

Last modified 23 months ago

#27913 closed defect (duplicate)

Failure in GAP package listing check due to different handling of user's .gap directory

Reported by: nthiery Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: interfaces Keywords:
Cc: vbraun, tscrim, dimpase, embray Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

sage -t src/sage/tests/gap_packages.py
**********************************************************************
File "src/sage/tests/gap_packages.py", line 137, in sage.tests.gap_packages.all_installed_packages
Failed example:
    all_installed_packages() == all_installed_packages(gap=gap)
Expected:
    True
Got:
    False
**********************************************************************

This is because libgap includes my .gap directory (which contains a few packages) but not gap:

sage: gap('GAPInfo.RootPaths')
[ "/opt/sage-git/local/share/gap/" ]
sage: libgap.eval('GAPInfo.RootPaths')
[ "/home/nthiery/.gap/", "/opt/sage-git/local/share/gap/" ]

Potential actions:

  • Make gap and libgap behave consistently, presumably by having gap include the user's .gap directory
  • Consider that the sanity check is about system packages, and use the option "ignore_dot_gap" of all_gap_packages in the above test.

Change History (4)

comment:1 Changed 23 months ago by fbissey

Duplicate of #27878 really.

comment:2 Changed 23 months ago by nthiery

Thanks François for the super-fast pointer!

comment:3 Changed 23 months ago by embray

  • Milestone changed from sage-8.8 to sage-duplicate/invalid/wontfix
  • Resolution set to duplicate
  • Status changed from new to closed

comment:4 Changed 23 months ago by embray

Make gap and libgap behave consistently, presumably by having gap include the user's .gap directory

I believe the opposite should be the case: By default the GAP interfaces in Sage should ignore a user .gap because it could potentially interfere with the functionality of Sage itself.

In the pexpect interface there is an option for this but it doesn't currently work properly. We should fix it so that it does. On libgap it's trickier, but it's not currently possible to have multiple "embedded GAP interpreters" as it were. That would be a good chance to make in GAP, but would also require a lot of major work, so the safest option is for it to still ignore the user's .gap by default.

Note: See TracTickets for help on using tickets.