Xcos/TestPlan
This page helps Xcos validation before releasing a version.
Each subsequent point must be validated by its owner before each release. The date format used in this page can be generated by running date -u +"%F %R".
Status |
||
The test sucessfully passes |
OK |
<: #80ff80> OK |
The test doesn't pass but is acceptable |
in progress |
<: #ffcc50> in progress |
The test doesn't pass and is not acceptable |
KO |
<: #ff8080> KO |
Xcos demos validation
All following demos files are located in the SCI/modules/xcos/demos directory.
To reset the following table, use this shell script.
find modules/xcos/demos -type f -name "*.dem.sce" |sort |while read filename do echo "||||||'''${filename#modules/xcos/demos/}'''||" echo "|| Simulate||<: #ff8080> KO||$(date -u +"%F %R")||" echo "|| Superblocks opens||<: #ff8080> KO||$(date -u +"%F %R")||" echo "|| Well renderer||<: #ff8080> KO||$(date -u +"%F %R")||" echo done
basic_controller.dem.sce |
||
Simulate |
OK |
2010-07-28 09:17 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
bounce.dem.sce |
||
Simulate |
OK |
2010-07-28 09:20 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
bouncing_ball.dem.sce |
||
Simulate |
OK |
2010-07-28 09:23 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
cont_sys_disc_cont.dem.sce |
||
Simulate |
KO |
2010-07-28 09:23 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
data_type.dem.sce |
||
Simulate |
OK |
2010-07-28 09:25 |
Superblocks opens |
OK |
2010-07-28 09:25 |
Well renderer |
OK |
2010-07-28 09:25 |
demo_Datatype.dem.sce |
||
Simulate |
KO |
2010-07-28 09:27 |
Superblocks opens |
KO |
2010-07-28 09:27 |
Well renderer |
KO |
2010-07-28 09:27 |
demo_watertank.dem.sce |
||
Simulate |
OK |
2010-07-28 09:25 |
Superblocks opens |
OK |
2010-07-28 09:25 |
Well renderer |
KO |
2010-07-02 11:26 |
discrete_controller.dem.sce |
||
Simulate |
OK |
2010-07-28 09:29 |
Superblocks opens |
OK |
2010-07-28 09:29 |
Well renderer |
KO |
2010-07-02 11:26 |
discrete_kalman.dem.sce |
||
Simulate |
OK |
2010-07-28 09:30 |
Superblocks opens |
OK |
2010-07-28 09:30 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/boost_conv.dem.sce |
||
Simulate |
OK |
2010-07-28 09:54 |
Superblocks opens |
OK |
2010-07-28 09:54 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/bridge_rectifier.dem.sce |
||
Simulate |
OK |
2010-07-28 09:54 |
Superblocks opens |
OK |
2010-07-28 09:54 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/buck_conv.dem.sce |
||
Simulate |
OK |
2010-07-28 09:54 |
Superblocks opens |
OK |
2010-07-28 09:55 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/colpitts_osc.dem.sce |
||
Simulate |
OK |
2010-07-28 09:56 |
Superblocks opens |
OK |
2010-07-28 09:56 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/differential_amp.dem.sce |
||
Simulate |
OK |
2010-07-28 09:57 |
Superblocks opens |
OK |
2010-07-28 09:57 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/logic_and.dem.sce |
||
Simulate |
OK |
2010-07-28 09:58 |
Superblocks opens |
OK |
2010-07-28 09:58 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/logic_nor.dem.sce |
||
Simulate |
OK |
2010-07-28 09:59 |
Superblocks opens |
OK |
2010-07-28 09:59 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/op_amplier.dem.sce |
||
Simulate |
OK |
2010-07-28 10:00 |
Superblocks opens |
OK |
2010-07-28 10:00 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/rlc_circuit.dem.sce |
||
Simulate |
OK |
2010-07-28 10:01 |
Superblocks opens |
OK |
2010-07-28 10:01 |
Well renderer |
OK |
2010-07-28 10:00 |
Electrical/switched_cap_filter.dem.sce |
||
Simulate |
OK |
2010-07-28 10:05 |
Superblocks opens |
OK |
2010-07-28 10:05 |
Well renderer |
KO |
2010-07-02 11:26 |
Electrical/transformer.dem.sce |
||
Simulate |
OK |
2010-07-28 10:05 |
Superblocks opens |
OK |
2010-07-28 10:06 |
Well renderer |
OK |
2010-07-28 10:06 |
fibonacci.dem.sce |
||
Simulate |
OK |
2010-07-28 09:31 |
Superblocks opens |
OK |
2010-07-28 09:31 |
Well renderer |
OK |
2010-07-13 16:21 |
goto_demo.dem.sce |
||
Simulate |
KO |
2010-07-02 11:26 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
goto_from.dem.sce |
||
Simulate |
OK |
2010-07-28 09:33 |
Superblocks opens |
OK |
2010-07-28 09:33 |
Well renderer |
KO |
2010-07-02 11:26 |
if_scicos_block.dem.sce |
||
Simulate |
OK |
2010-07-28 09:33 |
Superblocks opens |
OK |
2010-07-28 09:33 |
Well renderer |
KO |
2010-07-02 11:26 |
inverted_pend.dem.sce |
||
Simulate |
OK |
2010-07-28 09:33 |
Superblocks opens |
OK |
2010-07-28 09:33 |
Well renderer |
KO |
2010-07-02 11:26 |
inverted_pendulum.dem.sce |
||
Simulate |
OK |
2010-07-28 09:35 |
Superblocks opens |
OK |
2010-07-28 09:35 |
Well renderer |
KO |
2010-07-02 11:26 |
inv_pend_anim.dem.sce |
||
Simulate |
KO |
2010-07-28 09:36 |
Superblocks opens |
OK |
2010-07-28 09:36 |
Well renderer |
KO |
2010-07-28 09:36 |
kalman.dem.sce |
||
Simulate |
KO |
2010-07-28 09:37 |
Superblocks opens |
OK |
2010-07-28 09:37 |
Well renderer |
KO |
2010-07-02 11:26 |
lorentz.dem.sce |
||
Simulate |
OK |
2010-07-28 09:38 |
Superblocks opens |
OK |
2010-07-28 09:38 |
Well renderer |
KO |
2010-07-02 11:26 |
ModelicaBlocks/ball_platform.dem.sce |
||
Simulate |
KO |
2010-07-02 11:26 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
ModelicaBlocks/modelica_bouncing_ball.dem.sce |
||
Simulate |
KO |
2010-07-02 11:26 |
Superblocks opens |
KO |
2010-07-02 11:26 |
Well renderer |
KO |
2010-07-02 11:26 |
ModelicaBlocks/modelica_chaos.dem.sce |
||
Simulate |
OK |
2010-07-21 14:56 |
Superblocks opens |
OK |
2010-07-21 14:56 |
Well renderer |
OK |
2010-07-21 14:56 |
ModelicaBlocks/modelica_hydraulics.dem.sce |
||
Simulate |
OK |
2010-07-02 11:26 |
Superblocks opens |
OK |
2010-07-02 11:26 |
Well renderer |
OK |
2010-07-02 11:26 |
ModelicaBlocks/modelica_rlc_circuit.dem.sce |
||
Simulate |
OK |
2010-07-02 11:26 |
Superblocks opens |
OK |
2010-07-02 11:26 |
Well renderer |
OK |
2010-07-02 11:26 |
old_gain_block.dem.sce |
||
Simulate |
KO |
2010-07-02 11:26 |
Superblocks opens |
OK |
2010-07-28 09:40 |
Well renderer |
KO |
2010-07-02 11:26 |
scilab_block.dem.sce |
||
Simulate |
OK |
2010-07-28 09:40 |
Superblocks opens |
OK |
2010-07-28 09:40 |
Well renderer |
KO |
2010-07-02 11:26 |
signal_builder.dem.sce |
||
Simulate |
OK |
2010-07-28 09:41 |
Superblocks opens |
OK |
2010-07-28 09:41 |
Well renderer |
OK |
2010-07-28 09:41 |
simple_demo.dem.sce |
||
Simulate |
OK |
2010-07-28 09:41 |
Superblocks opens |
OK |
2010-07-28 09:41 |
Well renderer |
OK |
2010-07-28 09:41 |
simple_thermostat.dem.sce |
||
Simulate |
OK |
2010-07-28 09:42 |
Superblocks opens |
OK |
2010-07-28 09:42 |
Well renderer |
KO |
2010-07-02 11:26 |
susp.dem.sce |
||
Simulate |
KO |
2010-07-28 09:42 |
Superblocks opens |
KO |
2010-07-28 09:42 |
Well renderer |
KO |
2010-07-02 11:26 |
table_lookup.dem.sce |
||
Simulate |
OK |
2010-07-28 09:45 |
Superblocks opens |
OK |
2010-07-28 09:45 |
Well renderer |
OK |
2010-07-28 09:45 |
temp_controller.dem.sce |
||
Simulate |
OK |
2010-07-28 09:46 |
Superblocks opens |
OK |
2010-07-28 09:46 |
Well renderer |
OK |
2010-07-28 09:46 |
zero_crossing.dem.sce |
||
Simulate |
OK |
2010-07-28 09:45 |
Superblocks opens |
OK |
2010-07-28 09:45 |
Well renderer |
OK |
2010-07-28 09:45 |
Create blocks from scratch
Recreating a demo from scratch will help us find some problems with the UI.
To ease this validation, it consists only on reproducing demos. To validate this point, demos must be easy to reproduce and must not introduce advanced knowledge of the software. You need to ckeck usability and simulation issues.
Temperature Controller
OK |
2010-12-14 09:56 |
Blocks tests
To test individual behavior of each block.
pass block tests
The following tests must pass on the compilation chain.
- - blocks_set.tst
Reference tests
The following block tests must pass.
- Todo
Internal APIs
Each externalized java method has to be tested. Each macro must have a test.
2010-09-01 15:33 |
KO |
To check:
testsDir="modules/xcos/tests/unit_tests" for macro in $(ls modules/xcos/macros/*.sci) do name=$(basename $macro .sci) if [ ! -e "$testsDir/$name.tst" ] then echo "||$name||<: #ff8080> KO||" >&2 elif [ ! -e "$testsDir/$name.dia.ref" ] then echo "||$name||<: #ffcc50> in progress||" >&2 else echo "||$name||<: #80ff80> OK||" >&2 fi done
closeDiagramPath |
KO |
%diagram_xcos |
KO |
errorDiagramPath |
KO |
generateBlockImage |
KO |
generateBlockImages |
KO |
getDiagramVersion |
KO |
getModelicaPath |
KO |
importScicosDiagram |
KO |
importScicosPal |
KO |
importXcosDiagram |
KO |
loadScicosLibs |
KO |
openDiagramPath |
KO |
xcosBlockEval |
OK |
xcosBlockInterface |
OK |
xcosClearBlockWarning |
KO |
xcos_close |
KO |
xcosCodeGeneration |
KO |
xcos_compile |
KO |
xcosConfigureModelica |
KO |
xcos_open |
KO |
xcosPalAddBlock |
OK |
xcosPalAdd |
OK |
xcosPalExport |
OK |
xcosPal |
OK |
xcos_run |
KO |
xcosShowBlockWarning |
KO |
xcos_simulate |
KO |
Sundials code coverage
"Covering the code" means ensuring the whole correct behavior of the code.
To that effect, we run several tests that sollicit a major part of the code, the rest being the error handling, the non-extension parts and some unused Sundials features.
The following shell script checks that cvode.c and ida.c (the main programs) are as much sollicited as possible, assuming scilab was configured with --enable-code-coverage:
DRAFT
#CVode (cvode.c): ./bin/scilab -e 'test_run("scicos", "DoPri", "no_check_error_output"); test_run("scicos", "ExpRK", "no_check_error_output"); test_run("scicos", "ImpRK", "no_check_error_output"); importXcosDiagram("SCI/modules/xcos/demos/Temperature_Controller.xcos"); xcos_simulate(scs_m, 4); exit' #IDA (ida.c): ./bin/scilab -e 'importXcosDiagram("SCI/modules/xcos/demos/ModelicaBlocks/Hydraulics.xcos"); xcos_simulate(scs_m, 4); exit' #find . -name "*.gcda" -not -name "*scicos*" -exec rm {} + make code-coverage if [./coverage/scilab-code-coverage.info > 60.4%] echo "||CVode (cvode.c)||<: #80ff80> OK||" >&2 else echo "||CVode (cvode.c)||<: #ff8080> KO||" >&2 fi if [./coverage/scilab-code-coverage.info > 55.5%] echo "||IDA (ida.c)||<: #80ff80> OK||" >&2 else echo "||IDA (ida.c)||<: #ff8080> KO||" >&2 fi
CVode (cvode.c) |
OK |
IDA (ida.c) |
OK |
DRAFT