[GRASS-dev] v.what: test_vwhat_layers is failing

It seems that v.what’s test_vwhat_layers test file is randomly failing time to time with “ERROR: Unable to start driver <(null)>”.

======================================================================
ERROR: setUpClass (main.TestMultiLayerMap)

Traceback (most recent call last):
File “vector/v.what/testsuite/test_vwhat_layers.py”, line 121, in setUpClass
cls.runModule(‘db.in.ogr’, dsn=‘./data/table1.csv’, output=‘t1’)
File “etc/python/grass/gunittest/case.py”, line 953, in runModule
errors=errors)
CalledModuleError: Module run 1 db.in.ogr ended with error
Process ended with non-zero return code db.in_ogr(dsn=‘./data/table1.csv’, output=‘t1’). See the following errors:
ERROR: Unable to start driver <(null)>
Traceback (most recent call last):
File “scripts/db.in.ogr”, line 127, in
main()
File “scripts/db.in.ogr”, line 76, in main
s = grass.read_command(‘db.tables’, flags = ‘p’)
File “etc/python/grass/script/core.py”, line 420, in read_command
returncode=returncode)
grass.exceptions.CalledModuleError: Module run None db.tables -p ended with error
Process ended with non-zero return code 1. See errors in the (error) output.

http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-02-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/index.html
http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-03-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/test_vwhat_layers/index.html

On Mon, Nov 3, 2014 at 9:18 AM, Vaclav Petras <wenzeslaus@gmail.com> wrote:

It seems that v.what's test_vwhat_layers test file is randomly failing
time to time with "ERROR: Unable to start driver <(null)>".

It looks like db connection is not set at all. I added calling db.connect
-c to the test. However, I am not sure, is this how it is supposed to work?
Almost no db module initializes db when not set. I ran into the same
problem when a shapefile is imported during creating new location.

Anna

======================================================================
ERROR: setUpClass (__main__.TestMultiLayerMap)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "vector/v.what/testsuite/test_vwhat_layers.py", line 121, in
setUpClass
    cls.runModule('db.in.ogr', dsn='./data/table1.csv', output='t1')
  File "etc/python/grass/gunittest/case.py", line 953, in runModule
    errors=errors)
CalledModuleError: Module run 1 db.in.ogr ended with error
Process ended with non-zero return code db.in_ogr(dsn='./data/table1.csv',
output='t1'). See the following errors:
ERROR: Unable to start driver <(null)>
Traceback (most recent call last):
  File "scripts/db.in.ogr", line 127, in <module>
    main()
  File "scripts/db.in.ogr", line 76, in main
    s = grass.read_command('db.tables', flags = 'p')
  File "etc/python/grass/script/core.py", line 420, in read_command
    returncode=returncode)
grass.exceptions.CalledModuleError: Module run None db.tables -p ended
with error
Process ended with non-zero return code 1. See errors in the (error)
output.

http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-02-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/index.html

http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-03-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/test_vwhat_layers/index.html

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

On Mon, Nov 3, 2014 at 4:53 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

On Mon, Nov 3, 2014 at 9:18 AM, Vaclav Petras <wenzeslaus@gmail.com> wrote:

It seems that v.what's test_vwhat_layers test file is randomly failing
time to time with "ERROR: Unable to start driver <(null)>".

It looks like db connection is not set at all. I added calling db.connect -c
to the test. However, I am not sure, is this how it is supposed to work?
Almost no db module initializes db when not set.

The GRASS start-up script initializes db with db.connect -c when not set:

https://trac.osgeo.org/grass/browser/grass/trunk/lib/init/grass.py#L1435

therefore this problem does not occur if you start GRASS with grass.py

Regarding v.what's test_vwhat_layers test, the error is correct
because db.tables lists tables in the given database using the
specified driver. It is an error if either database or driver are not
specified for db.tables.

Markus M

I ran into the same problem
when a shapefile is imported during creating new location.

Anna

======================================================================
ERROR: setUpClass (__main__.TestMultiLayerMap)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "vector/v.what/testsuite/test_vwhat_layers.py", line 121, in
setUpClass
    cls.runModule('db.in.ogr', dsn='./data/table1.csv', output='t1')
  File "etc/python/grass/gunittest/case.py", line 953, in runModule
    errors=errors)
CalledModuleError: Module run 1 db.in.ogr ended with error
Process ended with non-zero return code db.in_ogr(dsn='./data/table1.csv',
output='t1'). See the following errors:
ERROR: Unable to start driver <(null)>
Traceback (most recent call last):
  File "scripts/db.in.ogr", line 127, in <module>
    main()
  File "scripts/db.in.ogr", line 76, in main
    s = grass.read_command('db.tables', flags = 'p')
  File "etc/python/grass/script/core.py", line 420, in read_command
    returncode=returncode)
grass.exceptions.CalledModuleError: Module run None db.tables -p ended
with error
Process ended with non-zero return code 1. See errors in the (error)
output.

http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-02-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/index.html

http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-03-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/test_vwhat_layers/index.html

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

On Wed, Nov 5, 2014 at 3:32 AM, Markus Metz <markus.metz.giswork@gmail.com>
wrote:

On Mon, Nov 3, 2014 at 4:53 PM, Anna Petrášová <kratochanna@gmail.com>
wrote:
>
>
> On Mon, Nov 3, 2014 at 9:18 AM, Vaclav Petras <wenzeslaus@gmail.com>
wrote:
>>
>> It seems that v.what's test_vwhat_layers test file is randomly failing
>> time to time with "ERROR: Unable to start driver <(null)>".
>
>
> It looks like db connection is not set at all. I added calling
db.connect -c
> to the test. However, I am not sure, is this how it is supposed to work?
> Almost no db module initializes db when not set.

The GRASS start-up script initializes db with db.connect -c when not set:

https://trac.osgeo.org/grass/browser/grass/trunk/lib/init/grass.py#L1435

therefore this problem does not occur if you start GRASS with grass.py

Testing script is using init() function from grass.script.setup, so

should be `db.connect -c` there?

http://trac.osgeo.org/grass/browser/grass/trunk/lib/python/gunittest/multirunner.py#L95

Regarding v.what's test_vwhat_layers test, the error is correct

because db.tables lists tables in the given database using the
specified driver. It is an error if either database or driver are not
specified for db.tables.

This makes sense, perhaps the error message could be more informative in

case of db driver being NULL (or whatever is the value in C) so that you
can get something like:

ERROR: Unable to start driver because it is set to NULL. Was database
connected using db.connect?

What do you think?

Vaclav

Markus M

> I ran into the same problem
> when a shapefile is imported during creating new location.
>
> Anna
>
>>
>> ======================================================================
>> ERROR: setUpClass (__main__.TestMultiLayerMap)
>> ----------------------------------------------------------------------
>> Traceback (most recent call last):
>> File "vector/v.what/testsuite/test_vwhat_layers.py", line 121, in
>> setUpClass
>> cls.runModule('db.in.ogr', dsn='./data/table1.csv', output='t1')
>> File "etc/python/grass/gunittest/case.py", line 953, in runModule
>> errors=errors)
>> CalledModuleError: Module run 1 db.in.ogr ended with error
>> Process ended with non-zero return code
db.in_ogr(dsn='./data/table1.csv',
>> output='t1'). See the following errors:
>> ERROR: Unable to start driver <(null)>
>> Traceback (most recent call last):
>> File "scripts/db.in.ogr", line 127, in <module>
>> main()
>> File "scripts/db.in.ogr", line 76, in main
>> s = grass.read_command('db.tables', flags = 'p')
>> File "etc/python/grass/script/core.py", line 420, in read_command
>> returncode=returncode)
>> grass.exceptions.CalledModuleError: Module run None db.tables -p ended
>> with error
>> Process ended with non-zero return code 1. See errors in the (error)
>> output.
>>
>>
>>
http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-02-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/index.html
>>
>>
http://fatra.cnr.ncsu.edu/grassgistests/reports_for_date-2014-11-03-08-00/report_for_nc_spm_08_grass7_nc/vector/v.what/test_vwhat_layers/index.html
>>
>> _______________________________________________
>> grass-dev mailing list
>> grass-dev@lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/grass-dev
>
>
>
> _______________________________________________
> grass-dev mailing list
> grass-dev@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-dev