Fixed #125: SheerkaErrorManager

Fixed #135: Change services service priorities
Fixed #136: ErrorManager: Implement recognize_error
Fixed #137: BNFNodeParser : Error when parsing regex with sub parsers
Fixed #138: get_last_errors(): real errors sources are lost
Fixed #139: OneError return value removes the origin of the error
Fixed #140: Concept variables are not correctly handled when parsing sub expression
Fixed #143: Implement has_unknown_concepts()
This commit is contained in:
2021-10-28 14:04:41 +02:00
parent 48ab72fd9c
commit 87cab44fb8
56 changed files with 1391 additions and 1286 deletions
+15 -6
View File
@@ -48,7 +48,7 @@ class InitTestHelper:
c.get_metadata().definition_type = DEFINITION_TYPE_BNF
else:
raise Exception(f"Error in bnf definition '{c.get_metadata().definition}'",
self.sheerka.get_errors(self.context, res))
self.sheerka.get_obj_errors(self.context, res))
self._update_concept_parameters(c)
if create_new:
@@ -92,8 +92,7 @@ class InitTestHelper:
if create_new:
res = self.sheerka.create_new_rule(self.context, rule)
if not res.status:
raise Exception(f"Error in rule definition '{res.body}'",
self.sheerka.get_errors(res))
raise Exception(f"Error in rule definition '{res.body}'", self.sheerka.get_obj_errors(res))
self.items.append(res.body.body)
else:
self.items.append(rule)
@@ -294,16 +293,26 @@ class BaseTest:
return [ret_val for ret_val in return_values if ret_val.status]
@staticmethod
def activate_debug(context, pattern="Sya.*.*"):
def activate_debug(context, pattern="Sya.*.*", debug_var=True, debug_concept=False, debug_rule=False):
sheerka = context.sheerka
sheerka.set_debug(context, True)
sheerka.set_debug_logger_definition(ListDebugLogger)
if isinstance(pattern, list):
for p in pattern:
sheerka.set_debug_var(context, p)
if debug_var:
sheerka.set_debug_var(context, p)
if debug_concept:
sheerka.set_debug_concept(context, p)
if debug_rule:
sheerka.set_debug_rule(context, p)
else:
sheerka.set_debug_var(context, pattern)
if debug_var:
sheerka.set_debug_var(context, pattern)
if debug_concept:
sheerka.set_debug_concept(context, pattern)
if debug_rule:
sheerka.set_debug_rule(context, pattern)
# the see the logs, do not forget to add
# logs = sheerka.get_debugger_logs()