Setting `compute_test_value` to off throws scratchpad test_value error

Potentially related to #1876, A model I’m running (use to work before i updated pymc to latest) now has issues with computing test value. I want to override pymc’s flag using the Model parameter. For example:

with pm.Model(theano_config={'compute_test_value': 'off'}):
    eta = pm.Exponential('eta', lam=0.5)

It throws a AttributeError: 'scratchpad' object has no attribute 'test_value'.

Full traceback below:

AttributeError                            Traceback (most recent call last)
<ipython-input-9-fb56197b841d> in <module>()
      1 with pm.Model(theano_config={'compute_test_value': 'off'}):
----> 2     eta = pm.Exponential('eta', lam=0.5)

C:\Anaconda2\lib\site-packages\pymc3\distributions\distribution.pyc in __new__(cls, name, *args, **kwargs)
     37             total_size = kwargs.pop('total_size', None)
     38             dist = cls.dist(*args, **kwargs)
---> 39             return model.Var(name, dist, data, total_size)
     40         else:
     41             raise TypeError("Name needs to be a string but got: {}".format(name))

C:\Anaconda2\lib\site-packages\pymc3\model.pyc in Var(self, name, dist, data, total_size)
    520                                         transform=dist.transform,
    521                                         total_size=total_size,
--> 522                                         model=self)
    523                 pm._log.debug('Applied {transform}-transform to {name}'
    524                               ' and added transformed {orig_name} to model.'.format(

C:\Anaconda2\lib\site-packages\pymc3\model.pyc in __init__(self, type, owner, index, name, distribution, model, transform, total_size)
   1092 
   1093             self.transformed = model.Var(
-> 1094                 transformed_name, transform.apply(distribution), total_size=total_size)
   1095 
   1096             normalRV = transform.backward(self.transformed)

C:\Anaconda2\lib\site-packages\pymc3\distributions\transforms.pyc in apply(self, dist)
     30 
     31     def apply(self, dist):
---> 32         return TransformedDistribution.dist(dist, self)
     33 
     34     def __str__(self):

C:\Anaconda2\lib\site-packages\pymc3\distributions\distribution.pyc in dist(cls, *args, **kwargs)
     47     def dist(cls, *args, **kwargs):
     48         dist = object.__new__(cls)
---> 49         dist.__init__(*args, **kwargs)
     50         return dist
     51 

C:\Anaconda2\lib\site-packages\pymc3\distributions\transforms.pyc in __init__(self, dist, transform, *args, **kwargs)
     55             arguments to Distribution"""
     56         forward = transform.forward
---> 57         testval = forward(dist.default())
     58 
     59         self.dist = dist

C:\Anaconda2\lib\site-packages\pymc3\distributions\distribution.pyc in default(self)
     62 
     63     def default(self):
---> 64         return np.asarray(self.get_test_val(self.testval, self.defaults), self.dtype)
     65 
     66     def get_test_val(self, val, defaults):

C:\Anaconda2\lib\site-packages\pymc3\distributions\distribution.pyc in get_test_val(self, val, defaults)
     67         if val is None:
     68             for v in defaults:
---> 69                 if hasattr(self, v) and np.all(np.isfinite(self.getattr_value(v))):
     70                     return self.getattr_value(v)
     71         else:

C:\Anaconda2\lib\site-packages\pymc3\distributions\distribution.pyc in getattr_value(self, val)
     83 
     84         if isinstance(val, tt.TensorVariable):
---> 85             return val.tag.test_value
     86 
     87         if isinstance(val, tt.TensorConstant):

AttributeError: 'scratchpad' object has no attribute 'test_value'

EDIT: My mistake, it seems like setting it to ignore solves the issue