From 08f94c34039c5c2fd7b47237649c5fa6a15c9a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Sj=C3=B6lund?= Date: Wed, 8 Aug 2018 12:50:00 +0200 Subject: [PATCH] Handle stack overflow for compliance suite test --- Examples/ComplianceSuite.mos | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Examples/ComplianceSuite.mos b/Examples/ComplianceSuite.mos index d71f4b7b35..ac67279e67 100644 --- a/Examples/ComplianceSuite.mos +++ b/Examples/ComplianceSuite.mos @@ -62,10 +62,22 @@ algorithm out := OpenModelica.Scripting.stringReplace(OpenModelica.Scripting.stringReplace(OpenModelica.Scripting.stringReplace(str,\\\"'\\\",\\\"\\\"),\\\"\\\\\\\"\\\",\\\"\\\"),\\\"\\\\\\\\\\\",\\\"\\\"); end fixName; \"); -resultFile := rec.resultFile; +if length(err) >= 21 then + print(substring(err, 1, 21)); + b := \"Error: Stack overflow\" <> substring(err, 1, 21); +else + b := true; +end if; +resultFile := \"\"; +if b then + resultFile := rec.resultFile; +end if; shouldPass := OpenModelica.Scripting.getBooleanClassAnnotation("+OpenModelica.Scripting.typeNameString(cl)+",__ModelicaAssociation.TestCase.shouldPass); success := if shouldPass then resultFile<>\"\" else resultFile==\"\"; -messages := rec.messages; +messages := \"\"; +if b then + messages := rec.messages; +end if; messages := messages + err; messages := messages + (if not success and not shouldPass /* This is correct; try to figure out why (hint: success is a poor name) */ then \"\nSucceeded, but expected failure\" else \"\"); messages := firstPart(messages);