Skip to content

Conversation

@SoongNoonien
Copy link
Member

To make the book tests compatible with Nemocas/AbstractAlgebra.jl#2182 we need use GenericCharacterTables 0.7.0.

@lgoettgens lgoettgens added oscar book PRs necessary for the Oscar book release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Oct 13, 2025
@lgoettgens
Copy link
Member

Hmm, something seems broken:

  julia> T = generic_character_table(\"SL3.n1\")
- Generic character table SL3.n1
-   of order q^8 - q^6 - q^5 + q^3
-   with 8 irreducible character types
-   with 8 class types
-   with parameters (a, b, m, n)
+ ERROR: LoadError: UndefVarError: `GenericCharacterTables` not defined
+ Stacktrace:
+   [1] include
+     @ ./Base.jl:495 [inlined]
+   [2] include(x::String)
+     @ Main.__anon__ ./loading.jl:2246
+   [3] top-level scope
+     @ none:1
+   [4] eval
+     @ ./boot.jl:385 [inlined]
+   [5] evalfile(path::String, args::Vector{String})
+     @ Base ./loading.jl:2242
+   [6] evalfile
+     @ ./loading.jl:2242 [inlined]
+   [7] loadtab
+     @ ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:25 [inlined]
+   [8] gentab(table::String, tabletype::String)
+     @ GenericCharacterTables ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:50
+   [9] generic_character_table(x::String)
+     @ GenericCharacterTables ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:83
+  [10] top-level scope
+     @ REPL[153]:1
+ in expression starting at /home/runner/.julia/packages/GenericCharacterTables/TSdgn/data/Tables/A2/SL3.n1.jl:1

@benlorenz this looks like it could be an issue with the book test setup, any idea what's going wrong?

@benlorenz
Copy link
Member

I think the setup is fine, it does find the package, but loading some data seems to fail:

+   [7] loadtab
+     @ ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:25 [inlined]
+   [8] gentab(table::String, tabletype::String)
+     @ GenericCharacterTables ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:50
+   [9] generic_character_table(x::String)
+     @ GenericCharacterTables ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:83
+  [10] top-level scope
+     @ REPL[153]:1
+ in expression starting at /home/runner/.julia/packages/GenericCharacterTables/TSdgn/data/Tables/A2/SL3.n1.jl:1

And the slug in the path is indeed correct:

julia> pkg_slug_version("GenericCharacterTables","TSdgn")
"0.7.0"

@SoongNoonien
Copy link
Member Author

I'm not sure what's going on. Is this my fault? Locally it's no porblem to load SL3.n1.

@benlorenz
Copy link
Member

benlorenz commented Oct 13, 2025

I think the new evalfile code in GCT causes this when the package is imported into a different module (instead of Main):

(@v1.12) pkg> activate --temp
  Activating new project at `/tmp/jl_Kl96qM`

(jl_Kl96qM) pkg> add GenericCharacterTables
<....>

julia> module Dummy
       using GenericCharacterTables
       
       function bla()
       T = generic_character_table("SL3.n1")
       return T
       end
       end
Main.Dummy

julia> using .Dummy

julia> Dummy.bla()
ERROR: LoadError: UndefVarError: `GenericCharacterTables` not defined in `Main`
Suggestion: check for spelling errors or missing imports.
Hint: GenericCharacterTables is loaded but not imported in the active module Main.
Stacktrace:
  [1] include(mapexpr::Function, mod::Module, _path::String)
    @ Base ./Base.jl:307
  [2] top-level scope
    @ none:1
  [3] eval(m::Module, e::Any)
    @ Core ./boot.jl:489
  [4] evalfile(path::String, args::Vector{String})
    @ Base ./loading.jl:2940
  [5] evalfile
    @ ./loading.jl:2939 [inlined]
  [6] loadtab
    @ ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:25 [inlined]
  [7] gentab(table::String, tabletype::String)
    @ GenericCharacterTables ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:50
  [8] generic_character_table
    @ ~/.julia/packages/GenericCharacterTables/TSdgn/src/CharTable.jl:83 [inlined]
  [9] bla()
    @ Main.Dummy ./REPL[3]:5
 [10] top-level scope
    @ REPL[5]:1
in expression starting at /home/lorenz/.julia/packages/GenericCharacterTables/TSdgn/data/Tables/A2/SL3.n1.jl:1

Once I run using GenericCharacterTables directly in the repl, the Dummy.bla() command does work fine.

The booktests are run in a separate module to separate them from each other.

@lgoettgens
Copy link
Member

I think I have a fix for this. Let me double-check that it indeed works, and then I'll open a PR at GCT.

@SoongNoonien SoongNoonien changed the title Use GenericCharacterTables 0.7.0 for book tests Use GenericCharacterTables 0.7.1 for book tests Oct 16, 2025
@lgoettgens lgoettgens merged commit 74a2c91 into oscar-system:master Oct 16, 2025
35 of 36 checks passed
@SoongNoonien SoongNoonien deleted the GCT_book_tests branch November 3, 2025 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

oscar book PRs necessary for the Oscar book release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants