Opened 9 years ago

Closed 7 years ago

#3524 closed task (fixed)

Validation of nightly Cpp tests broken

Reported by: Rüdiger Franke Owned by: Adrian Pop
Priority: high Milestone:
Component: Testing Framework Version:
Keywords: Cc: Marcus Walther, Niklas Worschech, Adrian Pop, Martin Sjölund

Description

Since yesterday the validation fails for almost all Cpp examples, see:

https://test.openmodelica.org/libraries/MSL_3.2.1_cpp/BuildModelRecursive.html

It looks like some variables are not obtained anymore from the results file, like the drum temperature T_S that is between 100 and 300 degC, while the validation obtains a constant 1.80e7, see:

https://test.openmodelica.org/libraries/MSL_3.2.1_cpp/files/Modelica.Fluid.Examples.DrumBoiler.DrumBoiler.diff.T_S.html

Hudson's regression tests work with validation. Also my local build works.

What is wrong with the nightly tests?

Change History (20)

comment:1 by Lennart Ochel, 9 years ago

Cc: Martin Sjölund added; sjoelund removed

comment:2 by Martin Sjölund, 9 years ago

You must have changed something in the cppruntime because the output of the csv-file is actually (for BusUsage):

"time","gain.u","gain.y","part.realExpression.y","controlBus.realSignal1","controlBus.subControlBus.myRealSignal","part.subControlBus.myRealSignal","sine.y","integerStep.y","controlBus.integerSignal","booleanStep.y","part.booleanExpression.y","controlBus.booleanSignal","controlBus.subControlBus.myBooleanSignal","part.subControlBus.myBooleanSignal",
0,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.004,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.008,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.012,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.016,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.02,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.024,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.028,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.032,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.036,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.04,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,
0.044,0x225be00,0x225be08,0x225be10,0x225be00,0x225be10,0x225be10,0x225be00,0x225bd80,0x225bd80,0x224cc40,0x224cc41,0x224cc40,0x224cc41,0x224cc41,

comment:3 by Niklas Worschech, 9 years ago

The csv output is not working at the moment. But the mat file output should work

comment:4 by Martin Sjölund, 9 years ago

The nightly tests use CSV (I think because cppruntime did not support MAT).

comment:5 by Niklas Worschech, 9 years ago

The cpp runtime supports mat file output. But I will also fix the csv output

comment:6 by Niklas Worschech, 9 years ago

Is it possible to switch the test to mat file otuput, because the mat file output is a bit faster.

comment:7 by Martin Sjölund, 9 years ago

I have tried to do so; started a new job. (The only reason the scripts can change the output format was to support c++runtime anyway; mat is default).

comment:8 by Rüdiger Franke, 9 years ago

Many validations work again with mat files -- some still fail: for instance Modelica.Blocks.Examples.BooleanNetwork1. or2.y should be 0, but is -1!?

Is this an error in the mat file generation?

comment:9 by Martin Sjölund, 9 years ago

I guess so. or2.y sounds like something that should be a boolean, so 0 or 1.

comment:10 by Rüdiger Franke, 9 years ago

The errors occur for negated boolean aliases. Bool uses operator! instead of operator- for negation. This can become quite tricky in conjunction with implicit casts between bool and numeric types -- templates make live not only simpler :-(

f5433093d4a1dbd95a9f69e6d2cb75c6612e4577/OMCompiler introduces a specific WriteOutputVarBool.
3746b035ae0dfca69323cb7d6f216ffd3fab515f/OpenModelica-testsuite adds or2.y to the respective test.

Last edited 9 years ago by Rüdiger Franke (previous) (diff)

comment:11 by Niklas Worschech, 9 years ago

I will fix this, i thought negated boolean alias will never occur.

comment:12 by Niklas Worschech, 9 years ago

Ahh you already fixed it :D. I din't not read that.
You can also use template specialization.

comment:13 by Rüdiger Franke, 9 years ago

We are not yet back -- today 188 models verified. It were 194 before the breakdown!

See e.g.:

Modelica.Electrical.Spice3.Examples.CascodeCircuit
Modelica.Mechanics.MultiBody.Examples.Constraints.SphericalConstraint

comment:14 by Martin Sjölund, 9 years ago

Milestone: 1.9.41.9.5

Milestone pushed to 1.9.5

comment:15 by Martin Sjölund, 9 years ago

Milestone: 1.9.51.10.0

Milestone renamed

comment:16 by Martin Sjölund, 8 years ago

Milestone: 1.10.01.11.0

Ticket retargeted after milestone closed

comment:17 by Martin Sjölund, 8 years ago

Milestone: 1.11.01.12.0

Milestone moved to 1.12.0 due to 1.11.0 already being released.

comment:18 by Francesco Casella, 7 years ago

Milestone: 1.12.0Future

The milestone of this ticket has been reassigned to "Future".

If you think the issue is still valid and relevant for you, please select milestone 1.13.0 for back-end, code generation and run-time issues, or 2.0.0 for front-end issues.

If you are aware that the problem is no longer present, please select the milestone corresponding to the version of OMC you used to check that, and set the status to "worksforme".

In both cases, a short informative comment would be welcome.

comment:19 by Martin Sjölund, 7 years ago

Milestone: Future
Type: defecttask

This is fixed now. And we have a completely new testing environment anyway.

comment:20 by Martin Sjölund, 7 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.