Megatest

Check-in [68fc2bee9a]
Login
Overview
Comment:Completed capture of server logic in graphviz file, regenerated manual.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.80-revolution
Files: files | file ages | folders
SHA1: 68fc2bee9aff3a65f63f639f34387cd1ca278a7a
User & Date: matt on 2023-11-26 04:54:06
Other Links: branch diff | manifest | tags
Context
2023-11-27
17:06
new start up process implemented (but not tested) for main.db check-in: af90c933ed user: mrwellan tags: v1.80-revolution
10:46
Partial update. Doesn't compile Closed-Leaf check-in: 1afd10da9b user: matt tags: v1.80-revolution-fixme
2023-11-26
04:54
Completed capture of server logic in graphviz file, regenerated manual. check-in: 68fc2bee9a user: matt tags: v1.80-revolution
2023-11-25
19:13
Fixed typo check-in: 8153d00d77 user: matt tags: v1.80-revolution
Changes

Modified docs/manual/bisecting.png from [bd3e81c898] to [e53b1446a1].

cannot compute difference between binary files

Modified docs/manual/megatest-test-stages.png from [be4335ad64] to [ca3b2d5d71].

cannot compute difference between binary files

Modified docs/manual/megatest_manual.html from [a9391077b8] to [be54eaf622].

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 10.1.2">
<title>The Megatest Users Manual</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */

/* Default font. */
body {
  font-family: Georgia,serif;




|







1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 10.2.0">
<title>The Megatest Users Manual</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */

/* Default font. */
body {
  font-family: Georgia,serif;
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
Version 1.5<br>
Last updated
 2022-02-17 21:57:37 EST
</div>
</div>
</body>
</html>







|




3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
Version 1.5<br>
Last updated
 2023-11-24 20:56:43 EST
</div>
</div>
</body>
</html>

Modified docs/manual/megatest_manual.pdf from [6c9174739e] to [4b6e5717f3].

cannot compute difference between binary files

Modified docs/manual/server.dot from [5aa53ec964] to [0db71acc28].

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

//     Megatest is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU General Public License for more details.
// 
//     You should have received a copy of the GNU General Public License
//     along with Megatest.  If not, see <http://www.gnu.org/licenses/>.

digraph G {

        label = "Server Start Sequences";
        color=brown;


subgraph cluster_1 {


        node [style=filled,shape=box];

	label="Finding Server";

	START;
        HaveServ [label="Look at .servinfo\nfiles for prime main"]; 
	AskPrime [label="Ask Prime for main"];
	PingPrime [label="Ping Prime"];
	AskPrime [label="Ask .servinfo prime for server"];
	StartServ [label="Launch Server Process for main.db"];

      	START -> HaveServ;
	HaveServ -> PingPrime;
	PingPrime -> AskPrime [label="Got response"];
	PingPrime -> StartServ [label="No reponse"];
	HaveServ -> StartServ [label="No files"];
	StartServ -> "Delay 2s" -> START;
        AskPrime -> DONE;

//	check_available_queue       -> remove_entries_over_10s_old;

//	remove_entries_over_10s_old -> set_available [label="num_avail < 3"];

//	remove_entries_over_10s_old -> exit [label="num_avail > 2"];
//
//	set_available               -> delay_2s;
//	delay_2s          -> check_place_in_queue;
//
//	check_place_in_queue        -> "http:transport-launch" [label="at head"];
//	check_place_in_queue        -> exit [label="not at head"];
//
//	"client:login"              -> "server:shutdown" [label="login failed"];
//	"server:shutdown"           -> exit;

	}

	subgraph cluster_2 {
//		"http:transport-launch"       -> "http:transport-run";
//		"http:transport-launch"       -> "http:transport-keep-running";
//
//		"http:transport-keep-running" -> "tests running?";
//		"tests running?"              -> "client:login" [label=yes];

//		"tests running?"              -> "server:shutdown" [label=no];
//		"client:login"                -> delay_5s [label="login ok"];
		delay_5s                      -> "http:transport-keep-running";
	}



	// start_server -> "server_running?";
	// "server_running?" -> set_available [label="no"];
	// "server_running?" -> delay_2s [label="yes"];
	// delay_2s -> "still_running?";
	// "still_running?" -> ping_server [label=yes];
	// "still_running?" -> set_available [label=no];
	// ping_server -> exit [label=alive];
	// ping_server -> remove_server_record [label=dead];
	// remove_server_record -> set_available;
	// set_available -> avail_delay [label="delay 3s"];
	// avail_delay -> "first_in_queue?";
	// 
	// "first_in_queue?" -> set_running [label=yes];
	// set_running -> get_next_port -> handle_requests;
	// "first_in_queue?" -> "dead_entry_in_queue?" [label=no];
	// "dead_entry_in_queue?" -> "server_running?" [label=no];
	// "dead_entry_in_queue?" -> "remove_dead_entries" [label=yes];
	// remove_dead_entries -> "server_running?";
	// 
	// handle_requests -> start_shutdown [label="no traffic\nno running tests"];
	// handle_requests -> shutdown_request;
	// start_shutdown -> shutdown_delay;
	// shutdown_request -> shutdown_delay;
	// shutdown_delay -> exit;
	
    }








>


|
|
>

|
>
>

|
<
<






|







|
|
>
|
>
|
<
<
<
<
|
|
|
<
|
>
|

|
<
<
<
<
|
>
|
|
<
<
|
>
>
|
|
|
<
|
<
|
|
<
|
<
<
|
|
<
<
<
|
<
|
<
|
|
<
|
|
>
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
//     Megatest is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU General Public License for more details.
// 
//     You should have received a copy of the GNU General Public License
//     along with Megatest.  If not, see <http://www.gnu.org/licenses/>.

digraph G {

    label = "Server Start Sequences";
    color=brown;
    rankdir="TB";

    subgraph cluster_1 {
	label="Find Prime Main Server";
	
        node [style=filled,shape=box];
	


	START;
        HaveServ [label="Look at .servinfo\nfiles for prime main"]; 
	AskPrime [label="Ask Prime for main"];
	PingPrime [label="Ping Prime"];
	AskPrime [label="Ask .servinfo prime for server"];
	StartServ [label="Launch Server Process for main.db"];
	
      	START -> HaveServ;
	HaveServ -> PingPrime;
	PingPrime -> AskPrime [label="Got response"];
	PingPrime -> StartServ [label="No reponse"];
	HaveServ -> StartServ [label="No files"];
	StartServ -> "Delay 2s" -> START;
        AskPrime -> DONE;
    }
    
    subgraph cluster_2 {
	label="Starting non-prime server"
        node [style=filled,shape=box];
	StartTCPServer [label="Start tcp server"];




	FindPrimeMain [label="Find Prime Main Server"];
	RegisterProcessViaPrime [label="Register process via prime server"];


	StartTCPServer -> FindPrimeMain -> START;
	DONE -> RegisterProcessViaPrime -> READY;
    }

    subgraph cluster_3 {




	label="Start Prime Main"
        node [style=filled,shape=box];
	StartTCPServer_prime [label="Start tcp server"];
	GetServInfoFiles [label="Get servinfo files"];


	CreateServInfoFile [label="Create servinfo file"];
	RegisterProcess [label="Register process in no-sync (direct access)"];
	ValidateServInfoFiles [label="Validate servinfo files with ping\nremove any files which do not respond to ping"];

	CheckHost [label="Verify that current host matches\nexisting servinfo files host"]
	StartTCPServer_prime -> GetServInfoFiles;

	GetServInfoFiles -> CreateServInfoFile [label="No servinfo\nfiles"];

	GetServInfoFiles -> ValidateServInfoFiles;
	ValidateServInfoFiles -> CreateServInfoFile [label="No valid files"];

	CreateServInfoFile -> GetServInfoFiles [label="servinfo file created"];


	KeepRunning [label="READY"];
		     



	ValidateServInfoFiles -> CheckHost;

	CheckHost -> RegisterProcess [label="Have valid\nservinfo files and same host"];

	RegisterProcess -> KeepRunning;
	CheckHost -> EXIT [label="Not same host"];	

    }
}

Modified docs/manual/server.png from [1d88218ac4] to [7aa70fd832].

cannot compute difference between binary files