Control: tags -1 + help

* Bas Couwenberg <sebas...@xs4all.nl> [2021-08-19 21:13]:

Source: octave-mapping
Version: 1.4.1-1
Severity: important
Tags: ftbfs
User: debian-...@lists.debian.org
Usertags: gdal-3.3

Dear Maintainer,

Your package FTBFS with GDAL 3.3.1:

 [inst/str2angle.m]
/build/octave-mapping-1.4.1/inst/str2angle.m
 ***** test
 ***** shared tst, res
  tst = '191E21''3.1"\n12e 22''33.24"\n13E 23'' 33.344"\n14w24'' 33.4444"\n';
  tst = [tst '15S25''33.54444"\n16W26''33.644444''''\n17s27''33.7444444"\n'];
  tst = [tst '18N28''33.84444444"\n19d29m33.944444444s\n20D20M33.04444444Se\n'];
  tst = [tst '21??51''4.1"\n22??52''44.25"\n23?? 53''33.34"\n24??54'' 
33.44"N\n'];
  tst = [tst '25?? 55'' 33.544"\n26??56''33.644''''S\n27??57'' 33.744''''\n'];
  tst = [tst '28??58''33.844"w'];
  tst = strrep (tst, '\n', char(10));
  res = [191.351, 12.376, 13.393, -14.409, -15.426, -16.443, -17.459, 18.476, 
...
         19.493, 20.343, 21.851, 22.879, 23.893, 24.909, 25.926, 26.943, ...
         27.959, -28.976];
  assert (str2angle (tst), res, 1e-3);
 !!!!! test failed
 ASSERT errors for:  assert (str2angle (tst),res,1e-3)

   Location  |  Observed  |  Expected  |  Reason
      .          O(1x1)      E(1x18)      Dimensions don't match
 shared variables   scalar structure containing the fields:

     tst = [](0x0)
     res = [](0x0)
 ***** test
  tstc = strsplit (tst, "\n");
  assert (str2angle (tstc), res, 1e-3);
 !!!!! test failed
 strsplit: S and DEL must be string values
 shared variables   scalar structure containing the fields:

     tst = [](0x0)
     res = [](0x0)
 ***** test
  tstc = strjoin (strsplit (tst, "\n"), "   ");
  assert (str2angle (tstc), res, 1e-3);
 !!!!! test failed
 strsplit: S and DEL must be string values
 shared variables   scalar structure containing the fields:

     tst = [](0x0)
     res = [](0x0)
 ***** test
  assert (str2angle ('24E77''33"  25W43''57.7"'), [NaN, -25.7333], 1e-3);
 !!!!! test failed
 ASSERT errors for:  assert (str2angle ('24E77'33"  25W43'57.7"'),[NaN, 
-25.7333],1e-3)

   Location  |  Observed  |  Expected  |  Reason
      .          O(1x1)       E(1x2)      Dimensions don't match
 shared variables   scalar structure containing the fields:

     tst = [](0x0)
     res = [](0x0)
 ***** test
  assert (str2angle ('; aggag'), Inf);
 ***** warning <inconvertible> str2angle ('24E77''33"', 1);
 ***** warning <inconvertible> str2angle (' -4D-32''-44.57"', 1);
 ***** error <char string or cellstr expected> str2angle (25);
 8 tests, 5 passed, 0 known failure, 0 skipped

Thanks for this bug report.

This problem seems to be completely unrelated to the upgrade of the GDAL library. The bug is exposed by the unit tests in the function str2angle, defined in file inst/str2angle.m. This file contains purely Octave interpreted code which is not related to libgdal.

I can replicate the bug on an up-to-date unstable chroot, without libgdal28, ligdgal29, nor octave-mapping installed. When I run the following commands in such a chroot:

    sudo apt update
    sudo apt dist-upgrade
    sudo aptitude install octave
    apt-get source octave-mapping
    cd octave-mapping-1.4.1/inst
    echo "test str2angle" | octave-cli --quiet

I obtain the following:

 ***** shared tst, res
  tst = '191E21''3.1"\n12e 22''33.24"\n13E 23'' 33.344"\n14w24'' 33.4444"\n';
  tst = [tst '15S25''33.54444"\n16W26''33.644444''''\n17s27''33.7444444"\n'];
  tst = [tst '18N28''33.84444444"\n19d29m33.944444444s\n20D20M33.04444444Se\n'];
  tst = [tst '21??51''4.1"\n22??52''44.25"\n23?? 53''33.34"\n24??54'' 
33.44"N\n'];
  tst = [tst '25?? 55'' 33.544"\n26??56''33.644''''S\n27??57'' 33.744''''\n'];
  tst = [tst '28??58''33.844"w'];
  tst = strrep (tst, '\n', char(10));
  res = [191.351, 12.376, 13.393, -14.409, -15.426, -16.443, -17.459, 18.476, 
...
         19.493, 20.343, 21.851, 22.879, 23.893, 24.909, 25.926, 26.943, ...
         27.959, -28.976];
  assert (str2angle (tst), res, 1e-3);
 !!!!! test failed
 ASSERT errors for:  assert (str2angle (tst),res,1e-3)

   Location  |  Observed  |  Expected  |  Reason
      .          O(1x1)      E(1x18)      Dimensions don't match
 shared variables   scalar structure containing the fields:

     tst = [](0x0)
     res = [](0x0)

Best,

Rafael Laboissière

P.S.1: I am hereby tagging this bug report "help", since I have no idea where the problem comes from. It is probably due to a change in some of the dependings libraries related to the upgrade from bullseye to bookworm.

P.S.2: In order to not prevent the blocking of the ligdal 28→29 transition, we could transform the failing unit tests in str2angle.m from "%!test" into "%!xtest". Subsequently, after the transition is done we could try to fix the problem, which is independent of libgdal. What do you think?

Reply via email to