Source: octave-statistics
Version: 1.8.1-3
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: [email protected]

Dear maintainer,

octave-statistics fails to build with octave 11:

[inst/grp2idx.m]
>>>>> /build/reproducible-path/octave-statistics-1.8.1/inst/grp2idx.m
***** test
 g = grp2idx ([3 2 1 2 3 1]);
 assert (g, [3; 2; 1; 2; 3; 1]);
***** test
 [g, gn] = grp2idx (['b'; 'a'; 'c'; 'a']);
 assert (g, [1; 2; 3; 2]);
 assert (gn, {'b'; 'a'; 'c'});
***** test
 in = [true, false, false, true];
 out = {[2; 1; 1; 2] {'0'; '1'} [false; true]};
 assert (nthargout (1:3, @grp2idx, in), out)
 assert (nthargout (1:3, @grp2idx, in), nthargout (1:3, @grp2idx, in'))
***** test
 assert (nthargout (1:3, @grp2idx, [false, true]),
         {[1; 2] {'0'; '1'} [false; true]});
 assert (nthargout (1:3, @grp2idx, [true, false]),
         {[2; 1] {'0'; '1'} [false; true]});
***** assert (nthargout (1:3, @grp2idx, ['oct'; 'sci'; 'oct'; 'oct'; 'sci']),
        {[1; 2; 1; 1; 2] {'oct'; 'sci'} ['oct'; 'sci']})
***** assert (nthargout (1:3, @grp2idx, {'oct'; 'sci'; 'oct'; 'oct'; 'sci'}),
        {[1; 2; 1; 1; 2] {'oct'; 'sci'} {'oct'; 'sci'}})
***** assert (nthargout (1:3, @grp2idx, [1, -3, -2, -3, -3,  2,  1, -1,  3, 
-3]),
        {[4; 1; 2; 1; 1; 5; 4; 3; 6; 1], {"-3"; "-2"; "-1"; "1"; "2"; "3"}, ...
         [-3; -2; -1; 1; 2; 3]})
***** test
 s = [1e6, 2e6, 1e6, 3e6];
 [g, gn, gl] = grp2idx (s);
 assert (g, [1; 2; 1; 3]);
 assert (gn, {'1000000'; '2000000'; '3000000'});
 assert (gl, [1000000; 2000000; 3000000]);
***** test
 s = [0.1, 0.2, 0.3, 0.1, 0.2];
 [g, gn, gl] = grp2idx (s);
 assert (g, [1; 2; 3; 1; 2]);
 assert (gn, {'0.1'; '0.2'; '0.3'});
 assert (gl, [0.1; 0.2; 0.3]);
***** test
 s = [-5 -10 0 5 10 -5];
 [g, gn, gl] = grp2idx (s);
 assert (g, [2; 1; 3; 4; 5; 2]);
 assert (gn, {'-10'; '-5'; '0'; '5'; '10'});
 assert (gl, [-10; -5; 0; 5; 10]);
***** assert (nthargout (1:3, @grp2idx, [2, 2, 3, NaN, 2, 3]), ...
        {[1; 1; 2; NaN; 1; 2] {'2'; '3'} [2; 3]})
***** assert (nthargout (1:3, @grp2idx, {'et', 'sa', 'sa', '', 'et'}), ...
        {[1; 2; 2; NaN; 1] {'et'; 'sa'} {'et'; 'sa'}})
***** assert (nthargout (1:3, @grp2idx, [2, 2, 3, NaN, 2, 4]), ...
        {[1; 1; 2; NaN; 1; 3] {'2'; '3'; '4'} [2; 3; 4]})
***** test
 s = [NaN, NaN, NaN];
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; NaN; NaN]);
 assert (gn, cell (0,1));
 assert (gl, zeros (0,1));
***** test
 s = single ([NaN, NaN, NaN]);
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; NaN; NaN]);
 assert (gn, cell (0,1));
 assert (gl, single (zeros(0,1)));
***** test
 s = {''; ''; ''; ''};
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; NaN; NaN; NaN]);
 assert (gn, cell(0,1));
 assert (gl, cell(0,1));
***** test
 s = {'a'; ''; 'b'; ''; 'c'};
 [g, gn, gl] = grp2idx (s);
 assert (g, [1; NaN; 2; NaN; 3]);
 assert (gn, {'a'; 'b'; 'c'});
 assert (gl, {'a'; 'b'; 'c'});
***** test
 s = categorical ({''; ''; ''; ''});
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; NaN; NaN; NaN]);
 assert (gn, cell (0,1));
 assert (isequaln (gl, categorical (cell (0,1))));
***** test
 s = string ({missing, missing, missing});
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; NaN; NaN]);
 assert (gn, cell (0,1));
 assert (isequal (gl, string (cell (0,1))));
***** test
 s = [duration(NaN, 0, 0), duration(NaN, 0, 0), duration(NaN, 0, 0)];
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; NaN; NaN]);
 assert (gn, cell (0,1));
 assert (isequal (gl, duration (NaN (0,3))));
!!!!! test failed
ASSERT errors for:  assert (gn,cell (0, 1))

  Location  |  Observed  |  Expected  |  Reason
     .          O(1x1)       E(0x1)      Dimensions don't match
***** test assert (nthargout (1:3, @grp2idx, ['sci'; 'oct'; 'sci'; 'oct'; 
'oct']),
        {[1; 2; 1; 2; 2] {'sci'; 'oct'} ['sci'; 'oct']});
***** test assert (nthargout (1:3, @grp2idx, {'sci'; 'oct'; 'sci'; 'oct'; 
'oct'}),
        {[1; 2; 1; 2; 2] {'sci'; 'oct'} {'sci'; 'oct'}});
***** test assert (nthargout (1:3, @grp2idx, {'sa' 'et' 'et' '' 'sa'}),
        {[1; 2; 2; NaN; 1] {'sa'; 'et'} {'sa'; 'et'}})
***** test
 [g, gn, gl] = grp2idx (categorical ({'low', 'med', 'high', 'low'}));
 assert (g, [2; 3; 1; 2]);
 assert (gn, {'high'; 'low'; 'med'});
 assert (isequal (gl, categorical ({'high'; 'low'; 'med'})));
***** test
 [g, gn, gl] = grp2idx (categorical ([10, 20, 10, 30, 20]));
 assert (g, [1; 2; 1; 3; 2]);
 assert (gn, {'10'; '20'; '30'});
 assert (isequal (gl, categorical ([10; 20; 30])));
***** test
 cats = categorical ({'high', '<undefined>', 'low', '<undefined>'});
 [g, gn, gl] = grp2idx (cats);
 assert (g, [2; 1; 3; 1]);
 assert (gn, {'<undefined>'; 'high'; 'low'});
 assert (isequal (gl, categorical ({'<undefined>'; 'high'; 'low'})));
***** test
 s = categorical ({''; ''; ''; ''}, {'1', '2', '3'}, {'1', '2', '3'});
 [g, gn, gl] = grp2idx (s);
 assert (g, nan (4, 1));
 assert (gn, {'1'; '2'; '3'});
 assert (iscategorical (gl), true);
 assert (cellstr (gl), gn);
***** test
 s = categorical ({''; '1'; ''; '2'}, {'1', '2', '3'}, {'1', '2', '3'});
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; 1; NaN; 2]);
 assert (gn, {'1'; '2'; '3'});
 assert (iscategorical (gl), true);
 assert (cellstr (gl), gn);
***** test
 s = categorical ({''; '2'; ''; '1'}, {'1', '2', '3'}, {'1', '2', '3'});
 [g, gn, gl] = grp2idx (s);
 assert (g, [NaN; 2; NaN; 1]);
 assert (gn, {'1'; '2'; '3'});
 assert (iscategorical (gl), true);
 assert (cellstr (gl), gn);
***** test
 g = gn = gl = [];
 [g, gn, gl] = grp2idx (seconds ([1.234, 1.234, 2.5, 3.000]));
 assert (g, [1; 1; 2; 3]);
 assert (gn, {'1.234 sec'; '2.5 sec'; '3 sec'});
 assert (isequal (gl, seconds ([1.234; 2.5; 3.000])));
!!!!! test failed
ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''      '1.234 sec'    Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''       '2.5 sec'     Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''        '3 sec'      Strings don't match
***** test
 [g, gn, gl] = grp2idx ([hours(1); hours(2); hours(1); hours(3)]);
 assert (g, [1; 2; 1; 3]);
 assert (gn, {'1 hr'; '2 hr'; '3 hr'});
 assert (isequal (gl, [hours(1); hours(2); hours(3)]));
!!!!! test failed
ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''         '1 hr'      Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''         '2 hr'      Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''         '3 hr'      Strings don't match
***** test
 in = [duration(1, 30, 0); duration(0, 45, 30); duration(1, 30, 0); duration(2, 
15, 15)];
 [g, gn, gl] = grp2idx(in);
 assert (g, [2; 1; 2; 3]);
 assert (gn, {'00:45:30'; '01:30:00'; '02:15:15'});
 assert (isequal (gl, [duration(0, 45, 30); duration(1, 30, 0); duration(2, 15, 
15)]));
!!!!! test failed
ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''       '00:45:30'    Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''       '01:30:00'    Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''       '02:15:15'    Strings don't match
***** test
 in = [hours(1); NaN; minutes(30); hours(1); NaN; seconds(90)];
 [g, gn, gl] = grp2idx(in);
 assert (g, [3; NaN; 2; 3; NaN; 1]);
 assert (gn, {'0.025 hr'; '0.5 hr'; '1 hr'});
 assert (isequal(gl, [seconds(90); minutes(30);  hours(1)]));
!!!!! test failed
ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''       '0.025 hr'    Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''        '0.5 hr'     Strings don't match

ASSERT errors for:  assert (cond {i},expected {i},tol)

  Location  |  Observed  |  Expected  |  Reason
     []          ''         '1 hr'      Strings don't match
***** test
 [g, gn, gl] = grp2idx (string ({'123', 'erw', missing, '', '234'}));
 assert (g, [1; 2; NaN; NaN; 3]);
 assert (gn, {'123'; 'erw'; '234'});
 assert (isequal (gl, string ({'123'; 'erw'; '234'})));
***** test
 [g, gn, gl] = grp2idx (string ({'medium', 'low', 'high', 'medium', 'medium'}));
 assert (g, [1; 2; 3; 1; 1]);
 assert (gn, {'medium'; 'low'; 'high'});
 assert (isequal (gl, string ({'medium'; 'low'; 'high'})));
***** test
 [g, gn, gl] = grp2idx (string ({'', 'high', 'low', ''}));
 assert (g, [NaN; 1; 2; NaN]);
 assert (gn, {'high'; 'low'});
 assert (isequal (gl, string ({'high'; 'low'})));
***** test
 [g, gn, gl] = grp2idx (string ({'a', 'a', 'b', 'c'}));
 assert (g, [1; 1; 2; 3]);
 assert (gn, {'a'; 'b'; 'c'});
 assert (isstring (gl), true);
 assert (cellstr (gl), gn);
***** error <grp2idx: S must be either a vector or a matrix.> grp2idx (ones (3, 
3, 3))
***** error <grp2idx: 'categorical' grouping variable must be a vector.> ...
 grp2idx (categorical ([1, 2; 1, 3]))
***** error <grp2idx: 'datetime' grouping variable is not supported yet.> ...
 grp2idx (datetime ('now'))
__datetime__: TZDB error: realpath() failed: No such file or directory
Falling back to UTC.
***** error <grp2idx: 'duration' grouping variable must be a vector.> ...
 grp2idx (days ([1, 2; 1, 3]))
***** error <grp2idx: 'string' grouping variable must be a vector.> ...
 grp2idx (string ({'a', 'a'; 'b', 'c'}))
***** error <grp2idx: unsupported type for input S.> grp2idx ({1})
43 tests, 38 passed, 0 known failure, 0 skipped

See
https://buildd.debian.org/status/fetch.php?pkg=octave-statistics&arch=amd64&ver=1.8.1-3%2Bb1&stamp=1772693511&raw=0
for details.

Cheers
-- 
Sebastian Ramacher

Reply via email to