[GRASS-dev] Failing addon releasebranch_7_8 (Python 3.6) pipeline

Markus Neteler neteler at osgeo.org
Wed Mar 24 15:45:12 PDT 2021


Hi,

I spent some time on this - installed Ubuntu 18.04 from docker and
installed GRASS GIS 7.8 and addons inside to run the tests. It comes
with Python 3.6:

Here what came up (would be easier to see this in GH Action directly
since it took me almost an hour to set up the container... ):

1)
------------------------------------------------
GRASS nc_spm_08_grass7/user1:testsuite > python test_pygbif_import.py

Traceback (most recent call last):
  File "/root/install/grass78/scripts/v.in.pygbif", line 841, in <module>
    sys.exit(main())
  File "/root/install/grass78/scripts/v.in.pygbif", line 600, in main
    print("alternatives={}".format(",".join(alternatives)))
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in
position 340: ordinal not in range(128)

F
======================================================================
FAIL: test_poa_taxon_match (__main__.TestPyGBIFImport)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/install/grass78/etc/python/grass/gunittest/case.py",
line 1149, in assertModule
    module.run()
  File "/root/install/grass78/etc/python/grass/pygrass/modules/interface/module.py",
line 771, in run
    self.wait()
grass.exceptions.CalledModuleError: Module run v.in.pygbif v.in.pygbif
taxa=Poa basisofrecord=ALL rank=species output=gbif_poa1 -g --v ended
with error
Process ended with non-zero return code 1. See the following errors:
b'Traceback (most recent call last):\n  File
"/root/install/grass78/scripts/v.in.pygbif", line 841, in <module>\n
 sys.exit(main())\n  File "/root/install/grass78/scripts/v.in.pygbif",
line 600, in main\n
print("alternatives={}".format(",".join(alternatives)))\nUnicodeEncodeError:
\'ascii\' codec can\'t encode character \'\\xe5\' in position 340:
ordinal not in range(128)\n'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test_pygbif_import.py", line 35, in test_poa_taxon_match
    self.assertModule(v_in_pygbif_match)
  File "/root/install/grass78/etc/python/grass/gunittest/case.py",
line 1164, in assertModule
    self.fail(self._formatMessage(msg, stdmsg))
AssertionError: Running <v.in.pygbif> module ended with non-zero return code (1)
Called: v.in_pygbif(output='gbif_poa1', taxa='Poa',
basisofrecord='ALL', rank='species', flags='g', verbose=True)
See the following errors:
Traceback (most recent call last):
  File "/root/install/grass78/scripts/v.in.pygbif", line 841, in <module>
    sys.exit(main())
  File "/root/install/grass78/scripts/v.in.pygbif", line 600, in main
    print("alternatives={}".format(",".join(alternatives)))
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in
position 340: ordinal not in range(128)
----------------------------------------------------------------------
Ran 3 tests in 5.094s
FAILED (failures=1)


2)
----------------------------------------------------------------------
GRASS nc_spm_08_grass7/user1:testsuite > python r3_forestfrag_trivial.py

Step 1: Computing Pf values...
 100%
Step 2: Computing Pff values...
Step 3: Computing fragmentation index...
The following layers were created
The fragmentation index: r3ff_test_forest_frag_trivial
The proportion forested (Pf): r3ff_test_forest_frag_trivial_pf
The proportion forested pixel pairs (Pff):
r3ff_test_forest_frag_trivial_pff
F
======================================================================
FAIL: test_simple_window (__main__.TestForestFragTrivial)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/mneteler/software/grass-addons/grass7/raster3d/r3.forestfrag/testsuite/r3_forestfrag_trivial.py",
line 183, in test_simple_window
    self.assertRasters3dNoDifference(actual=pf,
  File "/home/mneteler/software/grass_master/dist.x86_64-pc-linux-gnu/etc/python/grass/gunittest/case.py",
line 989, in assertRasters3dNoDifference
    self.assertModuleKeyValue(
  File "/home/mneteler/software/grass_master/dist.x86_64-pc-linux-gnu/etc/python/grass/gunittest/case.py",
line 282, in assertModuleKeyValue
    self.fail(self._formatMessage(msg, stdMsg))
AssertionError: r3.info map=tmp_520660a0f348483e86a206d016f4c7d5 -r difference:
mismatch values (key, reference, actual): [('max', 0.001, -0.00037)]
command: r3.info map=tmp_520660a0f348483e86a206d016f4c7d5 -r {'map':
'tmp_520660a0f348483e86a206d016f4c7d5', 'flags': 'r'}
----------------------------------------------------------------------
Ran 1 test in 3.075s
FAILED (failures=1)


3)
----------------------------------------------------------------------
GRASS :testsuite > python test_whatcsv.py
ERROR: Raster map <dummy> not found

--> reported with detail as https://github.com/OSGeo/grass-addons/issues/490


4)
----------------------------------------------------------------------
GRASS :testsuite > python test_whataggr.py
1|2001-04-01|nan
2|2001-04-01|nan
3|2001-04-01|nan
/home/mneteler/.grass7/addons/scripts/t.rast.what.aggr:125:
RuntimeWarning: Mean of empty slice.
  return vals.mean()
/usr/lib64/python3.9/site-packages/numpy/core/_methods.py:170:
RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)
F
WARNING: Attribute table of vector points will be updated...
Adding column <A_average> to the table
/home/mneteler/.grass7/addons/scripts/t.rast.what.aggr:125:
RuntimeWarning: Mean of empty slice.
  return vals.mean()
/usr/lib64/python3.9/site-packages/numpy/core/_methods.py:170:
RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)
SQL: "UPDATE points SET A_average=nan WHERE cat=1"
DBMI-SQLite driver error:
Error in sqlite3_prepare():
no such column: nan
DBMI-SQLite driver error:
Error in sqlite3_prepare():
no such column: nan
ERROR: Error while executing: 'UPDATE points SET A_average=nan WHERE cat=1'
[...]


5)
----------------------------------------------------------------------
v.stream.order testsuite: update tests

See new https://github.com/OSGeo/grass-addons/pull/491


----------------------------------------------------------------------
Untested for today...:

test_whataggr from ./temporal/t.rast.what.aggr failed (6 tests failed)
test_gpot from ./raster/r.green/r.green.gshp/libgshp failed
test_numbers from ./raster/r.sample.category failed
r_extract_test from ./raster/r.extract failed (2 tests failed)
r_object_geometry_test from ./raster/r.object.geometry failed (2 tests failed)
r_forestfrag_trivial from ./raster/r.forestfrag failed (1 test failed)
r_forestfrag_xy from ./raster/r.forestfrag failed (1 test failed)
test_append from ./raster/r.learn.ml2 failed

Shell test:
test_base_resolution from ./raster/r.in.pdal failed  --> test is a
shell script and should be Python

Seems the Addon tests needs some love...

Markus


More information about the grass-dev mailing list