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

Systematic testing of all packages in the GAP distro #1065

Open
fingolfin opened this issue Nov 15, 2024 · 1 comment · May be fixed by #1067
Open

Systematic testing of all packages in the GAP distro #1065

fingolfin opened this issue Nov 15, 2024 · 1 comment · May be fixed by #1067

Comments

@fingolfin
Copy link
Member

We should test all packages in the GAP package distribution within GAP.jl. That means running TestPackage("PKGNAME");.

I am sure this will reveal a bunch of issues. For starters, we may need to add a GAP.Packages.build() command so we can use the bundled version of those packages without installing newer ones (without any network access in fact).

Some of this my be rendered moot by switching to GAP_pkg_* wrapper packages (but I view this issue as orthogonal to that. I.e. even if we had GAP_pkg_* wrappers in place right now, I'd still would want to run their tests -- it just would be a tad easier to do so because I would not have to worry about building them).

On the long run, these tests could be automated by CI. E.g. perhaps in the https://github.com/oscar-system/GAP_pkg repository there could be a CI job for each package (with a few disabled).

Of course a few things never will work in their current form (e.g. I have no hopes for xgap and hence itc). That's fine. But yesterday I tried to install and run nq and anupq and embarrassingly ended up running headlong into issue #1064.

@lgoettgens
Copy link
Member

I am sure this will reveal a bunch of issues. For starters, we may need to add a GAP.Packages.build() command so we can use the bundled version of those packages without installing newer ones (without any network access in fact).

I started playing around with this, starting with removing all installations of ferret that I found (so everything except the bundled one via artifact"gap_packages".

julia> GAP.Globals.PKGMAN_CustomPackageDir = GapObj(GAP.Packages.DEFAULT_PKGDIR[])
GAP: "/home/lgoe/.julia/gaproot/v4.13/pkg"

julia> GAP.Globals.CompilePackage(GAP.Obj("ferret"))
#I  Package "ferret" not installed in user package directory
#I  (currently set to /home/lgoe/.julia/gaproot/v4.13/pkg)
#I  installed at [ "/home/lgoe/.julia/scratchspaces/c863536a-3901-11e9-33e7-d5cd0df7b904/gap_1044846543712493262_1.11/pkg/ferret/" ], not in /home/lgoe/.julia/gaproot/v4.13/pkg
false

The problem here is that we cannot build ferret in its installation directory as that is symlinked into an artifact, which should be read-only. So GAP.Packages.build("ferret") would need to copy the package from the artifact into .julia/gaproot/v4.13/pkg and build it then, e.g. using PackageManager's CompilePackage.

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

Successfully merging a pull request may close this issue.

2 participants