run zef --verbose test for AI::FANN [agent] flamboyant-moore-63797432 [raku] /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/bin//raku Welcome to Rakudo™ v2025.11. Implementing the Raku® Programming Language v6.d. Built on MoarVM version 2025.11. [zef] /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/share/perl6/site/bin/zef 1.0.0 === 1) install AI::FANN dependencies All candidates are currently installed 2) zef --verbose test . ===> Testing: AI::FANN:ver<0.2.0>:auth [AI::FANN] Command: /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/bin/rakudo -I /tmp/.zef.1765206726.13901/3bd5f6105ccebe2920c7704cf3ef8976313c07d4.tar.gz/AI-FANN-0.2.0 t/creation.t [AI::FANN] # Subtest: Weights with connection [AI::FANN] ok 1 - weights with list returns self [AI::FANN] ok 2 - Can set weights with connections [AI::FANN] ok 3 - weights with connection returns self [AI::FANN] ok 4 - Can set weights with connections [AI::FANN] ok 5 - Can set weights with values [AI::FANN] 1..5 [AI::FANN] ok 1 - Weights with connection # TODO Weight modification is flaky [AI::FANN] # Subtest: Standard [AI::FANN] ok 1 - new [AI::FANN] ok 2 - num-layers [AI::FANN] ok 3 - bias-array [AI::FANN] ok 4 - connection-rate [AI::FANN] ok 5 - network-type [AI::FANN] ok 6 - total-neurons [AI::FANN] ok 7 - num-input [AI::FANN] ok 8 - total-connections [AI::FANN] ok 9 - layer-array [AI::FANN] ok 10 - num-output [AI::FANN] ok 11 - bit-fail [AI::FANN] ok 12 - connection-array [AI::FANN] # Subtest: activation-function [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - hidden setter [AI::FANN] ok 3 - output setter [AI::FANN] ok 4 - layer setter [AI::FANN] ok 5 - [AI::FANN] ok 6 - setter [AI::FANN] ok 7 - other neurons remain untouched [AI::FANN] 1..7 [AI::FANN] ok 13 - activation-function [AI::FANN] # Subtest: activation-steepness [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - hidden setter [AI::FANN] ok 3 - output setter [AI::FANN] ok 4 - layer setter [AI::FANN] ok 5 - [AI::FANN] ok 6 - setter [AI::FANN] ok 7 - other neurons remain untouched [AI::FANN] 1..7 [AI::FANN] ok 14 - activation-steepness [AI::FANN] # Subtest: training-algorithm [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - setter [AI::FANN] ok 3 - setter with Int [AI::FANN] 1..3 [AI::FANN] ok 15 - training-algorithm [AI::FANN] # Subtest: train-error-function [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - setter [AI::FANN] ok 3 - setter [AI::FANN] 1..3 [AI::FANN] ok 16 - train-error-function [AI::FANN] # Subtest: train-stop-function [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - setter [AI::FANN] ok 3 - setter [AI::FANN] 1..3 [AI::FANN] ok 17 - train-stop-function [AI::FANN] # Subtest: bit-fail-limit [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - setter [AI::FANN] 1..2 [AI::FANN] ok 18 - bit-fail-limit [AI::FANN] # Subtest: learning-rate [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - setter [AI::FANN] 1..2 [AI::FANN] ok 19 - learning-rate [AI::FANN] # Subtest: learning-momentum [AI::FANN] ok 1 - getter [AI::FANN] ok 2 - setter [AI::FANN] 1..2 [AI::FANN] ok 20 - learning-momentum [AI::FANN] ok 21 - Minimum weight ~-0.1 [AI::FANN] ok 22 - Maximum weight ~+0.1 [AI::FANN] ok 23 - randomise-weights returns self [AI::FANN] ok 24 - randomize-weights returns self [AI::FANN] ok 25 - Scaled minimum weight [AI::FANN] ok 26 - Scaled maximum weight [AI::FANN] ok 27 - init-weights returns self [AI::FANN] ok 28 - Can clone network [AI::FANN] 1..28 [AI::FANN] ok 2 - Standard [AI::FANN] # Subtest: Sparse [AI::FANN] ok 1 - new [AI::FANN] ok 2 - num-output [AI::FANN] ok 3 - bit-fail [AI::FANN] ok 4 - network-type [AI::FANN] ok 5 - layer-array [AI::FANN] ok 6 - num-input [AI::FANN] ok 7 - total-connections [AI::FANN] ok 8 - total-neurons [AI::FANN] ok 9 - bias-array [AI::FANN] ok 10 - connection-rate [AI::FANN] ok 11 - num-layers [AI::FANN] ok 12 - connection-array [AI::FANN] 1..12 [AI::FANN] ok 3 - Sparse [AI::FANN] # Subtest: Shortcut [AI::FANN] ok 1 - new [AI::FANN] ok 2 - num-output [AI::FANN] ok 3 - connection-rate [AI::FANN] ok 4 - bit-fail [AI::FANN] ok 5 - num-input [AI::FANN] ok 6 - total-connections [AI::FANN] ok 7 - num-layers [AI::FANN] ok 8 - bias-array [AI::FANN] ok 9 - layer-array [AI::FANN] ok 10 - network-type [AI::FANN] ok 11 - total-neurons [AI::FANN] ok 12 - connection-array [AI::FANN] 1..12 [AI::FANN] ok 4 - Shortcut [AI::FANN] # Subtest: File I/O [AI::FANN] ok 1 - [AI::FANN] ok 2 - Can save with Str [AI::FANN] ok 3 - Can save with IO::Path [AI::FANN] ok 4 - Can read from Str [AI::FANN] ok 5 - Read data is equivalent [AI::FANN] ok 6 - Can read from IO::Path [AI::FANN] # Subtest: File must be writable to save [AI::FANN] # Subtest: did we throws-like X::AI::FANN? [AI::FANN] 1..3 [AI::FANN] not ok 1 - code dies [AI::FANN] # Failed test 'code dies' [AI::FANN] # at t/creation.t line 235 [AI::FANN] ok 2 - # SKIP Code did not die, can not check exception [AI::FANN] ok 3 - # SKIP Code did not die, can not check exception [AI::FANN] # You failed 1 test of 3 [AI::FANN] not ok 1 - did we throws-like X::AI::FANN? [AI::FANN] # Failed test 'did we throws-like X::AI::FANN?' [AI::FANN] # at t/creation.t line 235 [AI::FANN] 1..1 [AI::FANN] # You failed 1 test of 1 [AI::FANN] not ok 7 - File must be writable to save [AI::FANN] # Failed test 'File must be writable to save' [AI::FANN] # at t/creation.t line 234 [AI::FANN] # Subtest: File must be readable to read [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches /'Cannot read from file: '/ [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 8 - File must be readable to read [AI::FANN] 1..8 [AI::FANN] # You failed 1 test of 8 [AI::FANN] not ok 5 - File I/O [AI::FANN] # Failed test 'File I/O' [AI::FANN] # at t/creation.t line 212 [AI::FANN] 1..5 [AI::FANN] # You failed 1 test of 5 [AI::FANN] Command: /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/bin/rakudo -I /tmp/.zef.1765206726.13901/3bd5f6105ccebe2920c7704cf3ef8976313c07d4.tar.gz/AI-FANN-0.2.0 t/errors.t [AI::FANN] # Subtest: new [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Cannot read from file: 'missing' [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 1 - new [AI::FANN] # Subtest: save [AI::FANN] # Subtest: did we throws-like X::AI::FANN? [AI::FANN] 1..3 [AI::FANN] not ok 1 - code dies [AI::FANN] # Failed test 'code dies' [AI::FANN] # at t/errors.t line 15 [AI::FANN] ok 2 - # SKIP Code did not die, can not check exception [AI::FANN] ok 3 - # SKIP Code did not die, can not check exception [AI::FANN] # You failed 1 test of 3 [AI::FANN] not ok 1 - did we throws-like X::AI::FANN? [AI::FANN] # Failed test 'did we throws-like X::AI::FANN?' [AI::FANN] # at t/errors.t line 15 [AI::FANN] 1..1 [AI::FANN] # You failed 1 test of 1 [AI::FANN] not ok 2 - save [AI::FANN] # Failed test 'save' [AI::FANN] # at t/errors.t line 14 [AI::FANN] # Subtest: activation-function [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 1 2 [AI::FANN] ok 4 - .what matches Layer index [AI::FANN] ok 1 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .what matches Layer index [AI::FANN] ok 4 - .range matches 1 2 [AI::FANN] ok 2 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .what matches Layer index [AI::FANN] ok 4 - .range matches 1 2 [AI::FANN] ok 3 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 0 1 2 3 [AI::FANN] ok 4 - .what matches Neuron index [AI::FANN] ok 4 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 0 1 2 3 [AI::FANN] ok 4 - .what matches Neuron index [AI::FANN] ok 5 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Invalid activation function: must be a value in AI::FANN::ActivationFunc [AI::FANN] ok 6 - did we throws-like X::AdHoc? [AI::FANN] ok 7 - Accepts plain numeric values [AI::FANN] 1..7 [AI::FANN] ok 3 - activation-function [AI::FANN] # Subtest: activation-steepness [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 1 2 [AI::FANN] ok 4 - .what matches Layer index [AI::FANN] ok 1 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .what matches Layer index [AI::FANN] ok 4 - .range matches 1 2 [AI::FANN] ok 2 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 1 2 [AI::FANN] ok 4 - .what matches Layer index [AI::FANN] ok 3 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 0 1 2 3 [AI::FANN] ok 4 - .what matches Neuron index [AI::FANN] ok 4 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 0 1 2 3 [AI::FANN] ok 4 - .what matches Neuron index [AI::FANN] ok 5 - did we throws-like X::OutOfRange? [AI::FANN] ok 6 - Accepts plain numeric values [AI::FANN] 1..6 [AI::FANN] ok 4 - activation-steepness [AI::FANN] # Subtest: training-algorithm [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Invalid training algorithm: must be a value in AI::FANN::Train [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 5 - training-algorithm [AI::FANN] # Subtest: train-error-function [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Invalid error function: must be a value in AI::FANN::ErrorFunc [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 6 - train-error-function [AI::FANN] # Subtest: train-stop-function [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Invalid stop function: must be a value in AI::FANN::StopFunc [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 7 - train-stop-function [AI::FANN] # Subtest: train [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Cannot read from file: 'missing' [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 8 - train [AI::FANN] # Subtest: cascade-train [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Cannot read from file: 'missing' [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 9 - cascade-train [AI::FANN] # Subtest: test [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Cannot read from file: 'missing' [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 10 - test [AI::FANN] 1..10 [AI::FANN] # You failed 1 test of 10 [AI::FANN] Command: /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/bin/rakudo -I /tmp/.zef.1765206726.13901/3bd5f6105ccebe2920c7704cf3ef8976313c07d4.tar.gz/AI-FANN-0.2.0 t/imports.t [AI::FANN] ok 1 - Plain use only modifies AI namespace [AI::FANN] ok 2 - Raw exports [AI::FANN] ok 3 - Importing :enum imports correct names [AI::FANN] ok 4 - Importing :error imports correct names [AI::FANN] 1..4 [AI::FANN] Command: /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/bin/rakudo -I /tmp/.zef.1765206726.13901/3bd5f6105ccebe2920c7704cf3ef8976313c07d4.tar.gz/AI-FANN-0.2.0 t/train-data.t [AI::FANN] # Subtest: Create [AI::FANN] ok 1 - Create from pairs [AI::FANN] ok 2 - Num input [AI::FANN] ok 3 - Num output [AI::FANN] ok 4 - Num data [AI::FANN] ok 5 - Can set input data [AI::FANN] ok 6 - Can set output data [AI::FANN] ok 7 - Scale returns self [AI::FANN] ok 8 - Can scale input data [AI::FANN] ok 9 - Output is unchanged [AI::FANN] ok 10 - Scale returns self [AI::FANN] ok 11 - Input is unchanged [AI::FANN] ok 12 - Can scale output data [AI::FANN] ok 13 - Scale returns self [AI::FANN] ok 14 - Can scale input data [AI::FANN] ok 15 - Can scale output data [AI::FANN] ok 16 - Shuffle returns self [AI::FANN] 1..16 [AI::FANN] ok 1 - Create [AI::FANN] # Subtest: Create from pairs [AI::FANN] ok 1 - Create from pairs [AI::FANN] ok 2 - Num input [AI::FANN] ok 3 - Num output [AI::FANN] ok 4 - Num data [AI::FANN] # Subtest: :pairs must be Pairs [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Values in :pairs must be Pair objects [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 5 - :pairs must be Pairs [AI::FANN] # Subtest: Inputs must be consistent [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Number of inputs must be consistent [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 6 - Inputs must be consistent [AI::FANN] # Subtest: Outputs must be consistent [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Number of outputs must be consistent [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 7 - Outputs must be consistent [AI::FANN] # Subtest: Inputs must not be empty [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Data must have at least one input [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 8 - Inputs must not be empty [AI::FANN] # Subtest: Outputs must not be empty [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches Data must have at least one output [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 9 - Outputs must not be empty [AI::FANN] 1..9 [AI::FANN] ok 2 - Create from pairs [AI::FANN] # Subtest: Subset and merge [AI::FANN] ok 1 - Original data length [AI::FANN] ok 2 - Can subset from start [AI::FANN] ok 3 - Can subset from middle [AI::FANN] ok 4 - Can combine subsets [AI::FANN] ok 5 - Can clone data set [AI::FANN] # Subtest: Input data must match when merging [AI::FANN] # Subtest: did we throws-like X::AI::FANN? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AI::FANN) [AI::FANN] ok 3 - .code matches FANN_E_TRAIN_DATA_MISMATCH [AI::FANN] ok 1 - did we throws-like X::AI::FANN? [AI::FANN] 1..1 [AI::FANN] ok 6 - Input data must match when merging [AI::FANN] # Subtest: Output data must match when merging [AI::FANN] # Subtest: did we throws-like X::AI::FANN? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AI::FANN) [AI::FANN] ok 3 - .code matches FANN_E_TRAIN_DATA_MISMATCH [AI::FANN] ok 1 - did we throws-like X::AI::FANN? [AI::FANN] 1..1 [AI::FANN] ok 7 - Output data must match when merging [AI::FANN] # Subtest: Subset position must be positive [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 0 1 2 3 [AI::FANN] ok 4 - .what matches Subset position [AI::FANN] ok 1 - did we throws-like X::OutOfRange? [AI::FANN] 1..1 [AI::FANN] ok 8 - Subset position must be positive [AI::FANN] # Subtest: Subset position must be within data [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .what matches Subset position [AI::FANN] ok 4 - .range matches 0 1 2 3 [AI::FANN] ok 1 - did we throws-like X::OutOfRange? [AI::FANN] 1..1 [AI::FANN] ok 9 - Subset position must be within data [AI::FANN] # Subtest: Subset length depends on pos [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .range matches 1 2 3 4 [AI::FANN] ok 4 - .what matches Subset length [AI::FANN] ok 1 - did we throws-like X::OutOfRange? [AI::FANN] # Subtest: did we throws-like X::OutOfRange? [AI::FANN] 1..4 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::OutOfRange) [AI::FANN] ok 3 - .what matches Subset length [AI::FANN] ok 4 - .range matches 1 2 [AI::FANN] ok 2 - did we throws-like X::OutOfRange? [AI::FANN] 1..2 [AI::FANN] ok 10 - Subset length depends on pos [AI::FANN] 1..10 [AI::FANN] ok 3 - Subset and merge [AI::FANN] # Subtest: File I/O [AI::FANN] ok 1 - [AI::FANN] ok 2 - Can save with Str [AI::FANN] ok 3 - Can save with IO::Path [AI::FANN] ok 4 - Can read from Str [AI::FANN] ok 5 - Read data is equivalent [AI::FANN] ok 6 - Can read from IO::Path [AI::FANN] # Subtest: File must be writable to save [AI::FANN] # Subtest: did we throws-like X::AI::FANN? [AI::FANN] 1..3 [AI::FANN] not ok 1 - code dies [AI::FANN] # Failed test 'code dies' [AI::FANN] # at t/train-data.t line 183 [AI::FANN] ok 2 - # SKIP Code did not die, can not check exception [AI::FANN] ok 3 - # SKIP Code did not die, can not check exception [AI::FANN] # You failed 1 test of 3 [AI::FANN] not ok 1 - did we throws-like X::AI::FANN? [AI::FANN] # Failed test 'did we throws-like X::AI::FANN?' [AI::FANN] # at t/train-data.t line 183 [AI::FANN] 1..1 [AI::FANN] # You failed 1 test of 1 [AI::FANN] not ok 7 - File must be writable to save [AI::FANN] # Failed test 'File must be writable to save' [AI::FANN] # at t/train-data.t line 182 [AI::FANN] # Subtest: File must be readable to read [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches /'Cannot read from file: '/ [AI::FANN] ok 1 - did we throws-like X::AdHoc? [AI::FANN] 1..1 [AI::FANN] ok 8 - File must be readable to read [AI::FANN] 1..8 [AI::FANN] # You failed 1 test of 8 [AI::FANN] not ok 4 - File I/O [AI::FANN] # Failed test 'File I/O' [AI::FANN] # at t/train-data.t line 157 [AI::FANN] 1..4 [AI::FANN] # You failed 1 test of 4 [AI::FANN] Command: /tmp/whateverable/rakudo-moar/fe0e20c28859ea709eefad19af452c9d35dff20d/bin/rakudo -I /tmp/.zef.1765206726.13901/3bd5f6105ccebe2920c7704cf3ef8976313c07d4.tar.gz/AI-FANN-0.2.0 t/training.t [AI::FANN] ok 1 - callback returns self [AI::FANN] ok 2 - train returns self [AI::FANN] ok 3 - Callback ran every 2 epochs and could be stopped [AI::FANN] ok 4 - Clearing a callback returns self [AI::FANN] # Subtest: did we throws-like X::AdHoc? [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AdHoc) [AI::FANN] ok 3 - .message matches /'The callback method'/ [AI::FANN] ok 5 - did we throws-like X::AdHoc? [AI::FANN] # Subtest: Scaling [AI::FANN] # Subtest: Scale needs scaling factor [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AI::FANN) [AI::FANN] ok 3 - .code matches FANN_E_SCALE_NOT_PRESENT [AI::FANN] ok 1 - Scale needs scaling factor [AI::FANN] # Subtest: Descale needs scaling factor [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AI::FANN) [AI::FANN] ok 3 - .code matches FANN_E_SCALE_NOT_PRESENT [AI::FANN] ok 2 - Descale needs scaling factor [AI::FANN] ok 3 - Scaling returns self [AI::FANN] ok 4 - Scaling with only input returns self [AI::FANN] ok 5 - Scaling with only output returns self [AI::FANN] ok 6 - Scale returns self [AI::FANN] ok 7 - Scaled input data [AI::FANN] ok 8 - Scaled output data [AI::FANN] ok 9 - Descale returns self [AI::FANN] ok 10 - Descaled input data Aborting due to test failure: AI::FANN:ver<0.2.0>:auth (use --force-test to override) [AI::FANN] ok 11 - Descaled output data [AI::FANN] ok 12 - Scaling CArray input returns self [AI::FANN] ok 13 - Scaled CArray input [AI::FANN] ok 14 - Descaling CArray input returns self [AI::FANN] ok 15 - Descaled CArray input [AI::FANN] ok 16 - Scaling CArray output returns self [AI::FANN] ok 17 - Scaled CArray output [AI::FANN] ok 18 - Descaling CArray output returns self [AI::FANN] ok 19 - Descaled CArray output [AI::FANN] ok 20 - Scaling array input returns self [AI::FANN] ok 21 - Scaled array input [AI::FANN] ok 22 - Descaling array input returns self [AI::FANN] ok 23 - Descaled array input [AI::FANN] ok 24 - Scaling array output returns self [AI::FANN] ok 25 - Scaled array output [AI::FANN] ok 26 - Descaling array output returns self [AI::FANN] ok 27 - Descaled array output [AI::FANN] ok 28 - Clearing scaling returns self [AI::FANN] # Subtest: Scaling needs matching dataset [AI::FANN] 1..3 [AI::FANN] ok 1 - code dies [AI::FANN] ok 2 - right exception type (X::AI::FANN) [AI::FANN] ok 3 - .code matches FANN_E_TRAIN_DATA_MISMATCH [AI::FANN] ok 29 - Scaling needs matching dataset [AI::FANN] 1..29 [AI::FANN] ok 6 - Scaling [AI::FANN] 1..6 ===> Testing [FAIL]: AI::FANN:ver<0.2.0>:auth