File: ManualTests.txt

package info (click to toggle)
libjgroups-java 2.12.2.Final-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,712 kB
  • sloc: java: 109,098; xml: 9,423; sh: 149; makefile: 2
file content (207 lines) | stat: -rw-r--r-- 3,882 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207


Group Membership Service (GMS) Protocol
=======================================


Hopefully these tests can be automated some time in the
future. Currently it takes too much time to write automatic tests. The
tests should be executed before releasing a new version of JGroups.

- All the tests use the JGroups/Demos/Draw program
- All tests should be run with both FD and FD_SOCK
- All test should be run with FLUSH (flush-udp.xml) and without FLUSH (udp.xml)


When *FD only* is used make sure that timeout and max_tries are relatively low. For example,
timeout="2000" and max_tries="3" are good reference values. These settings are important 
for tests 9,10 and 12.

'Leave' means exit the demo program gracefully, ie. through
"Leave&Exit".
'Kill' means just kill the process id



Test 1
------

- Start A, B
- Leave B
  --> B should leave and window should disappear
  --> A should show 1 member



Test 2
------

- Start A, B
- Kill B
  --> B should be suspected
  --> A should show 1 member
(run with FD_SOCK first, then with FD only)


Test 3
------

- Test 3
- Repeatedly start B and kill B
  --> A should always show the correct mbrship



Test 4
------

- Start A, B
- Leave A
  --> A should leave and window should disappear
  --> B should be new coordinator
  --> B should show 1 member


Test 4.1
--------
- Start A, B, C
- Leave A
- Leave B
- Leave C
- Everyone should be able to leave gracefully, no error messages such as
  "FD_SOCK.up(): I was suspected by 192.168.5.2:1466; ignoring the SUSPECT message"


Test 5
------

- Start A, B
- Kill A
  --> A should be suspected
  --> B should become new coordinator
  --> B should show 1 member


Test 6
------

- Start A, B, C, D
- Kill B and C
  --> A and D should show 2 members


Test 7
------

- Start A, B, C, D
- Kill A, B, C simultaneously
  --> D should become new coordinator
  --> D should show 1 member



Test 8
------

- Start A
- Leave A
  --> A should leave in a short time (no hangs)




Test 9
------
- Start A and B concurrently
- They should form a group of 2


Test 10
-------

- Start 20 instances
- Mbrship should be 20
- Kill and leave members randomly
- Last member should show mbrship=1


Test 10a
--------
- Start 10 instances in shell #1
- Start 1 instance in shell #2
- Kill shell #1
- The view of the only surviving instance should be 1


Test 11
-------

- Start A, B
- Suspend A (CTRL-Z)
- Wait until B shows membershiop of 1, then resume A (fg)
- A and B needs to merge back into a group of 2



Pull-the-plug scenarios
=======================

- Run Draw with udp.xml, tcp.xml and tcp-nio.xml, those configurations may need to be adjusted to use
  the IP addresses of the 2 nodes
- Make sure loopback=true in UDP/TCP/TCP_NIO if running on Windows
- 2 nodes, node 1 and node 2, connected to a switch


Test 12
-------

- Pull the plug on node 2
- Node 1 and node 2 should each show 1 member
- Put the plug back in
- Nodes 1 and 2 should merge into a group of 2

Test 13
-------

- Pull the plug on node 1 and node 2
- Node 1 and node 2 should each show 1 member
- Put the plugs back in
- Nodes 1 and 2 should merge into a group of 2


Test 14
-------

- Pull the plug of nodes 1 and 2 *on the switch side*
- Node 1 and node 2 should each show 1 member
- Put the plugs back in
- Nodes 1 and 2 should merge into a group of 2


Test 15
-------

- Kill the switch (pull the power)
- Node 1 and node 2 should each show 1 member
- Power the switch back up
- Nodes 1 and 2 should merge into a group of 2

Test 16
-------
- Kill the switch (or pull the plugs on all nodes)
- Power up the switch (or reinsert the plugs)
- After the merge:
  - Leave the new coordinator
  - The leave should immediately install a new view
    (bug: http://jira.jboss.com/jira/browse/JGRP-350)


Test 17
-------
- Run tests 16-20 with 3 nodes

Test 18
-------
- Run Test 16 with DrawMultiplexer with "tcp" stack