add tests for invquery ignore errors option
diff --git a/reclass/core.py b/reclass/core.py
index 1d0a636..b0f0e7b 100644
--- a/reclass/core.py
+++ b/reclass/core.py
@@ -178,7 +178,7 @@
             ret.initialise_interpolation()
             if ret.parameters.has_inv_query() and inventory is None:
                 inventory = self._get_inventory(ret.parameters.needs_all_envs(), ret.environment, ret.parameters.get_inv_queries())
-            ret.interpolate(nodename, inventory)
+            ret.interpolate(inventory)
             return ret
         except InterpolationError as e:
             e.nodename = nodename
diff --git a/reclass/datatypes/entity.py b/reclass/datatypes/entity.py
index e88e2fa..cd08edd 100644
--- a/reclass/datatypes/entity.py
+++ b/reclass/datatypes/entity.py
@@ -84,7 +84,7 @@
     def merge_parameters(self, params):
         self._parameters.merge(params)
 
-    def interpolate(self, nodename, inventory):
+    def interpolate(self, inventory):
         self._parameters.interpolate(inventory)
         self.interpolate_exports()
 
diff --git a/reclass/datatypes/tests/test_entity.py b/reclass/datatypes/tests/test_entity.py
index 743cf0a..fde8067 100644
--- a/reclass/datatypes/tests/test_entity.py
+++ b/reclass/datatypes/tests/test_entity.py
@@ -9,6 +9,7 @@
 
 from reclass.settings import Settings
 from reclass.datatypes import Entity, Classes, Parameters, Applications, Exports
+from reclass.errors import ResolveError
 import unittest
 try:
     import unittest.mock as mock
@@ -180,7 +181,7 @@
         node3_entity = Entity(SETTINGS, classes=None, applications=None, parameters=node3_parameters, exports=node3_exports)
         node3_entity.interpolate_exports()
         inventory['node3'] = node3_entity.exports.as_dict()
-        node3_entity.interpolate('node3', inventory)
+        node3_entity.interpolate(inventory)
         res_inv = {'node1': {'a': 1, 'b': 2}, 'node2': {'a': 3, 'b': 4}, 'node3': {'a': 3, 'b': 5}}
         res_params = {'a': 3, 'c': 3, 'b': 5, 'name': 'node3', 'exp': {'node1': 1, 'node3': 3, 'node2': 3}, 'ref': {'node1': 1, 'node3': 3, 'node2': 3}}
         self.assertDictEqual(node3_parameters.as_dict(), res_params)
@@ -195,9 +196,46 @@
         res_inv = {'node1': {'alpha': {'a': 1, 'b': 2}}, 'node2': {'alpha': {'a': 3, 'b': 4}}, 'node3': {'alpha': {'a': '111', 'b': '123'}}}
         node3_entity.interpolate_exports()
         inventory['node3'] = node3_entity.exports.as_dict()
-        node3_entity.interpolate('node3', inventory)
+        node3_entity.interpolate(inventory)
         self.assertDictEqual(node3_parameters.as_dict(), res_params)
         self.assertDictEqual(inventory, res_inv)
 
+    def test_exports_failed_render(self):
+        node1_exports = Exports({'a': '${a}'}, SETTINGS, '')
+        node1_parameters = Parameters({'name': 'node1', 'a': 1, 'exp': '$[ exports:a ]'}, SETTINGS, '')
+        node1_entity = Entity(SETTINGS, classes=None, applications=None, parameters=node1_parameters, exports=node1_exports)
+        node2_exports = Exports({'a': '${b}'}, SETTINGS, '')
+        node2_parameters = Parameters({'name': 'node2', 'a': 2}, SETTINGS, '')
+        node2_entity = Entity(SETTINGS, classes=None, applications=None, parameters=node2_parameters, exports=node2_exports)
+        node1_entity.initialise_interpolation()
+        node2_entity.initialise_interpolation()
+        queries = node1_entity.parameters.get_inv_queries()
+        with self.assertRaises(ResolveError):
+            for p, q in queries:
+                node1_entity.interpolate_single_export(q)
+                node2_entity.interpolate_single_export(q)
+
+    def test_exports_failed_render_ignore(self):
+        node1_exports = Exports({'a': '${a}'}, SETTINGS, '')
+        node1_parameters = Parameters({'name': 'node1', 'a': 1, 'exp': '$[ +IgnoreErrors exports:a ]'}, SETTINGS, '')
+        node1_entity = Entity(SETTINGS, classes=None, applications=None, parameters=node1_parameters, exports=node1_exports)
+        node2_exports = Exports({'a': '${b}'}, SETTINGS, '')
+        node2_parameters = Parameters({'name': 'node1', 'a': 2}, SETTINGS, '')
+        node2_entity = Entity(SETTINGS, classes=None, applications=None, parameters=node2_parameters, exports=node2_exports)
+        node1_entity.initialise_interpolation()
+        node2_entity.initialise_interpolation()
+        queries = node1_entity.parameters.get_inv_queries()
+        for p, q in queries:
+            node1_entity.interpolate_single_export(q)
+            node2_entity.interpolate_single_export(q)
+        res_inv = {'node1': {'a': 1}, 'node2': {}}
+        res_params = { 'a': 1, 'name': 'node1', 'exp': {'node1': 1} }
+        inventory = {}
+        inventory['node1'] = node1_entity.exports.as_dict()
+        inventory['node2'] = node2_entity.exports.as_dict()
+        node1_entity.interpolate(inventory)
+        self.assertDictEqual(node1_parameters.as_dict(), res_params)
+        self.assertDictEqual(inventory, res_inv)
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/reclass/datatypes/tests/test_parameters.py b/reclass/datatypes/tests/test_parameters.py
index c51bd12..719c828 100644
--- a/reclass/datatypes/tests/test_parameters.py
+++ b/reclass/datatypes/tests/test_parameters.py
@@ -498,7 +498,7 @@
         p1 = Parameters({'alpha': {'one': 1, 'two': 2}, 'gamma': '${alpha:${beta}}'}, SETTINGS, '')
         with self.assertRaises(InterpolationError) as error:
             p1.interpolate()
-        self.assertEqual(error.exception.message, "-> \n   Bad references: ${beta} for path: gamma")
+        self.assertEqual(error.exception.message, "-> \n   Bad references, at gamma\n      ${beta}")
 
 if __name__ == '__main__':
     unittest.main()