// Copyright 2006-2017, Matthew Welland.
//
// This file is part of Megatest.
//
// Megatest is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// 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 megatest_state_status {
ranksep=0.05;
// rankdir=LR
node [shape=box,style=filled];
"START" -> "have_server";
"DONE" [label="ALL DONE"];
"send_request" -> "receive_response";
"receive_response" -> "DONE";
"have_server" -> "start_http_server" [label="no"];
subgraph cluster_start_server {
label="Start Server";
"start_http_server" -> "create_servinfo_file";
"start_http_server" -> "enable_direct_mode";
"create_servinfo_file" -> "delay_60_sec";
"delay_60_sec" -> "set_up_tmp_cache";
"set_up_tmp_cache" -> "switch_mode_to_tmp";
}
subgraph cluster_direct_access {
label="Direct Access";
"direct_access" -> "touch_access_file";
"touch_access_file" -> "touch_host_pid_file";
"touch_host_pid_file" -> "count_host_pid_files";
"count_host_pid_files" -> "call_query_proc" [label="count < 5"];
"wait_for_low_count_host_pid_files" [label="sleep 1"];
"count_host_pid_files" -> "wait_for_low_count_host_pid_files"[label="count >= 5"];
"wait_for_low_count_host_pid_files" -> "count_host_pid_files";
"call_query_proc" -> "DONE";
}
"have_server" -> "ping_server" [label="yes"];
"have_server" -> "direct_access" [label="no" ];
"ping_server" -> "send_request" [label="server alive"];
"ping_server" -> "remove_server_file" [label="server not alive"];
"remove_server_file" -> "START";
}
// subgraph cluster_notstarted {
// label="Not started";
// "NOT_STARTED FAILS" [
// label = "{ NOT_STARTED/FAILS |{ NO_ITEMS |<here> FAIL_PREREQ |<here> FAIL_TIMEOUT }}";
// shape= "record";
// ]
//
// "NOT_STARTED n/a" -> "LAUNCHED n/a" [label=" launch"];
// "NOT_STARTED WAIT" -> "LAUNCHED n/a"
//
// "NOT_STARTED n/a";
// "NOT_STARTED WAIT" [
// label = "{NOT_STARTED WAIT|{ NO_SLOTS | <here> WAIT_PREREQ}}";
// shape = "record";
// ]
//
// // struct3 [shape=record,label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
//
// "NOT_STARTED n/a" -> "NOT_STARTED FAILS";
// "NOT_STARTED n/a" -> "NOT_STARTED WAIT";
//
// "RUNNING" [
// shape="record";
// label="{RUNNING|{n/a|<here> PASS |<here> FAIL}}";
// ]
//
// "COMPLETED" [
// shape="record";
// label = "{COMPLETED|{PASS | SKIP | WAIVED | FAIL | CHECK| ABORT}}";
// ]
//
//
// "RUNNING" -> "COMPLETED";
// "RUNNING" -> "INCOMPLETE" [label="test dead for > 24hrs"];
//
//
// "LAUNCHED n/a" -> "REMOTEHOSTSTART n/a" -> "RUNNING";