Natools

Check-in [49fd23378a]
Login
Overview
Comment:s_expressions-lockable-tests: deepen the test on unwinding, to double-check the new Generic_Caches unwinding
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 49fd23378abffadb2d041b594969958d9ef00801
User & Date: nat on 2014-07-22 18:40:57
Other Links: manifest | tags
Context
2014-07-23
20:16
s_expressions-printers-pretty-tests: add a test for expression width computations check-in: 2805404e82 user: nat tags: trunk
2014-07-22
18:40
s_expressions-lockable-tests: deepen the test on unwinding, to double-check the new Generic_Caches unwinding check-in: 49fd23378a user: nat tags: trunk
2014-07-21
18:33
s_expressions-generic_caches: use Parent links to unwind levels much faster when unlocking check-in: 66590abe20 user: nat tags: trunk
Changes

Modified tests/natools-s_expressions-lockable-tests.adb from [7792651601] to [0285f4671d].

23
24
25
26
27
28
29

30
31
32
33
34
35
36
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37







+







   -- Lockable.Descriptor Tests --
   -------------------------------

   function Test_Expression return Atom is
   begin
      return To_Atom ("(begin(command1 arg1.1 arg1.2)"
        & "(command2 (subcmd2.1 arg2.1.1) (subcmd2.3) arg2.4)"
        & "(command3 (subcmd3.1 ((subcmd3.1.1 arg3.1.1.1)) arg3.1.2))"
        & "end)5:extra");
   end Test_Expression;


   procedure Test_Interface
     (Test : in out NT.Test;
      Object : in out Lockable.Descriptor'Class)
107
108
109
110
111
112
113












114
115
116
117
118
119
120
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133







+
+
+
+
+
+
+
+
+
+
+
+







         if Level /= 0 then
            Test.Fail ("Current level is" & Natural'Image (Level)
              & ", expected 0");
         end if;
      end;

      Object.Unlock (Level_1);

      Test_Tools.Next_And_Check (Test, Object, Events.Open_List, Base + 1);
      Test_Tools.Next_And_Check (Test, Object, To_Atom ("command3"), Base + 1,
        "Before third lock:");
      Object.Lock (Level_1);
      Test_Tools.Test_Atom_Accessors (Test, Object, To_Atom ("command3"), 0,
        "After third lock:");
      Test_Tools.Next_And_Check (Test, Object, Events.Open_List, 1);
      Test_Tools.Next_And_Check (Test, Object, To_Atom ("subcmd3.1"), 1);
      Test_Tools.Next_And_Check (Test, Object, Events.Open_List, 2);
      Test_Tools.Next_And_Check (Test, Object, Events.Open_List, 3);
      Object.Unlock (Level_1);

      Test_Tools.Next_And_Check (Test, Object, To_Atom ("end"), Base);
      Test_Tools.Next_And_Check (Test, Object, Events.Close_List, Base - 1);
      Test_Tools.Next_And_Check (Test, Object, To_Atom ("extra"), Base - 1);
      Object.Lock (Level_1);
      Test_Tools.Test_Atom_Accessors (Test, Object, To_Atom ("extra"), 0);
      Object.Unlock (Level_1);