From a1604e88ec76dc3bc9533f560db74d4d061db6ac Mon Sep 17 00:00:00 2001 From: Wilf Wilson Date: Thu, 4 Sep 2025 17:57:51 +0100 Subject: [PATCH 1/2] Update test output for compatibility with pluralization changes in GAP --- tst/standard/digraph.tst | 21 +++++++++++++++ tst/standard/examples.tst | 54 +++++++++++++++++++++++++++++++++++++++ tst/standard/io.tst | 6 +++++ tst/standard/oper.tst | 6 +++++ tst/standard/weights.tst | 7 +++++ 5 files changed, 94 insertions(+) diff --git a/tst/standard/digraph.tst b/tst/standard/digraph.tst index 25f8dcc53..b493b7198 100644 --- a/tst/standard/digraph.tst +++ b/tst/standard/digraph.tst @@ -574,12 +574,21 @@ gap> DigraphNrVertices(RandomDigraph(200, 0.854)); 200 gap> IsMultiDigraph(RandomDigraph(1000)); false +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> RandomDigraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `RandomDigraph' on 1 argument +gap> RandomDigraph("a"); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `RandomDigraph' on 1 argument +#@else gap> RandomDigraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `RandomDigraph' on 1 arguments gap> RandomDigraph("a"); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `RandomDigraph' on 1 arguments +#@fi gap> RandomDigraph(4, 0); gap> RandomDigraph(10, 1.01); @@ -642,9 +651,15 @@ gap> DigraphNrVertices(gr); 100 gap> DigraphNrEdges(gr); 1000 +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> RandomMultiDigraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `RandomMultiDigraph' on 1 argument +#@else gap> RandomMultiDigraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `RandomMultiDigraph' on 1 arguments +#@fi gap> RandomMultiDigraph(0, 1); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `RandomMultiDigraph' on 2 arguments @@ -666,9 +681,15 @@ gap> RandomTournament(IsMutableDigraph, 10); gap> RandomLattice(25);; gap> RandomLattice(1); +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> RandomLattice(-1); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `RandomLattice' on 1 argument +#@else gap> RandomLattice(-1); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `RandomLattice' on 1 arguments +#@fi # The list of random lattice Digraph6Strings D was generated by running: # D := List([1 .. 100], x -> Digraph6String(RandomLattice(7))); diff --git a/tst/standard/examples.tst b/tst/standard/examples.tst index f77923990..741de1c6d 100644 --- a/tst/standard/examples.tst +++ b/tst/standard/examples.tst @@ -88,9 +88,15 @@ gap> EmptyDigraph(IsMutableDigraph, -1); Error, the argument must be a non-negative integer, # CycleDigraph +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> gr := CycleDigraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `CycleDigraph' on 1 argument +#@else gap> gr := CycleDigraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `CycleDigraph' on 1 arguments +#@fi gap> gr := CycleDigraph(1); gap> AutomorphismGroup(gr) = Group(()); @@ -108,9 +114,15 @@ gap> gr = DigraphCycle(IsImmutableDigraph, 6); true # ChainDigraph +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> gr := ChainDigraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `ChainDigraph' on 1 argument +#@else gap> gr := ChainDigraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `ChainDigraph' on 1 arguments +#@fi gap> gr := ChainDigraph(1); gap> IsEmptyDigraph(gr); @@ -492,9 +504,15 @@ gap> D := AndrasfaiGraph(3); vertices, 24 edges> gap> IsIsomorphicDigraph(D, MobiusLadderGraph(4)); true +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> AndrasfaiGraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `AndrasfaiGraph' on 1 argument +#@else gap> AndrasfaiGraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `AndrasfaiGraph' on 1 arguments +#@fi # BinomialTreeGraph gap> D := BinomialTreeGraph(6); @@ -509,9 +527,15 @@ gap> DigraphEdges(D); [ 15, 13 ], [ 15, 16 ], [ 16, 15 ] ] gap> BinomialTreeGraph(1); +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> BinomialTreeGraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `BinomialTreeGraph' on 1 argument +#@else gap> BinomialTreeGraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `BinomialTreeGraph' on 1 arguments +#@fi # BondyGraph gap> D := BondyGraph(2); @@ -585,9 +609,15 @@ gap> D := HalvedCubeGraph(3); gap> IsIsomorphicDigraph(D, CompleteDigraph(4)); true +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> HalvedCubeGraph(-1); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `HalvedCubeGraph' on 1 argument +#@else gap> HalvedCubeGraph(-1); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `HalvedCubeGraph' on 1 arguments +#@fi # HanoiGraph gap> D := HanoiGraph(1); @@ -602,9 +632,15 @@ gap> IsHamiltonianDigraph(gr); true gap> IsPlanarDigraph(DigraphMutableCopy(gr)); true +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> HanoiGraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `HanoiGraph' on 1 argument +#@else gap> HanoiGraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `HanoiGraph' on 1 arguments +#@fi # HelmGraph gap> D := HelmGraph(6); @@ -674,9 +710,15 @@ gap> D := LindgrenSousselierGraph(1); gap> AutomorphismGroup(D) = Group([(4, 8)(5, 7)(9, 10), (2, 10, 9)(3, 4, 5, 6, 7, 8), (1, 2, 3, 4, 10)(5, 7, 9, 6, 8)]); true +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> LindgrenSousselierGraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `LindgrenSousselierGraph' on 1 argument +#@else gap> LindgrenSousselierGraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `LindgrenSousselierGraph' on 1 arguments +#@fi gap> LindgrenSousselierGraph(3); gap> IsIsomorphicDigraph(LindgrenSousselierGraph(1), GeneralisedPetersenGraph(5, 2)); @@ -719,9 +761,15 @@ gap> IsIsomorphicDigraph(D, DigraphSymmetricClosure(ChainDigraph(4))); true gap> PathGraph(1); +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> PathGraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `PathGraph' on 1 argument +#@else gap> PathGraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `PathGraph' on 1 arguments +#@fi # PermutationStarGraph gap> D := PermutationStarGraph(3, 2); @@ -785,9 +833,15 @@ gap> D := WalshHadamardGraph(2); gap> IsIsomorphicDigraph(D, CycleGraph(8)); true +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> WalshHadamardGraph(0); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `WalshHadamardGraph' on 1 argument +#@else gap> WalshHadamardGraph(0); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `WalshHadamardGraph' on 1 arguments +#@fi # WebGraph gap> D := WebGraph(3); diff --git a/tst/standard/io.tst b/tst/standard/io.tst index 5c606a349..be95d903c 100644 --- a/tst/standard/io.tst +++ b/tst/standard/io.tst @@ -464,9 +464,15 @@ gap> gr := TCodeDecoder("12 3 0 10 6 2 8 8"); gap> OutNeighbours(gr); [ [ 11 ], [ ], [ ], [ ], [ ], [ ], [ 3 ], [ ], [ 9 ], [ ], [ ], [ ] ] +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> TCodeDecoder(3); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `TCodeDecoder' on 1 argument +#@else gap> TCodeDecoder(3); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `TCodeDecoder' on 1 arguments +#@fi gap> TCodeDecoder("gr 5"); Error, the 2nd argument must be a string of at least two space-separated n\ on-negative integers, diff --git a/tst/standard/oper.tst b/tst/standard/oper.tst index 29a963e24..4f2b5fc0f 100644 --- a/tst/standard/oper.tst +++ b/tst/standard/oper.tst @@ -2880,9 +2880,15 @@ gap> IsOrderFilter(D, [1, 4]); false gap> IsOrderFilter(D, [4]); false +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> IsOrderFilter(4); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `IsOrderFilter' on 1 argument +#@else gap> IsOrderFilter(4); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IsOrderFilter' on 1 arguments +#@fi gap> IsOrderFilter(D, 4); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IsOrderFilter' on 2 arguments diff --git a/tst/standard/weights.tst b/tst/standard/weights.tst index 80dccaa9f..9995d3d5d 100644 --- a/tst/standard/weights.tst +++ b/tst/standard/weights.tst @@ -253,10 +253,17 @@ gap> EdgeWeightedDigraphShortestPath(d, 1, 2); # Shortest paths: negative cycle gap> d := EdgeWeightedDigraph([[2], [3], [1]], [[-3], [-5], [-7]]); +#@if CompareVersionNumbers(ReplacedString(GAPInfo.Version, "dev", ""), "4.16") +gap> EdgeWeightedDigraphShortestPaths(d); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 2nd choice method found for `EdgeWeightedDigraphShortestPaths' on 1 \ +argument +#@else gap> EdgeWeightedDigraphShortestPaths(d); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for `EdgeWeightedDigraphShortestPaths' on 1 \ arguments +#@fi # Shortest paths: source not in graph neg int gap> EdgeWeightedDigraphShortestPaths(d, -1); From 9591945de0c04c9579ef3fd0a8788357a31572f8 Mon Sep 17 00:00:00 2001 From: Wilf Wilson Date: Wed, 1 Oct 2025 15:26:13 +0100 Subject: [PATCH 2/2] TEMP: add a CI job running against the update-pluralization GAP branch --- .github/workflows/ubuntu.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index fa00f3928..463dccbfe 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -30,6 +30,7 @@ jobs: - v4.14 - v4.13 - v4.12 + - further-pluralization mode: - onlyneeded - default @@ -51,9 +52,16 @@ jobs: - name: Output g++ version . . . run: g++ --version - name: "Install GAP . . ." + if: ${{ matrix.gap-version != 'further-pluralization' }} uses: gap-actions/setup-gap@v3 with: gap-version: ${{ matrix.gap-version }} + - name: "Install GAP . . ." + if: ${{ matrix.gap-version == 'further-pluralization' }} + uses: gap-actions/setup-gap@v3 + with: + gap-version: ${{ matrix.gap-version }} + repository: wilfwilson/gap - name: "Build Digraphs . . ." uses: gap-actions/build-pkg@v2 - name: "Clone additional GAP packages . . ."