From 42648bb24087de15a29e55a701221040d1ee3a09 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20K=C5=99enek?= Date: Thu, 26 May 2005 13:42:30 +0000 Subject: [PATCH] draft poslany Maite --- org.glite.lb/doc/frontmatter.tex | 41 +++++++++++++ org.glite.lb/doc/testplan.tex | 125 +++++++++++++++++++++++++++++++++++---- 2 files changed, 156 insertions(+), 10 deletions(-) create mode 100644 org.glite.lb/doc/frontmatter.tex diff --git a/org.glite.lb/doc/frontmatter.tex b/org.glite.lb/doc/frontmatter.tex new file mode 100644 index 0000000..0fba2c5 --- /dev/null +++ b/org.glite.lb/doc/frontmatter.tex @@ -0,0 +1,41 @@ +\begin{center} +{\bf Delivery Slip} +\end{center} +\begin{tabularx}{\textwidth}{|l|l|l|X|X|} +\hline + & {\bf Name} & {\bf Partner} & {\bf Date} & {\bf Signature} \\ +\hline +{\bf From} & Ale\v s K\v{r}enek et al.& CESNET & May 28, 2005 & \\ +\hline +{\bf Reviewed by} & & & & \\ + +\hline +{\bf Approved by} & & & & \\ +\hline +\end{tabularx} + +\begin{center} +{\bf Document Change Log} +\end{center} + +\begin{tabularx}{\textwidth}{|l|l|X|X|} +\hline +{\bf Issue } & {\bf Date } & {\bf Comment } & {\bf Author } \\ \hline +Initial version & Feb 28, 2005 & & A. K\v{r}enek \\ \hline +Reviewer's comments & Mar 25, 2005 & comments reflected & A. K\v{r}enek \\ +\hline +\end{tabularx} + +\begin{center} +{\bf Document Change Record} +\end{center} + +\begin{tabularx}{\textwidth}{|l|l|X|} +\hline +{\bf Issue } & {\bf Item } & {\bf Reason for Change } \\ \hline + + +\hline +\end{tabularx} + +\input{copyright} diff --git a/org.glite.lb/doc/testplan.tex b/org.glite.lb/doc/testplan.tex index f4655c1..e089afc 100644 --- a/org.glite.lb/doc/testplan.tex +++ b/org.glite.lb/doc/testplan.tex @@ -16,11 +16,13 @@ \def\how{\noindent\textbf{How to run:}} \def\result{\noindent\textbf{Expected result:}} -\def\path#1{\textsf{#1}} -\def\code#1{\textsf{#1}} +\def\path#1{{\normalfont\textsf{#1}}} +\def\code#1{\texttt{#1}} +\def\todo#1{\textbf{TODO:} #1} -\specialcomment{hints}{\par\noindent\textbf{Hints: }\begingroup\itshape}{\endgroup} + +\specialcomment{hints}{\par\noindent\textbf{Hints: }\begingroup\slshape}{\endgroup} %\includecomment{hints} \begin{document} @@ -30,6 +32,12 @@ \tableofcontents \newpage +\section{Rationale} +\todo{} + +\section{Test Coverage} +\todo{} + \section{Test Cases} \subsection{Event delivery} @@ -99,10 +107,14 @@ format as the locallogger files. \req\ all \LB\ daemons running (\path{glite-lb-logd}, \path{glite-lb-interlogd}, \path{glite-lb-bkserverd} -\how\ Register jobs with \code{edg\_wll\_RegsterJob} and log reasonable -sequences of events with \code{edg\_wll\_Log*}. -Check with \code{edg\_wll\_JobLog} +\how\ +\begin{enumerate} + +\item Register jobs with \code{edg\_wll\_RegsterJob} +\item Log reasonable sequences of events with \code{edg\_wll\_Log*}. +\item Check with \code{edg\_wll\_JobLog} that the events got delivered afterwards (approx. 10s). +\end{enumerate} \result\ API calls should return 0. The same events that were logged must be returned. @@ -136,31 +148,124 @@ in the job state same as the `*' part of the script name. \subsubsection{DAG job states} -\textbf{TODO} +\todo{} % specialni stav DAGu, histogram potomku \subsection{LB proxy} -\textbf{TODO} -% proxy -- honik +\todo{honik} \subsection{Notifications} % notifikace % regjob, reg notifikace na vsechno, poslat udalosti, hlidat notif +\subsubsection{Single job, any state change} +\label{notif1} +\req\ All \LB\ services running + +\how +\begin{enumerate} +\item Register a job. +\item Start a~notification client (preferably on another machine), +register with \code{edg\_wll\_NotifNew} for any state changes of the job, +and repeatedly invoke \code{edg\_wll\_NotifReceive}. +\item One by one send events triggering job state change. +\end{enumerate} + +\result\ All the events should trigger notification reported by the running +notification client. + +\begin{hints} +\path{glite-lb-notify} example can be used with its \path{test} command. +\end{hints} + +\subsubsection{Additional notification criteria} +\label{notif-complex} +\req\ All \LB\ services running + +\how\ Like~\ref{notif1} but include additional criteria, +e.g. job is scheduled for a~specific destination. + +\result\ Only notifications matching the criteria should be delivered. % rozsireni dotazu o dalsi job +\subsubsection{Include another job} +\label{notif2} +\req\ All \LB\ services running, notification from \ref{notif1} still active + +\how\ +\begin{enumerate} +\item Register another job. +\item Augment the notification registration with the new jobid using +\code{edg\_wll\_NotifChange}. +\item Start notification client, bind to the registration with +\code{edg\_wll\_NotifBind}. +\item Send events for the new job. +\end{enumerate} + +\result\ Notifications should be received by the client. + +\begin{hints} +Commands \path{change} and \path{receive} of \path{glite-lb-notify} +can be used. +\end{hints} % notifikace -- zmena adresy/portu % pak poslat udalost, musi dojit +% uz je v predchozim implicitne +\subsubsection{Delayed delivery} % notifikace -- zpozdene doruceni % registrovat, odpojit, poslat udalosti, pripojit se +\req\ All \LB\ services running + +\how\ +\begin{enumerate} +\item Register another job. +\item Register a~notification as in~\ref{notif1} but terminate the client +immediately. +\item Log events for the job. +\item Restart the client, binding to the notification and call +\code{edg\_wll\_NotifReceive} repeatedly. +\end{enumerate} + +\result\ Delayed notifications should be received by the client almost +immediately. + \subsection{Server purge} -% purge +\textbf{WARNING: This test is destructive, it destroys ALL data in an +existing \LB\ database.} + +The test is fairly complex but it does not make too much sense to split it +artificially. + +\req\ All \LB services running, preferably a~dedicated server for this test. + +\how +\begin{enumerate} +\item Purge all data on the server with \path{glite-lb-purge} +\item Log two sets of jobs, separated with delay of at least 60s so +that the sets can be distinguished from each other. +\item \label{purgel} +Using \code{edg\_wll\_JobLog} retrieve events of all the jobs +\item \label{purge1} +Purge the first set of jobs (by specifying appropriate timestamp), +letting the server dump the purged events. +\item \label{purge2} Purge the other set of jobs, also dumping the events. +\item \label{purge3} Run purge once more. +\end{enumerate} + +\result\ The data dumped in steps \ref{purge1}, \ref{purge2} should be the +same as retrieved in~\ref{purgel}. The final purge invocation should +do nothing (i.e. nothing was left in the database). + % test_purge +\begin{hints} +The example \path{glite-lb-test\_purge} does exactly this sequence of steps, +including the checks. +\end{hints} \end{document} -- 1.8.2.3