test_temporal_raster_algebra stderr

etc/python/grass/lib/gis.py:803: DeprecationWarning: classic int division
  ('__val', c_ulong * (1024 / (8 * sizeof(c_ulong)))),
etc/python/grass/temporal/abstract_dataset.py:571: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class AbstractDatasetComparisonKeyStartTime(object):
etc/python/grass/temporal/abstract_dataset.py:621: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class AbstractDatasetComparisonKeyEndTime(object):
/usr/lib/python2.7/dist-packages/dateutil/relativedelta.py:15: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class weekday(object):
/usr/lib/python2.7/dist-packages/dateutil/tz.py:31: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class tzutc(datetime.tzinfo):
/usr/lib/python2.7/dist-packages/dateutil/tz.py:54: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class tzoffset(datetime.tzinfo):
/usr/lib/python2.7/dist-packages/dateutil/tz.py:83: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class tzlocal(datetime.tzinfo):
/usr/lib/python2.7/dist-packages/dateutil/tz.py:152: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class _ttinfo(object):
/usr/lib/python2.7/dist-packages/dateutil/tz.py:191: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class tzfile(datetime.tzinfo):
/usr/lib/python2.7/dist-packages/dateutil/tz.py:475: DeprecationWarning: Overriding __eq__ blocks inheritance of __hash__ in 3.x
  class tzrange(datetime.tzinfo):
Default TGIS driver / database set to:
driver: sqlite
database:
/grassdata/tests-grassdata/nc_spm_08_grass7/__lib_python_temporal_test_temporal_raster_algebra/tgis/sqlite.db
etc/python/grass/temporal/core.py:544: DeprecationWarning: dict.has_key() not supported in 3.x; use the in operator
  if grassenv.has_key("TGIS_DISABLE_MAPSET_CHECK"):
etc/python/grass/temporal/core.py:550: DeprecationWarning: dict.has_key() not supported in 3.x; use the in operator
  if grassenv.has_key("TGIS_DISABLE_TIMESTAMP_WRITE"):
Creating temporal database:
/grassdata/tests-grassdata/nc_spm_08_grass7/__lib_python_temporal_test_temporal_raster_algebra/tgis/sqlite.db
Gathering map information...
   0% 100%
Registering maps in the temporal database...
Registering maps in the space time raster dataset...
   0%Updating space time raster dataset...
 100%
Gathering map information...
   0% 100%
Registering maps in the temporal database...
Registering maps in the space time raster dataset...
   0%Updating space time raster dataset...
 100%
Gathering map information...
   0% 100%
Registering maps in the space time raster dataset...
   0%Updating space time raster dataset...
 100%
/usr/lib/python2.7/xml/etree/ElementTree.py:1627: DeprecationWarning: This method of XMLParser is deprecated.  Define doctype() method on the TreeBuilder target.
  DeprecationWarning,
/usr/lib/python2.7/dist-packages/ply/lex.py:716: DeprecationWarning: the cmp argument is not supported in 3.x
  f.sort(lambda x,y: cmp(func_code(x[1]).co_firstlineno,func_code(y[1]).co_firstlineno))
/usr/lib/python2.7/dist-packages/ply/lex.py:724: DeprecationWarning: the cmp argument is not supported in 3.x
  s.sort(lambda x,y: (len(x[1]) < len(y[1])) - (len(x[1]) > len(y[1])))
Generating LALR tables
Generating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
Generating LALR tables
.Generating LALR tables
EGenerating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
EGenerating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
.Generating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
Generating LALR tables
EGenerating LALR tables
EGenerating LALR tables
E
======================================================================
ERROR: test_complex_arith_if_1 (__main__.TestRegisterFunctions)
Complex arithmetic test with if condition
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 179, in test_complex_arith_if_1
    basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_1 (__main__.TestRegisterFunctions)
Simple arithmetic test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 193, in test_simple_arith_1
    tra.parse(expression="D = A {equal,*} A {equal,+} A", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_3 (__main__.TestRegisterFunctions)
Simple arithmetic test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 215, in test_simple_arith_3
    tra.parse(expression="D = A / A + A*A/A", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_hash_1 (__main__.TestRegisterFunctions)
Simple arithmetic test including the hash operator
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 77, in test_simple_arith_hash_1
    tra.parse(expression='D = A + A{equal,=#}A', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 925, in parseopt_notrack
    lookahead = get_token()     # Get the next token
  File "/usr/lib/python2.7/dist-packages/ply/lex.py", line 391, in token
    newtok = self.lexerrorf(tok)
  File "etc/python/grass/temporal/temporal_algebra.py", line 590, in t_error
    (t.lineno, t.value))
SyntaxError: syntax error on line 1 near '{equal,=#}A'

======================================================================
ERROR: test_simple_arith_if_1 (__main__.TestRegisterFunctions)
Simple arithmetic test with if condition
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 150, in test_simple_arith_if_1
    tra.parse(expression='D = if({equal}, start_date() >= "2001-01-02", A + A)', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_if_2 (__main__.TestRegisterFunctions)
Simple arithmetic test with if condition
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 164, in test_simple_arith_if_2
    tra.parse(expression='D = if({equal}, A#A == 1, A - A)', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_td_1 (__main__.TestRegisterFunctions)
Simple arithmetic test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 92, in test_simple_arith_td_1
    tra.parse(expression='D = A + td(A)', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_td_2 (__main__.TestRegisterFunctions)
Simple arithmetic test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 106, in test_simple_arith_td_2
    tra.parse(expression='D = A / td(A)', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_td_3 (__main__.TestRegisterFunctions)
Simple arithmetic test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 120, in test_simple_arith_td_3
    tra.parse(expression='D = A {equal,+} td(A)', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_simple_arith_td_4 (__main__.TestRegisterFunctions)
Simple arithmetic test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 135, in test_simple_arith_td_4
    tra.parse(expression='D = A {equal,/} td(A)', basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_conditional_time_dimension_bug (__main__.TestRegisterFunctions)
Testing the conditional time dimension bug, that uses the time
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 61, in test_temporal_conditional_time_dimension_bug
    tra.parse(expression="D = if({contains}, B == 5,  A - 1,  A + 1)", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_2 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 237, in test_temporal_intersection_2
    tra.parse(expression="D = A {during,&+} B", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_3 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 251, in test_temporal_intersection_3
    tra.parse(expression="D = A {starts,&+} B", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_4 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 265, in test_temporal_intersection_4
    tra.parse(expression="D = A {finishes,&+} B", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_5 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 279, in test_temporal_intersection_5
    tra.parse(expression="D = A {starts|finishes,&+} B", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_6 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 293, in test_temporal_intersection_6
    tra.parse(expression="D = B {overlaps,|+} C", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_7 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 307, in test_temporal_intersection_7
    tra.parse(expression="D = B {overlapped,|+} C", basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_intersection_8 (__main__.TestRegisterFunctions)
Simple temporal intersection test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 322, in test_temporal_intersection_8
    basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_neighbors_1 (__main__.TestRegisterFunctions)
Simple temporal neighborhood computation test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 337, in test_temporal_neighbors_1
    basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

======================================================================
ERROR: test_temporal_neighbors_2 (__main__.TestRegisterFunctions)
Simple temporal neighborhood computation test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "lib/python/temporal/testsuite/test_temporal_raster_algebra.py", line 352, in test_temporal_neighbors_2
    basename="d", overwrite=True)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 81, in parse
    self.parser.parse(expression)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 269, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/usr/lib/python2.7/dist-packages/ply/yacc.py", line 975, in parseopt_notrack
    p.callable(pslice)
  File "etc/python/grass/temporal/temporal_raster_algebra.py", line 108, in p_statement_assign
    TemporalRasterBaseAlgebraParser.p_statement_assign(self, t)
  File "etc/python/grass/temporal/temporal_raster_base_algebra.py", line 302, in p_statement_assign
    m = copy.deepcopy(self.m_mapcalc)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 190, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/usr/lib/python2.7/copy.py", line 334, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib/python2.7/copy.py", line 163, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python2.7/copy.py", line 257, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python2.7/copy.py", line 182, in deepcopy
    rv = reductor(2)
  File "/usr/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/usr/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
RuntimeError: Lock objects should only be shared between processes through inheritance

----------------------------------------------------------------------
Ran 22 tests in 34.159s
FAILED (errors=20)