forked from perfsonar/pscheduler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-simplestream.tex
148 lines (99 loc) · 3.51 KB
/
test-simplestream.tex
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
%
% pScheduler Test Guide for Simplestream
%
\def\testname{simplestream}
% TODO: Add titlepage to the options.
\documentclass[10pt]{article}
\input pscheduler-tex.tex
\DRAFT
\title{pScheduler Test Guide: {\it \testname}}
\author{The perfSONAR Development Team}
\begin{document}
\maketitle
%
% INTRODUCTION
%
\section{Introduction}
The {\tt \testname} test establishes a TCP connection between two
participants (a {\it sender} and a {\it receiver}), sends some test
data and then closes the connection. This test is intended for use in
development and testing and not for use in producion.
This document describes schema version {\tt 1}.
\subsection{Participants}
This test includes the following participants:
\begin{center}
\begin{tabular}{|c|c|}
\hline
{\bf Number} & {\bf Role} \\
\hline
{\tt 0} & Sender \\
{\tt 1} & Receiver \\
\hline
\end{tabular}
\end{center}
%
% TEST SPECIFICATION
%
\section{Test Specification Format}
\subsection{Description}
The test specification consists of a single JSON object containing the
pairs below. \seejson
\typeditem{schema}{Cardinal} The schema version of this specification.
\typeditem{dest}{Host} The network address or hostname of the receiver.
\typeditem{dawdle}{Duration} Optional maximum amount of time the sender
may intentionally wait between the start of the test and establishing
the connection to the receiver. This value must be less than {\tt
timeout}. If not provided, the sender should begin the test
immediately. Tools implementing this test may select a random
duration between {\tt P0} and this value.
\typeditem{source}{Host} The network address or hostname of the sender.
\typeditem{test-material}{String} Optional text to be sent across the
connection. If not provided, the sender may send any data it chooses.
\typeditem{timeout}{Duration} The amount of time the receiver will wait
before declaring the test a failure. The default will be determined
by the tool executing the test.
\typeditem{fail}{Probablity} The probability that either participant
will abort with a forced error. The default value is {\tt 0}. This
should be used for test and debug only.
\subsection{Example}
\begin{lstlisting}[language=json]
{
"schema": 1,
"receiver": "test19.example.org",
"dawdle": "PT2S",
"test-material": "The quick brown fox jumped over the lazy dog's back.",
"timeout": "PT5S"
}
\end{lstlisting}
%
% RESULT FORMAT
%
\section{Result Format}
\subsection{Description}
The result consists of a single JSON object containing the pairs
below. \seejson
\typeditem{schema}{Cardinal} The schema version of the result.
\typeditem{dawdled}{Duration} The time the sender spend dawdling
before opening the connection.
\typeditem{elapsed-time}{Duration} The time elapsed between the start
of the test and when the sender closed the connection, as measured by
the receiver.
\typeditem{succeeded}{Boolean} Whether or not the test was successful.
\typeditem{dawdled}{Duration} How long the sender dawdled before
connecting to the receiver.
\typeditem{sent}{String} The test material sent by the sender.
\typeditem{received}{String} The test material received by the receiver.
\typeditem{elapsed-time}{Duration} The amount of time that elapsed between
the time the reciever started listening for a connection and the
\subsection{Example}
\begin{lstlisting}[language=json]
{
"schema": 1,
"succeeded": true,
"dawdled": "PT0.23498S",
"sent": "This is a test.",
"received": "This is a test.",
"elapsed-time": "PT3.14S"
}
\end{lstlisting}
\end{document}