1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2015 - Scilab Enterprises - Paul Bignier
4//
5//  This file is distributed under the same license as the Scilab package.
6// =============================================================================
7//
8// <-- CLI SHELL MODE -->
9loadXcosLibs();
10scicos_log("TRACE");
11scs_m = scicos_diagram( objs=list(scicos_block()) );
12Xcos info:    objectCreated( 1 , BLOCK )
13Xcos trace:   objectReferenced( 1 , BLOCK ) : 1
14Xcos trace:   propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
15Xcos trace:   propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
16Xcos trace:   propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
17Xcos trace:   propertyUpdated( 1 , BLOCK , DESCRIPTION ) : NO_CHANGES
18Xcos trace:   propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
19Xcos trace:   objectUnreferenced( 1 , BLOCK ) : 0
20Xcos trace:   objectReferenced( 1 , BLOCK ) : 1
21Xcos trace:   propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
22Xcos trace:   propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
23Xcos trace:   propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
24Xcos trace:   propertyUpdated( 1 , BLOCK , DSTATE ) : NO_CHANGES
25Xcos trace:   propertyUpdated( 1 , BLOCK , ODSTATE ) : NO_CHANGES
26Xcos trace:   propertyUpdated( 1 , BLOCK , RPAR ) : NO_CHANGES
27Xcos trace:   propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
28Xcos trace:   propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES
29Xcos trace:   propertyUpdated( 1 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
30Xcos trace:   propertyUpdated( 1 , BLOCK , SIM_DEP_UT ) : NO_CHANGES
31Xcos trace:   propertyUpdated( 1 , BLOCK , DESCRIPTION ) : NO_CHANGES
32Xcos trace:   propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
33Xcos trace:   propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
34Xcos trace:   propertyUpdated( 1 , BLOCK , EQUATIONS ) : NO_CHANGES
35Xcos trace:   propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
36Xcos trace:   objectUnreferenced( 1 , BLOCK ) : 0
37Xcos trace:   propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
38Xcos info:    objectCreated( 2 , DIAGRAM )
39Xcos trace:   objectReferenced( 2 , DIAGRAM ) : 1
40Xcos trace:   propertyUpdated( 2 , DIAGRAM , TITLE ) : NO_CHANGES
41Xcos trace:   propertyUpdated( 2 , DIAGRAM , PATH ) : NO_CHANGES
42Xcos trace:   propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
43Xcos trace:   propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
44Xcos trace:   propertyUpdated( 2 , DIAGRAM , CONTEXT ) : NO_CHANGES
45Xcos trace:   objectUnreferenced( 2 , DIAGRAM ) : 0
46Xcos trace:   objectReferenced( 1 , BLOCK ) : 1
47Xcos debug:   propertyUpdated( 1 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
48Xcos trace:   propertyUpdated( 1 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
49Xcos debug:   propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
50Xcos debug:   propertyUpdated( 2 , DIAGRAM , VERSION_NUMBER ) : SUCCESS
51Xcos trace:   objectUnreferenced( 1 , BLOCK ) : 0
52scs_m.props.context = ["My context"; "with two lines"];
53Xcos trace:   objectReferenced( 2 , DIAGRAM ) : 1
54Xcos trace:   objectUnreferenced( 2 , DIAGRAM ) : 0
55Xcos trace:   objectReferenced( 2 , DIAGRAM ) : 1
56Xcos trace:   propertyUpdated( 2 , DIAGRAM , TITLE ) : NO_CHANGES
57Xcos trace:   propertyUpdated( 2 , DIAGRAM , PATH ) : NO_CHANGES
58Xcos trace:   propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
59Xcos trace:   propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
60Xcos debug:   propertyUpdated( 2 , DIAGRAM , CONTEXT ) : SUCCESS
61Xcos trace:   objectUnreferenced( 2 , DIAGRAM ) : 0
62assert_checkequal(scs_m.props.context, ["My context"; "with two lines"]);
63Xcos trace:   objectReferenced( 2 , DIAGRAM ) : 1
64Xcos trace:   objectUnreferenced( 2 , DIAGRAM ) : 0
65super = scicos_block();
66Xcos info:    objectCreated( 3 , BLOCK )
67Xcos trace:   objectReferenced( 3 , BLOCK ) : 1
68Xcos trace:   propertyUpdated( 3 , BLOCK , GEOMETRY ) : NO_CHANGES
69Xcos trace:   propertyUpdated( 3 , BLOCK , GEOMETRY ) : NO_CHANGES
70Xcos trace:   propertyUpdated( 3 , BLOCK , EXPRS ) : NO_CHANGES
71Xcos trace:   propertyUpdated( 3 , BLOCK , DESCRIPTION ) : NO_CHANGES
72Xcos trace:   propertyUpdated( 3 , BLOCK , STYLE ) : NO_CHANGES
73Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 0
74Xcos trace:   objectReferenced( 3 , BLOCK ) : 1
75Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
76Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
77Xcos trace:   propertyUpdated( 3 , BLOCK , STATE ) : NO_CHANGES
78Xcos trace:   propertyUpdated( 3 , BLOCK , DSTATE ) : NO_CHANGES
79Xcos trace:   propertyUpdated( 3 , BLOCK , ODSTATE ) : NO_CHANGES
80Xcos trace:   propertyUpdated( 3 , BLOCK , RPAR ) : NO_CHANGES
81Xcos trace:   propertyUpdated( 3 , BLOCK , IPAR ) : NO_CHANGES
82Xcos trace:   propertyUpdated( 3 , BLOCK , OPAR ) : NO_CHANGES
83Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
84Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_DEP_UT ) : NO_CHANGES
85Xcos trace:   propertyUpdated( 3 , BLOCK , DESCRIPTION ) : NO_CHANGES
86Xcos trace:   propertyUpdated( 3 , BLOCK , NZCROSS ) : NO_CHANGES
87Xcos trace:   propertyUpdated( 3 , BLOCK , NMODE ) : NO_CHANGES
88Xcos trace:   propertyUpdated( 3 , BLOCK , EQUATIONS ) : NO_CHANGES
89Xcos trace:   propertyUpdated( 3 , BLOCK , UID ) : NO_CHANGES
90Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 0
91Xcos trace:   propertyUpdated( 3 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
92super.model.rpar = scs_m;
93Xcos trace:   objectReferenced( 3 , BLOCK ) : 1
94Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 0
95Xcos trace:   objectReferenced( 3 , BLOCK ) : 1
96Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
97Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
98Xcos trace:   propertyUpdated( 3 , BLOCK , STATE ) : NO_CHANGES
99Xcos trace:   propertyUpdated( 3 , BLOCK , DSTATE ) : NO_CHANGES
100Xcos trace:   propertyUpdated( 3 , BLOCK , ODSTATE ) : NO_CHANGES
101Xcos trace:   objectReferenced( 3 , BLOCK ) : 2
102Xcos trace:   objectReferenced( 1 , BLOCK ) : 1
103Xcos info:    objectCreated( 4 , BLOCK )
104Xcos info:    objectCloned( 1 , 4 , BLOCK )
105Xcos trace:   propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
106Xcos trace:   propertyUpdated( 4 , BLOCK , DESCRIPTION ) : NO_CHANGES
107Xcos trace:   propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
108Xcos trace:   propertyUpdated( 4 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
109Xcos trace:   propertyUpdated( 4 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
110Xcos trace:   propertyUpdated( 4 , BLOCK , UID ) : NO_CHANGES
111Xcos trace:   propertyUpdated( 4 , BLOCK , STYLE ) : NO_CHANGES
112Xcos trace:   propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
113Xcos trace:   propertyUpdated( 4 , BLOCK , EXPRS ) : NO_CHANGES
114Xcos trace:   propertyUpdated( 4 , BLOCK , STATE ) : NO_CHANGES
115Xcos trace:   propertyUpdated( 4 , BLOCK , DSTATE ) : NO_CHANGES
116Xcos trace:   propertyUpdated( 4 , BLOCK , ODSTATE ) : NO_CHANGES
117Xcos trace:   propertyUpdated( 4 , BLOCK , RPAR ) : NO_CHANGES
118Xcos trace:   propertyUpdated( 4 , BLOCK , OPAR ) : NO_CHANGES
119Xcos trace:   propertyUpdated( 4 , BLOCK , EQUATIONS ) : NO_CHANGES
120Xcos trace:   propertyUpdated( 4 , BLOCK , SIM_DEP_UT ) : NO_CHANGES
121Xcos trace:   propertyUpdated( 4 , BLOCK , NZCROSS ) : NO_CHANGES
122Xcos trace:   propertyUpdated( 4 , BLOCK , NMODE ) : NO_CHANGES
123Xcos trace:   propertyUpdated( 4 , BLOCK , IPAR ) : NO_CHANGES
124Xcos trace:   propertyUpdated( 4 , BLOCK , COLOR ) : NO_CHANGES
125Xcos trace:   propertyUpdated( 4 , BLOCK , CONTEXT ) : NO_CHANGES
126Xcos trace:   propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : NO_CHANGES
127Xcos trace:   propertyUpdated( 4 , BLOCK , INPUTS ) : NO_CHANGES
128Xcos trace:   propertyUpdated( 4 , BLOCK , OUTPUTS ) : NO_CHANGES
129Xcos trace:   propertyUpdated( 4 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
130Xcos trace:   propertyUpdated( 4 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
131Xcos trace:   propertyUpdated( 4 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
132Xcos trace:   propertyUpdated( 4 , BLOCK , CHILDREN ) : NO_CHANGES
133Xcos trace:   objectReferenced( 4 , BLOCK ) : 1
134Xcos trace:   propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : NO_CHANGES
135Xcos debug:   propertyUpdated( 4 , BLOCK , PARENT_BLOCK ) : SUCCESS
136Xcos debug:   propertyUpdated( 3 , BLOCK , CHILDREN ) : SUCCESS
137Xcos trace:   objectUnreferenced( 4 , BLOCK ) : 0
138Xcos trace:   objectUnreferenced( 1 , BLOCK ) : 0
139Xcos trace:   objectReferenced( 2 , DIAGRAM ) : 1
140Xcos trace:   objectUnreferenced( 2 , DIAGRAM ) : 0
141Xcos trace:   objectReferenced( 3 , BLOCK ) : 3
142Xcos debug:   propertyUpdated( 3 , BLOCK , DESCRIPTION ) : SUCCESS
143Xcos debug:   propertyUpdated( 3 , BLOCK , CONTEXT ) : SUCCESS
144Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 2
145Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 1
146Xcos trace:   propertyUpdated( 3 , BLOCK , IPAR ) : NO_CHANGES
147Xcos trace:   propertyUpdated( 3 , BLOCK , OPAR ) : NO_CHANGES
148Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
149Xcos trace:   propertyUpdated( 3 , BLOCK , SIM_DEP_UT ) : NO_CHANGES
150Xcos debug:   propertyUpdated( 3 , BLOCK , DESCRIPTION ) : SUCCESS
151Xcos trace:   propertyUpdated( 3 , BLOCK , NZCROSS ) : NO_CHANGES
152Xcos trace:   propertyUpdated( 3 , BLOCK , NMODE ) : NO_CHANGES
153Xcos trace:   propertyUpdated( 3 , BLOCK , EQUATIONS ) : NO_CHANGES
154Xcos trace:   propertyUpdated( 3 , BLOCK , UID ) : NO_CHANGES
155Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 0
156// Check that the simple diagram's context is equal to the superblock's diagram's context (it has been preserved)
157assert_checkequal(super.model.rpar.props.context, scs_m.props.context);
158Xcos trace:   objectReferenced( 3 , BLOCK ) : 1
159Xcos trace:   objectReferenced( 3 , BLOCK ) : 2
160Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 1
161Xcos trace:   objectReferenced( 3 , BLOCK ) : 2
162Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 1
163Xcos trace:   objectUnreferenced( 3 , BLOCK ) : 0
164Xcos trace:   objectReferenced( 2 , DIAGRAM ) : 1
165Xcos trace:   objectUnreferenced( 2 , DIAGRAM ) : 0
166// Check that all the model items are freed
167clear
168Xcos debug:   propertyUpdated( 1 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
169Xcos info:    objectDeleted( 1 , BLOCK )
170Xcos info:    objectDeleted( 2 , DIAGRAM )
171Xcos debug:   propertyUpdated( 3 , BLOCK , CHILDREN ) : SUCCESS
172Xcos info:    objectDeleted( 4 , BLOCK )
173Xcos info:    objectDeleted( 3 , BLOCK )
174