Added a README file regarding WinRT support

To note, this file is currently formatted with CRLF line endings, rather than
LF, to allow the file to be viewed with Notepad.
This commit is contained in:
David Ludwig
2014-04-09 21:29:19 -04:00
commit 3dcb451f85
1838 changed files with 474982 additions and 0 deletions

View File

@@ -0,0 +1,193 @@
\hypertarget{_s_d_l__visualtest__action__configparser_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.h File Reference}
\label{_s_d_l__visualtest__action__configparser_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action}
\item
struct \hyperlink{struct_s_d_l_visual_test___action_node}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}
\item
struct \hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
\#define \hyperlink{_s_d_l__visualtest__action__configparser_8h_a19244c2e1556665be344807ace1556ed}{M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}~300
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} \hyperlink{_s_d_l__visualtest__action__configparser_8h_a89974e9149bfca6aabb3ff06cc9671d7}{S\-D\-L\-Visual\-Test\-\_\-\-Action}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___action_node}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node} \hyperlink{_s_d_l__visualtest__action__configparser_8h_a065d1acf0f98bde777d10bd8ab24d268}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} \hyperlink{_s_d_l__visualtest__action__configparser_8h_ac9ce1bb69d8774d1818c9f9d0f97c7f1}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum \hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type} \{ \\*
\hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6ac5344bca6af9c07c4ee69ee4c2b18df2}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-A\-U\-N\-C\-H} = 0,
\hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6a87880c4f665344d4c3e12f9aa3af7410}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-K\-I\-L\-L},
\hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6ad3d17a830b7e1e46e37d916130d8802a}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-Q\-U\-I\-T},
\hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6af9b5d42cb90bf843f298be4593992fdb}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-S\-C\-R\-E\-E\-N\-S\-H\-O\-T},
\\*
\hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6a0853f8be8363015b822658b9f3b013f4}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-V\-E\-R\-I\-F\-Y}
\}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__action__configparser_8h_a647d1be8f0f27af2fb1e5d4da2100596}{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue, \hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} action)
\item
int \hyperlink{_s_d_l__visualtest__action__configparser_8h_a0e7998533e6e10590612a8d5dee7ec0b}{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
void \hyperlink{_s_d_l__visualtest__action__configparser_8h_ae68c1c80f728e125869882139bec2c9e}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
\hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} $\ast$ \hyperlink{_s_d_l__visualtest__action__configparser_8h_afb508801942e7c74084480bcdb6f8613}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
int \hyperlink{_s_d_l__visualtest__action__configparser_8h_a8484ee36f78952192d4193c85fca2f17}{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
void \hyperlink{_s_d_l__visualtest__action__configparser_8h_a677da0d0e4793df342f91974b4559efa}{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
int \hyperlink{_s_d_l__visualtest__action__configparser_8h_ace5374ef7509e95383929ff185aaf7e6}{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue, \hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} action)
\item
int \hyperlink{_s_d_l__visualtest__action__configparser_8h_a8ef9dce4d464d6994596deeace6ffa2d}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config} (char $\ast$file, \hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header file for the parser for action config files.
\subsection{Macro Definition Documentation}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a19244c2e1556665be344807ace1556ed}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H@{M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}}
\index{M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H@{M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H~300}}\label{_s_d_l__visualtest__action__configparser_8h_a19244c2e1556665be344807ace1556ed}
The maximum length of one line in the actions file
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a89974e9149bfca6aabb3ff06cc9671d7}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Action}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}}}\label{_s_d_l__visualtest__action__configparser_8h_a89974e9149bfca6aabb3ff06cc9671d7}
Struct that defines an action that will be performed on the S\-U\-T process at a specific time. \hypertarget{_s_d_l__visualtest__action__configparser_8h_a065d1acf0f98bde777d10bd8ab24d268}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}}}\label{_s_d_l__visualtest__action__configparser_8h_a065d1acf0f98bde777d10bd8ab24d268}
Struct for a node in the action queue. \hypertarget{_s_d_l__visualtest__action__configparser_8h_ac9ce1bb69d8774d1818c9f9d0f97c7f1}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}}}\label{_s_d_l__visualtest__action__configparser_8h_ac9ce1bb69d8774d1818c9f9d0f97c7f1}
Queue structure for actions loaded from the actions config file.
\subsection{Enumeration Type Documentation}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type}}}\label{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6}
Type of the action. \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-A\-U\-N\-C\-H@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-A\-U\-N\-C\-H}!S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-A\-U\-N\-C\-H@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-A\-U\-N\-C\-H}}\item[{\em
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6ac5344bca6af9c07c4ee69ee4c2b18df2}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-L\-A\-U\-N\-C\-H}\label{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6ac5344bca6af9c07c4ee69ee4c2b18df2}
}]Launch an application with some given arguments \index{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-K\-I\-L\-L@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-K\-I\-L\-L}!S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-K\-I\-L\-L@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-K\-I\-L\-L}}\item[{\em
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6a87880c4f665344d4c3e12f9aa3af7410}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-K\-I\-L\-L}\label{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6a87880c4f665344d4c3e12f9aa3af7410}
}]Kill the S\-U\-T process \index{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-Q\-U\-I\-T@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-Q\-U\-I\-T}!S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-Q\-U\-I\-T@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-Q\-U\-I\-T}}\item[{\em
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6ad3d17a830b7e1e46e37d916130d8802a}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-Q\-U\-I\-T}\label{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6ad3d17a830b7e1e46e37d916130d8802a}
}]Quit (Gracefully exit) the S\-U\-T process \index{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-S\-C\-R\-E\-E\-N\-S\-H\-O\-T@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-S\-C\-R\-E\-E\-N\-S\-H\-O\-T}!S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-S\-C\-R\-E\-E\-N\-S\-H\-O\-T@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-S\-C\-R\-E\-E\-N\-S\-H\-O\-T}}\item[{\em
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6af9b5d42cb90bf843f298be4593992fdb}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-S\-C\-R\-E\-E\-N\-S\-H\-O\-T}\label{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6af9b5d42cb90bf843f298be4593992fdb}
}]Take a screenshot of the S\-U\-T window \index{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-V\-E\-R\-I\-F\-Y@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-V\-E\-R\-I\-F\-Y}!S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-V\-E\-R\-I\-F\-Y@{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-V\-E\-R\-I\-F\-Y}}\item[{\em
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6a0853f8be8363015b822658b9f3b013f4}{S\-D\-L\-\_\-\-A\-C\-T\-I\-O\-N\-\_\-\-V\-E\-R\-I\-F\-Y}\label{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6a0853f8be8363015b822658b9f3b013f4}
}]Verify a previously taken screenshot \end{description}
\end{Desc}
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a0e7998533e6e10590612a8d5dee7ec0b}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_a0e7998533e6e10590612a8d5dee7ec0b}
Remove an action from the front of the action queue pointed to by {\ttfamily queue}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a677da0d0e4793df342f91974b4559efa}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_a677da0d0e4793df342f91974b4559efa}
Dequeues all the elements in the queque pointed to by {\ttfamily queue}. \hypertarget{_s_d_l__visualtest__action__configparser_8h_a647d1be8f0f27af2fb1e5d4da2100596}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}}]{action}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_a647d1be8f0f27af2fb1e5d4da2100596}
Add an action pointed to by {\ttfamily action} to the rear of the action queue pointed to by {\ttfamily queue}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_afb508801942e7c74084480bcdb6f8613}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_afb508801942e7c74084480bcdb6f8613}
Get the action at the front of the action queue pointed to by {\ttfamily queue}. The returned action pointer may become invalid after subsequent dequeues.
\begin{DoxyReturn}{Returns}
pointer to the action on success, N\-U\-L\-L on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_ae68c1c80f728e125869882139bec2c9e}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_ae68c1c80f728e125869882139bec2c9e}
Initialize the action queue pointed to by {\ttfamily queue}. \hypertarget{_s_d_l__visualtest__action__configparser_8h_ace5374ef7509e95383929ff185aaf7e6}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}}]{action}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_ace5374ef7509e95383929ff185aaf7e6}
Inserts an action {\ttfamily action} into the queue pointed to by {\ttfamily queue} such that the times of actions in the queue increase as we move from the front to the rear.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a8484ee36f78952192d4193c85fca2f17}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty@{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty@{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_a8484ee36f78952192d4193c85fca2f17}
Check if the queue pointed to by {\ttfamily queue} is empty or not.
\begin{DoxyReturn}{Returns}
1 if the queue is empty, 0 otherwise.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__action__configparser_8h_a8ef9dce4d464d6994596deeace6ffa2d}{\index{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config}!SDL_visualtest_action_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{file, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__action__configparser_8h_a8ef9dce4d464d6994596deeace6ffa2d}
Parses an action config file with path {\ttfamily file} and populates an action queue pointed to by {\ttfamily queue} with actions.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}

View File

@@ -0,0 +1,69 @@
\hypertarget{_s_d_l__visualtest__exhaustive__variator_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.h File Reference}
\label{_s_d_l__visualtest__exhaustive__variator_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}}
}
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} \hyperlink{_s_d_l__visualtest__exhaustive__variator_8h_ab64de6cf7d6a1e6d09d470c020940c25}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__exhaustive__variator_8h_a9e213e530ddf5a18014786d10e9fdaee}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator} (\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$variator, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\item
char $\ast$ \hyperlink{_s_d_l__visualtest__exhaustive__variator_8h_aa9e13a92945ef48308215b3fa068ed29}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation} (\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$variator)
\item
void \hyperlink{_s_d_l__visualtest__exhaustive__variator_8h_a7168b055fb86bbbb700d87ae842f7152}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator} (\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$variator)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header for the exhaustive variator.
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__exhaustive__variator_8h_ab64de6cf7d6a1e6d09d470c020940c25}{\index{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}!SDL_visualtest_exhaustive_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}}}\label{_s_d_l__visualtest__exhaustive__variator_8h_ab64de6cf7d6a1e6d09d470c020940c25}
Struct for the variator that exhaustively iterates through all variations of command line arguments to the S\-U\-T.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__exhaustive__variator_8h_a7168b055fb86bbbb700d87ae842f7152}{\index{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator}!SDL_visualtest_exhaustive_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__exhaustive__variator_8h_a7168b055fb86bbbb700d87ae842f7152}
Frees any resources associated with the variator. \hypertarget{_s_d_l__visualtest__exhaustive__variator_8h_aa9e13a92945ef48308215b3fa068ed29}{\index{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation}!SDL_visualtest_exhaustive_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__exhaustive__variator_8h_aa9e13a92945ef48308215b3fa068ed29}
Gets the arguments string for the next variation using the variator and updates the variator's current variation object to the next variation.
\begin{DoxyReturn}{Returns}
The arguments string representing the next variation on success, and N\-U\-L\-L on failure or if we have iterated through all possible variations. In the latter case subsequent calls will start the variations again from the very beginning. The pointer returned should not be freed.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__exhaustive__variator_8h_a9e213e530ddf5a18014786d10e9fdaee}{\index{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator}!SDL_visualtest_exhaustive_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$}]{variator, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__exhaustive__variator_8h_a9e213e530ddf5a18014786d10e9fdaee}
Initializes the variator.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}

View File

@@ -0,0 +1,80 @@
\hypertarget{_s_d_l__visualtest__harness__argparser_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.h File Reference}
\label{_s_d_l__visualtest__harness__argparser_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}}
}
{\ttfamily \#include $<$S\-D\-L.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
\#define \hyperlink{_s_d_l__visualtest__harness__argparser_8h_abdd33f362ae3bbdacb5de76473aa8a2f}{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}~300
\item
\#define \hyperlink{_s_d_l__visualtest__harness__argparser_8h_a8485cbda108eca56406d67aaa685fcc5}{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}~600
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} \hyperlink{_s_d_l__visualtest__harness__argparser_8h_ab89725ad0ec988d4923faa6a85972455}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__harness__argparser_8h_a629609acc04ef21a21fdfbbf6c1589c8}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args} (char $\ast$$\ast$argv, \hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$state)
\item
void \hyperlink{_s_d_l__visualtest__harness__argparser_8h_a833147d8da541982c615645a797627cc}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State} (\hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$state)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Provides functionality to parse command line arguments to the test harness.
\subsection{Macro Definition Documentation}
\hypertarget{_s_d_l__visualtest__harness__argparser_8h_abdd33f362ae3bbdacb5de76473aa8a2f}{\index{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}!M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}}
\index{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}!SDL_visualtest_harness_argparser.h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N~300}}\label{_s_d_l__visualtest__harness__argparser_8h_abdd33f362ae3bbdacb5de76473aa8a2f}
Maximum length of a path string \hypertarget{_s_d_l__visualtest__harness__argparser_8h_a8485cbda108eca56406d67aaa685fcc5}{\index{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}}
\index{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}!SDL_visualtest_harness_argparser.h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N~600}}\label{_s_d_l__visualtest__harness__argparser_8h_a8485cbda108eca56406d67aaa685fcc5}
Maximum length of a string of S\-U\-T arguments
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__harness__argparser_8h_ab89725ad0ec988d4923faa6a85972455}{\index{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!SDL_visualtest_harness_argparser.h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}}\label{_s_d_l__visualtest__harness__argparser_8h_ab89725ad0ec988d4923faa6a85972455}
Stores the state of the test harness.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__harness__argparser_8h_a833147d8da541982c615645a797627cc}{\index{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State}!SDL_visualtest_harness_argparser.h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$}]{state}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__harness__argparser_8h_a833147d8da541982c615645a797627cc}
Frees any resources associated with the state object pointed to by {\ttfamily state}. \hypertarget{_s_d_l__visualtest__harness__argparser_8h_a629609acc04ef21a21fdfbbf6c1589c8}{\index{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args}!SDL_visualtest_harness_argparser.h@{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args (
\begin{DoxyParamCaption}
\item[{char $\ast$$\ast$}]{argv, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$}]{state}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__harness__argparser_8h_a629609acc04ef21a21fdfbbf6c1589c8}
Parse command line paramters to the test harness and populate a state object.
\begin{DoxyParams}{Parameters}
{\em argv} & The array of command line parameters. \\
\hline
{\em state} & Pointer to the state object to be populated.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Non-\/zero on success, zero on failure.
\end{DoxyReturn}

View File

@@ -0,0 +1,53 @@
\hypertarget{_s_d_l__visualtest__parsehelper_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-parsehelper.h File Reference}
\label{_s_d_l__visualtest__parsehelper_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h}}
}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
char $\ast$$\ast$ \hyperlink{_s_d_l__visualtest__parsehelper_8h_a5f168fdd02f9d40ddbad97bd8c0b6361}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv} (char $\ast$args)
\item
char $\ast$$\ast$ \hyperlink{_s_d_l__visualtest__parsehelper_8h_a508e690ed938e09fc3b724d2faf06899}{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize} (char $\ast$str, int max\-\_\-token\-\_\-len)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header with some helper functions for parsing strings.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__parsehelper_8h_a5f168fdd02f9d40ddbad97bd8c0b6361}{\index{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h@{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv}!SDL_visualtest_parsehelper.h@{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{args}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__parsehelper_8h_a5f168fdd02f9d40ddbad97bd8c0b6361}
Takes an string of command line arguments and breaks them up into an array based on whitespace.
\begin{DoxyParams}{Parameters}
{\em args} & The string of arguments.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
N\-U\-L\-L on failure, an array of strings on success. The last element of the array is N\-U\-L\-L. The first element of the array is N\-U\-L\-L and should be set to the path of the executable by the caller.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__parsehelper_8h_a508e690ed938e09fc3b724d2faf06899}{\index{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h@{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Tokenize@{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize@{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize}!SDL_visualtest_parsehelper.h@{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Tokenize (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{str, }
\item[{int}]{max\-\_\-token\-\_\-len}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__parsehelper_8h_a508e690ed938e09fc3b724d2faf06899}
Takes a string and breaks it into tokens by splitting on whitespace.
\begin{DoxyParams}{Parameters}
{\em str} & The string to be split. \\
\hline
{\em max\-\_\-token\-\_\-len} & Length of each element in the array to be returned.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
N\-U\-L\-L on failure; an array of strings with the tokens on success. The last element of the array is N\-U\-L\-L.
\end{DoxyReturn}

View File

@@ -0,0 +1,140 @@
\hypertarget{_s_d_l__visualtest__process_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-process.h File Reference}
\label{_s_d_l__visualtest__process_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-platform.\-h$>$}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info}
\item
struct \hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} \hyperlink{_s_d_l__visualtest__process_8h_a94bc9e0b0b563a527ea50ef2eecd5402}{S\-D\-L\-\_\-\-Process\-Info}
\item
typedef struct \\*
\hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} \hyperlink{_s_d_l__visualtest__process_8h_a5b7d5262f85e78bf4d53d88f3c509342}{S\-D\-L\-\_\-\-Process\-Exit\-Status}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__process_8h_a12c16e5b870e2794d6bd5a1a3bb4582f}{S\-D\-L\-\_\-\-Launch\-Process} (char $\ast$file, char $\ast$args, \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} $\ast$pinfo)
\item
int \hyperlink{_s_d_l__visualtest__process_8h_a3a131140a71bf68fa68a900f06872239}{S\-D\-L\-\_\-\-Is\-Process\-Running} (\hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} $\ast$pinfo)
\item
int \hyperlink{_s_d_l__visualtest__process_8h_ae66242e44a004831ab231693fd11c8d0}{S\-D\-L\-\_\-\-Kill\-Process} (\hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} $\ast$pinfo, \hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} $\ast$ps)
\item
int \hyperlink{_s_d_l__visualtest__process_8h_ad8a5b6725ad1f0e1bac623cf4b6fc28d}{S\-D\-L\-\_\-\-Quit\-Process} (\hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} $\ast$pinfo, \hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} $\ast$ps)
\item
int \hyperlink{_s_d_l__visualtest__process_8h_a54545d6b9f737a14030b4ce55ddd4a62}{S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status} (\hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} $\ast$pinfo, \hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} $\ast$ps)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Provides cross-\/platfrom process launching and termination functionality.
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__process_8h_a5b7d5262f85e78bf4d53d88f3c509342}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Process\-Exit\-Status}}
\index{S\-D\-L\-\_\-\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Process\-Exit\-Status}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Process\-Exit\-Status}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-\_\-\-Process\-Exit\-Status} {\bf S\-D\-L\-\_\-\-Process\-Exit\-Status}}}\label{_s_d_l__visualtest__process_8h_a5b7d5262f85e78bf4d53d88f3c509342}
This structure stores the exit status (value returned by \hyperlink{testharness_8c_a0ddf1224851353fc92bfbff6f499fa97}{main()}) and whether the process exited sucessfully or not. \hypertarget{_s_d_l__visualtest__process_8h_a94bc9e0b0b563a527ea50ef2eecd5402}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Process\-Info@{S\-D\-L\-\_\-\-Process\-Info}}
\index{S\-D\-L\-\_\-\-Process\-Info@{S\-D\-L\-\_\-\-Process\-Info}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Process\-Info}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-\_\-\-Process\-Info} {\bf S\-D\-L\-\_\-\-Process\-Info}}}\label{_s_d_l__visualtest__process_8h_a94bc9e0b0b563a527ea50ef2eecd5402}
Struct to store a platform specific handle to a process.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__process_8h_a54545d6b9f737a14030b4ce55ddd4a62}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status}}
\index{S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-\_\-\-Get\-Process\-Exit\-Status (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-\_\-\-Process\-Info} $\ast$}]{pinfo, }
\item[{{\bf S\-D\-L\-\_\-\-Process\-Exit\-Status} $\ast$}]{ps}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__process_8h_a54545d6b9f737a14030b4ce55ddd4a62}
Gets the exit status of a process. If the exit status is -\/1, the process is still running.
\begin{DoxyParams}{Parameters}
{\em pinfo} & Pointer to a \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} object of the process to be checked. \\
\hline
{\em ps} & Pointer to a \hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} object which will be populated with the exit status.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__process_8h_a3a131140a71bf68fa68a900f06872239}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Is\-Process\-Running@{S\-D\-L\-\_\-\-Is\-Process\-Running}}
\index{S\-D\-L\-\_\-\-Is\-Process\-Running@{S\-D\-L\-\_\-\-Is\-Process\-Running}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Is\-Process\-Running}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-\_\-\-Is\-Process\-Running (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-\_\-\-Process\-Info} $\ast$}]{pinfo}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__process_8h_a3a131140a71bf68fa68a900f06872239}
Checks if a process is running or not.
\begin{DoxyParams}{Parameters}
{\em pinfo} & Pointer to \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} object of the process that needs to be checked.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if the process is still running; zero if it is not and -\/1 if the status could not be retrieved.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__process_8h_ae66242e44a004831ab231693fd11c8d0}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Kill\-Process@{S\-D\-L\-\_\-\-Kill\-Process}}
\index{S\-D\-L\-\_\-\-Kill\-Process@{S\-D\-L\-\_\-\-Kill\-Process}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Kill\-Process}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-\_\-\-Kill\-Process (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-\_\-\-Process\-Info} $\ast$}]{pinfo, }
\item[{{\bf S\-D\-L\-\_\-\-Process\-Exit\-Status} $\ast$}]{ps}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__process_8h_ae66242e44a004831ab231693fd11c8d0}
Kills a currently running process.
\begin{DoxyParams}{Parameters}
{\em pinfo} & Pointer to a \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} object of the process to be terminated. \\
\hline
{\em ps} & Pointer to a \hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} object which will be populated with the exit status.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__process_8h_a12c16e5b870e2794d6bd5a1a3bb4582f}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Launch\-Process@{S\-D\-L\-\_\-\-Launch\-Process}}
\index{S\-D\-L\-\_\-\-Launch\-Process@{S\-D\-L\-\_\-\-Launch\-Process}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Launch\-Process}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-\_\-\-Launch\-Process (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{file, }
\item[{char $\ast$}]{args, }
\item[{{\bf S\-D\-L\-\_\-\-Process\-Info} $\ast$}]{pinfo}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__process_8h_a12c16e5b870e2794d6bd5a1a3bb4582f}
Launches a process with the given commandline arguments.
\begin{DoxyParams}{Parameters}
{\em file} & The path to the executable to be launched. \\
\hline
{\em args} & The command line arguments to be passed to the process. \\
\hline
{\em pinfo} & Pointer to an \hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} object to be populated with platform specific information about the launched process.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Non-\/zero on success, zero on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__process_8h_ad8a5b6725ad1f0e1bac623cf4b6fc28d}{\index{S\-D\-L\-\_\-visualtest\-\_\-process.\-h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}!S\-D\-L\-\_\-\-Quit\-Process@{S\-D\-L\-\_\-\-Quit\-Process}}
\index{S\-D\-L\-\_\-\-Quit\-Process@{S\-D\-L\-\_\-\-Quit\-Process}!SDL_visualtest_process.h@{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-Quit\-Process}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-\_\-\-Quit\-Process (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-\_\-\-Process\-Info} $\ast$}]{pinfo, }
\item[{{\bf S\-D\-L\-\_\-\-Process\-Exit\-Status} $\ast$}]{ps}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__process_8h_ad8a5b6725ad1f0e1bac623cf4b6fc28d}
Cleanly exits the process represented by {\ttfamily pinfo} and stores the exit status in the exit status object pointed to by {\ttfamily ps}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}

View File

@@ -0,0 +1,70 @@
\hypertarget{_s_d_l__visualtest__random__variator_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.h File Reference}
\label{_s_d_l__visualtest__random__variator_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}}
}
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} \hyperlink{_s_d_l__visualtest__random__variator_8h_ab0df6ee6ec21b5070bfd8e90a7d79974}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__random__variator_8h_a807486069b7180c3b3bf8af4616d055f}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator} (\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$variator, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config, Uint64 seed)
\item
char $\ast$ \hyperlink{_s_d_l__visualtest__random__variator_8h_a479aceb74b5355c1d22856fc7efce890}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation} (\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$variator)
\item
void \hyperlink{_s_d_l__visualtest__random__variator_8h_ac95d9e0716e4c918c6902b10f9591d4b}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator} (\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$variator)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header for the random variator.
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__random__variator_8h_ab0df6ee6ec21b5070bfd8e90a7d79974}{\index{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}!SDL_visualtest_random_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}}}\label{_s_d_l__visualtest__random__variator_8h_ab0df6ee6ec21b5070bfd8e90a7d79974}
Struct for the variator that randomly generates variations of command line arguments to the S\-U\-T.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__random__variator_8h_ac95d9e0716e4c918c6902b10f9591d4b}{\index{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator}!SDL_visualtest_random_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__random__variator_8h_ac95d9e0716e4c918c6902b10f9591d4b}
Frees any resources associated with the variator. \hypertarget{_s_d_l__visualtest__random__variator_8h_a479aceb74b5355c1d22856fc7efce890}{\index{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation}!SDL_visualtest_random_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__random__variator_8h_a479aceb74b5355c1d22856fc7efce890}
Generates a new random variation.
\begin{DoxyReturn}{Returns}
The arguments string representing the random variation on success, and N\-U\-L\-L on failure. The pointer returned should not be freed.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__random__variator_8h_a807486069b7180c3b3bf8af4616d055f}{\index{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator}!SDL_visualtest_random_variator.h@{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$}]{variator, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config, }
\item[{Uint64}]{seed}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__random__variator_8h_a807486069b7180c3b3bf8af4616d055f}
Initializes the variator.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}

View File

@@ -0,0 +1,58 @@
\hypertarget{_s_d_l__visualtest__screenshot_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-screenshot.h File Reference}
\label{_s_d_l__visualtest__screenshot_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}}
}
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-process.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__screenshot_8h_aefe6b7dbca1fbfb7aef081545c3ca66d}{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process} (\hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} $\ast$pinfo, char $\ast$prefix)
\item
int \hyperlink{_s_d_l__visualtest__screenshot_8h_a812c545e97db11a756145d43b3a8e5ee}{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop} (char $\ast$filename)
\item
int \hyperlink{_s_d_l__visualtest__screenshot_8h_ac7b5335651144961676abc2116c38299}{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots} (char $\ast$args, char $\ast$test\-\_\-dir, char $\ast$verify\-\_\-dir)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header for the screenshot A\-P\-I.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__screenshot_8h_a812c545e97db11a756145d43b3a8e5ee}{\index{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h@{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop@{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop@{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop}!SDL_visualtest_screenshot.h@{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Desktop (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{filename}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__screenshot_8h_a812c545e97db11a756145d43b3a8e5ee}
Takes a screenshot of the desktop and saves it into the file with path {\ttfamily filename}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__screenshot_8h_aefe6b7dbca1fbfb7aef081545c3ca66d}{\index{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h@{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process@{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process@{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process}!SDL_visualtest_screenshot.h@{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Screenshot\-Process (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-\_\-\-Process\-Info} $\ast$}]{pinfo, }
\item[{char $\ast$}]{prefix}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__screenshot_8h_aefe6b7dbca1fbfb7aef081545c3ca66d}
Takes a screenshot of each window owned by the process {\ttfamily pinfo} and saves it in a file {\ttfamily prefix-\/i.\-png} where {\ttfamily prefix} is the full path to the file along with a prefix given to each screenshot.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__screenshot_8h_ac7b5335651144961676abc2116c38299}{\index{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h@{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots@{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots@{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots}!SDL_visualtest_screenshot.h@{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{args, }
\item[{char $\ast$}]{test\-\_\-dir, }
\item[{char $\ast$}]{verify\-\_\-dir}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__screenshot_8h_ac7b5335651144961676abc2116c38299}
Compare a screenshot taken previously with S\-U\-T arguments {\ttfamily args} that is located in {\ttfamily test\-\_\-dir} with a verification image that is located in {\ttfamily verify\-\_\-dir}.
\begin{DoxyReturn}{Returns}
-\/1 on failure, 0 if the images were not equal, 1 if the images are equal and 2 if the verification image is not present.
\end{DoxyReturn}

View File

@@ -0,0 +1,117 @@
\hypertarget{_s_d_l__visualtest__sut__configparser_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.h File Reference}
\label{_s_d_l__visualtest__sut__configparser_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l_visual_test___s_u_t_int_range}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}
\item
struct \hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}
\item
struct \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}~100
\item
\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a21a678ced8cdf55b4cc70ad398bf33b6}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}~40
\item
\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a6c700fc8ff02cfa0c795b9593f86b9a0}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}~40
\item
\#define \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a8f1a5749af5a592b30a194c72d848f75}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}~256
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___s_u_t_int_range}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range} \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a8cbe93330b2ce59cdf6da59e2eca6045}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a9f35b5fe1ce4ba831a9b9e1f2bc8b7f6}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a1b493a40d601932b62ee643390aec169}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum \hyperlink{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type} \{ {\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-S\-T\-R\-I\-N\-G} = 0,
{\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-I\-N\-T},
{\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-E\-N\-U\-M},
{\bfseries S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-O\-P\-T\-I\-O\-N\-T\-Y\-P\-E\-\_\-\-B\-O\-O\-L}
\}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a8e178cd8a1f279f5d2cf908545e97544}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config} (char $\ast$file, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\item
void \hyperlink{_s_d_l__visualtest__sut__configparser_8h_a1bddf9732c0d3ed1c24455d22193de9a}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config} (\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header for the parser for S\-U\-T config files.
\subsection{Macro Definition Documentation}
\hypertarget{_s_d_l__visualtest__sut__configparser_8h_a21a678ced8cdf55b4cc70ad398bf33b6}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}}
\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-C\-A\-T\-E\-G\-O\-R\-Y\-\_\-\-L\-E\-N~40}}\label{_s_d_l__visualtest__sut__configparser_8h_a21a678ced8cdf55b4cc70ad398bf33b6}
Maximum length of the name of a category of an S\-U\-T option \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a6c700fc8ff02cfa0c795b9593f86b9a0}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}}
\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-E\-N\-U\-M\-V\-A\-L\-\_\-\-L\-E\-N~40}}\label{_s_d_l__visualtest__sut__configparser_8h_a6c700fc8ff02cfa0c795b9593f86b9a0}
Maximum length of one enum value of an S\-U\-T option \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a8f1a5749af5a592b30a194c72d848f75}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}}
\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N\-G\-T\-H~256}}\label{_s_d_l__visualtest__sut__configparser_8h_a8f1a5749af5a592b30a194c72d848f75}
Maximum length of a line in the paramters file \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}}
\index{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N~100}}\label{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}
Maximum length of the name of an S\-U\-T option
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__sut__configparser_8h_a1b493a40d601932b62ee643390aec169}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}}\label{_s_d_l__visualtest__sut__configparser_8h_a1b493a40d601932b62ee643390aec169}
Struct to hold all the options to an S\-U\-T application. \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a8cbe93330b2ce59cdf6da59e2eca6045}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range} {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}}\label{_s_d_l__visualtest__sut__configparser_8h_a8cbe93330b2ce59cdf6da59e2eca6045}
Represents the range of values an integer option can take. \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a9f35b5fe1ce4ba831a9b9e1f2bc8b7f6}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}}\label{_s_d_l__visualtest__sut__configparser_8h_a9f35b5fe1ce4ba831a9b9e1f2bc8b7f6}
Struct that defines an option to be passed to the S\-U\-T.
\subsection{Enumeration Type Documentation}
\hypertarget{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type}}}\label{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}
Describes the different kinds of options to the S\-U\-T.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__sut__configparser_8h_a1bddf9732c0d3ed1c24455d22193de9a}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__sut__configparser_8h_a1bddf9732c0d3ed1c24455d22193de9a}
Free any resources associated with the config object pointed to by {\ttfamily config}. \hypertarget{_s_d_l__visualtest__sut__configparser_8h_a8e178cd8a1f279f5d2cf908545e97544}{\index{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}!SDL_visualtest_sut_configparser.h@{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{file, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__sut__configparser_8h_a8e178cd8a1f279f5d2cf908545e97544}
Parses a configuration file that describes the command line options an S\-U\-T application will take and populates a S\-U\-T config object. All lines in the config file must be smaller than
\begin{DoxyParams}{Parameters}
{\em file} & Path to the configuration file. \\
\hline
{\em config} & Pointer to an object that represents an S\-U\-T configuration.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
zero on failure, non-\/zero on success
\end{DoxyReturn}

View File

@@ -0,0 +1,141 @@
\hypertarget{_s_d_l__visualtest__variator__common_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.h File Reference}
\label{_s_d_l__visualtest__variator__common_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-types.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
union \hyperlink{union_s_d_l_visual_test___s_u_t_option_value}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}
\item
struct \hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
\#define \hyperlink{_s_d_l__visualtest__variator__common_8h_afcdce86a10fbcdc9f3e47c47b70e3ea3}{S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S}~3
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef enum \\*
\hyperlink{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} \hyperlink{_s_d_l__visualtest__variator__common_8h_a4a7752dc89880ce3f62a478b3d0d8d64}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}
\item
typedef union \\*
\hyperlink{union_s_d_l_visual_test___s_u_t_option_value}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} \hyperlink{_s_d_l__visualtest__variator__common_8h_aa4e5fb752f4cd087101ea3e1f6124dfb}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} \hyperlink{_s_d_l__visualtest__variator__common_8h_a6b447c1467862ecd623cc8f37489faeb}{S\-D\-L\-Visual\-Test\-\_\-\-Variation}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item
enum \hyperlink{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} \{ {\bfseries S\-D\-L\-\_\-\-V\-A\-R\-I\-A\-T\-O\-R\-\_\-\-N\-O\-N\-E} = 0,
{\bfseries S\-D\-L\-\_\-\-V\-A\-R\-I\-A\-T\-O\-R\-\_\-\-E\-X\-H\-A\-U\-S\-T\-I\-V\-E},
{\bfseries S\-D\-L\-\_\-\-V\-A\-R\-I\-A\-T\-O\-R\-\_\-\-R\-A\-N\-D\-O\-M}
\}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__variator__common_8h_aafcecc06c8feb24b6f6a509bfa9db681}{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value} (\hyperlink{union_s_d_l_visual_test___s_u_t_option_value}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} $\ast$var, \hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} $\ast$opt)
\item
int \hyperlink{_s_d_l__visualtest__variator__common_8h_ad981c2efab849e76dc878ef8da9d6017}{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation} (\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$variation, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config, char $\ast$buffer, int size)
\item
int \hyperlink{_s_d_l__visualtest__variator__common_8h_ac87934906c51364778dc910ebca47b6c}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation} (\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$variation, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header for common functionality used by variators.
\subsection{Macro Definition Documentation}
\hypertarget{_s_d_l__visualtest__variator__common_8h_afcdce86a10fbcdc9f3e47c47b70e3ea3}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S@{S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S}}
\index{S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S@{S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\-D\-L\-\_\-\-S\-U\-T\-\_\-\-I\-N\-T\-E\-G\-E\-R\-\_\-\-O\-P\-T\-I\-O\-N\-\_\-\-T\-E\-S\-T\-\_\-\-S\-T\-E\-P\-S~3}}\label{_s_d_l__visualtest__variator__common_8h_afcdce86a10fbcdc9f3e47c47b70e3ea3}
The number of variations one integer option would generate
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__variator__common_8h_aa4e5fb752f4cd087101ea3e1f6124dfb}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}]{\setlength{\rightskip}{0pt plus 5cm}typedef union {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} {\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}}\label{_s_d_l__visualtest__variator__common_8h_aa4e5fb752f4cd087101ea3e1f6124dfb}
One possible value for a command line option to the S\-U\-T. \hypertarget{_s_d_l__visualtest__variator__common_8h_a6b447c1467862ecd623cc8f37489faeb}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation}}}\label{_s_d_l__visualtest__variator__common_8h_a6b447c1467862ecd623cc8f37489faeb}
Represents a valid combination of parameters that can be passed to the S\-U\-T. The ordering of the values here is the same as the ordering of the options in the \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} object for this variation. \hypertarget{_s_d_l__visualtest__variator__common_8h_a4a7752dc89880ce3f62a478b3d0d8d64}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}}}\label{_s_d_l__visualtest__variator__common_8h_a4a7752dc89880ce3f62a478b3d0d8d64}
enum for indicating the type of variator being used
\subsection{Enumeration Type Documentation}
\hypertarget{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type@{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}}}\label{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}
enum for indicating the type of variator being used
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__variator__common_8h_ac87934906c51364778dc910ebca47b6c}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$}]{variation, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__variator__common_8h_ac87934906c51364778dc910ebca47b6c}
Initializes the variation using the following rules\-:
\begin{DoxyItemize}
\item Boolean options are initialized to S\-D\-L\-\_\-\-F\-A\-L\-S\-E.
\item Integer options are initialized to the minimum valid value they can hold.
\item Enum options are initialized to the first element in the list of values they can take.
\item String options are initialized to the name of the option.
\end{DoxyItemize}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__variator__common_8h_ad981c2efab849e76dc878ef8da9d6017}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$}]{variation, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config, }
\item[{char $\ast$}]{buffer, }
\item[{int}]{size}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__variator__common_8h_ad981c2efab849e76dc878ef8da9d6017}
Converts a variation object into a string of command line arguments.
\begin{DoxyParams}{Parameters}
{\em variation} & Variation object to be converted. \\
\hline
{\em config} & Config object for the S\-U\-T. \\
\hline
{\em buffer} & Pointer to the buffer the arguments string will be copied into. \\
\hline
{\em size} & Size of the buffer.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__variator__common_8h_aafcecc06c8feb24b6f6a509bfa9db681}{\index{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value}!SDL_visualtest_variator_common.h@{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} $\ast$}]{var, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} $\ast$}]{opt}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__variator__common_8h_aafcecc06c8feb24b6f6a509bfa9db681}
\char`\"{}\-Increments\char`\"{} the value of the option by one and returns the carry. We wrap around to the initial value on overflow which makes the carry one. For example\-: \char`\"{}incrementing\char`\"{} an S\-D\-L\-\_\-\-F\-A\-L\-S\-E option makes it S\-D\-L\-\_\-\-T\-R\-U\-E with no carry, and \char`\"{}incrementing\char`\"{} an S\-D\-L\-\_\-\-T\-R\-U\-E option makes it S\-D\-L\-\_\-\-F\-A\-L\-S\-E with carry one. For integers, a random value in the valid range for the option is used.
\begin{DoxyParams}{Parameters}
{\em var} & Value of the option \\
\hline
{\em opt} & Object with metadata about the option\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if there is a carry for enum and bool type options, 0 otherwise. 1 is always returned for integer and string type options. -\/1 is returned on error.
\end{DoxyReturn}

View File

@@ -0,0 +1,71 @@
\hypertarget{_s_d_l__visualtest__variators_8h}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-variators.h File Reference}
\label{_s_d_l__visualtest__variators_8h}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-variators.\-h@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\-S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}}
}
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \\*
\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} \hyperlink{_s_d_l__visualtest__variators_8h_a520a2479efbe9c4a9d617735f7314e0a}{S\-D\-L\-Visual\-Test\-\_\-\-Variator}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{_s_d_l__visualtest__variators_8h_ac1d82ee387a19743e47a82c87d3fb7f4}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator} (\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$variator, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config, \hyperlink{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} type, Uint64 seed)
\item
char $\ast$ \hyperlink{_s_d_l__visualtest__variators_8h_aebdd4c3c545b0063d16929fd56f1a79f}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation} (\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$variator)
\item
void \hyperlink{_s_d_l__visualtest__variators_8h_a98727ef649135c3312056d7603cb70b5}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator} (\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$variator)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header for all the variators that vary input parameters to a S\-U\-T application.
\subsection{Typedef Documentation}
\hypertarget{_s_d_l__visualtest__variators_8h_a520a2479efbe9c4a9d617735f7314e0a}{\index{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}!SDL_visualtest_variators.h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} {\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator}}}\label{_s_d_l__visualtest__variators_8h_a520a2479efbe9c4a9d617735f7314e0a}
Struct that acts like a wrapper around the different types of variators available.
\subsection{Function Documentation}
\hypertarget{_s_d_l__visualtest__variators_8h_a98727ef649135c3312056d7603cb70b5}{\index{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator}!SDL_visualtest_variators.h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__variators_8h_a98727ef649135c3312056d7603cb70b5}
Frees any resources associated with the variator. \hypertarget{_s_d_l__visualtest__variators_8h_aebdd4c3c545b0063d16929fd56f1a79f}{\index{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation}!SDL_visualtest_variators.h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__variators_8h_aebdd4c3c545b0063d16929fd56f1a79f}
Gets the next variation using the variator.
\begin{DoxyReturn}{Returns}
The arguments string representing the variation on success, and N\-U\-L\-L on failure. The pointer returned should not be freed.
\end{DoxyReturn}
\hypertarget{_s_d_l__visualtest__variators_8h_ac1d82ee387a19743e47a82c87d3fb7f4}{\index{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator}!SDL_visualtest_variators.h@{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$}]{variator, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}}]{type, }
\item[{Uint64}]{seed}
\end{DoxyParamCaption}
)}}\label{_s_d_l__visualtest__variators_8h_ac1d82ee387a19743e47a82c87d3fb7f4}
Initializes the variator object pointed to by {\ttfamily variator} of type {\ttfamily type} with information from the config object pointed to by {\ttfamily config}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}

View File

@@ -0,0 +1,123 @@
\hypertarget{action__configparser_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/action\-\_\-configparser.c File Reference}
\label{action__configparser_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/action\-\_\-configparser.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/action\-\_\-configparser.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-stdinc.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include $<$string.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{action__configparser_8c_a647d1be8f0f27af2fb1e5d4da2100596}{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue, \hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} action)
\item
int \hyperlink{action__configparser_8c_a0e7998533e6e10590612a8d5dee7ec0b}{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
void \hyperlink{action__configparser_8c_ae68c1c80f728e125869882139bec2c9e}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
\hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} $\ast$ \hyperlink{action__configparser_8c_afb508801942e7c74084480bcdb6f8613}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
int \hyperlink{action__configparser_8c_a8484ee36f78952192d4193c85fca2f17}{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
void \hyperlink{action__configparser_8c_a677da0d0e4793df342f91974b4559efa}{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\item
int \hyperlink{action__configparser_8c_ace5374ef7509e95383929ff185aaf7e6}{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue} (\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue, \hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} action)
\item
int \hyperlink{action__configparser_8c_a8ef9dce4d464d6994596deeace6ffa2d}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config} (char $\ast$file, \hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$queue)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the parser for action config files.
\subsection{Function Documentation}
\hypertarget{action__configparser_8c_a0e7998533e6e10590612a8d5dee7ec0b}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Dequeue\-Action (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_a0e7998533e6e10590612a8d5dee7ec0b}
Remove an action from the front of the action queue pointed to by {\ttfamily queue}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{action__configparser_8c_a677da0d0e4793df342f91974b4559efa}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Empty\-Action\-Queue (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_a677da0d0e4793df342f91974b4559efa}
Dequeues all the elements in the queque pointed to by {\ttfamily queue}. \hypertarget{action__configparser_8c_a647d1be8f0f27af2fb1e5d4da2100596}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Enqueue\-Action (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}}]{action}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_a647d1be8f0f27af2fb1e5d4da2100596}
Add an action pointed to by {\ttfamily action} to the rear of the action queue pointed to by {\ttfamily queue}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{action__configparser_8c_afb508801942e7c74084480bcdb6f8613}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Queue\-Front (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_afb508801942e7c74084480bcdb6f8613}
Get the action at the front of the action queue pointed to by {\ttfamily queue}. The returned action pointer may become invalid after subsequent dequeues.
\begin{DoxyReturn}{Returns}
pointer to the action on success, N\-U\-L\-L on failure.
\end{DoxyReturn}
\hypertarget{action__configparser_8c_ae68c1c80f728e125869882139bec2c9e}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Init\-Action\-Queue (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_ae68c1c80f728e125869882139bec2c9e}
Initialize the action queue pointed to by {\ttfamily queue}. \hypertarget{action__configparser_8c_ace5374ef7509e95383929ff185aaf7e6}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Insert\-Into\-Action\-Queue (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action}}]{action}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_ace5374ef7509e95383929ff185aaf7e6}
Inserts an action {\ttfamily action} into the queue pointed to by {\ttfamily queue} such that the times of actions in the queue increase as we move from the front to the rear.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{action__configparser_8c_a8484ee36f78952192d4193c85fca2f17}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty@{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty@{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Is\-Action\-Queue\-Empty (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_a8484ee36f78952192d4193c85fca2f17}
Check if the queue pointed to by {\ttfamily queue} is empty or not.
\begin{DoxyReturn}{Returns}
1 if the queue is empty, 0 otherwise.
\end{DoxyReturn}
\hypertarget{action__configparser_8c_a8ef9dce4d464d6994596deeace6ffa2d}{\index{action\-\_\-configparser.\-c@{action\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config}!action_configparser.c@{action\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Action\-Config (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{file, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} $\ast$}]{queue}
\end{DoxyParamCaption}
)}}\label{action__configparser_8c_a8ef9dce4d464d6994596deeace6ffa2d}
Parses an action config file with path {\ttfamily file} and populates an action queue pointed to by {\ttfamily queue} with actions.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}

View File

@@ -0,0 +1,18 @@
\section{Data Structures}
Here are the data structures with brief descriptions\-:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{struct_s_d_l___process_exit_status}{S\-D\-L\-\_\-\-Process\-Exit\-Status} }{\pageref{struct_s_d_l___process_exit_status}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l___process_info}{S\-D\-L\-\_\-\-Process\-Info} }{\pageref{struct_s_d_l___process_info}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} }{\pageref{struct_s_d_l_visual_test___action}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___action_node}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node} }{\pageref{struct_s_d_l_visual_test___action_node}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} }{\pageref{struct_s_d_l_visual_test___action_queue}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} }{\pageref{struct_s_d_l_visual_test___exhaustive_variator}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} }{\pageref{struct_s_d_l_visual_test___harness_state}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} }{\pageref{struct_s_d_l_visual_test___random_variator}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} }{\pageref{struct_s_d_l_visual_test___r_w_helper_buffer}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} }{\pageref{struct_s_d_l_visual_test___s_u_t_config}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___s_u_t_int_range}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range} }{\pageref{struct_s_d_l_visual_test___s_u_t_int_range}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} }{\pageref{struct_s_d_l_visual_test___s_u_t_option}}{}
\item\contentsline{section}{\hyperlink{union_s_d_l_visual_test___s_u_t_option_value}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} }{\pageref{union_s_d_l_visual_test___s_u_t_option_value}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} }{\pageref{struct_s_d_l_visual_test___variation}}{}
\item\contentsline{section}{\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} }{\pageref{struct_s_d_l_visual_test___variator}}{}
\end{DoxyCompactList}

View File

@@ -0,0 +1,8 @@
\hypertarget{dir_244674c763b96fdad0a6ffe8d0250e08}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/unittest Directory Reference}
\label{dir_244674c763b96fdad0a6ffe8d0250e08}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/unittest Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/unittest Directory Reference}}
}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file {\bfseries testquit.\-c}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1,37 @@
\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src Directory Reference}
\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src Directory Reference}}
}
\subsection*{Directories}
\begin{DoxyCompactItemize}
\item
directory \hyperlink{dir_a18918b93668b435612395bbc2e8b82b}{linux}
\item
directory \hyperlink{dir_f584182df4c69fab0b14563b4d535158}{windows}
\end{DoxyCompactItemize}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file \hyperlink{action__configparser_8c}{action\-\_\-configparser.\-c}
\item
file \hyperlink{harness__argparser_8c}{harness\-\_\-argparser.\-c}
\item
file \hyperlink{mischelper_8c}{mischelper.\-c}
\item
file \hyperlink{parsehelper_8c}{parsehelper.\-c}
\item
file \hyperlink{rwhelper_8c}{rwhelper.\-c}
\item
file \hyperlink{screenshot_8c}{screenshot.\-c}
\item
file \hyperlink{sut__configparser_8c}{sut\-\_\-configparser.\-c}
\item
file \hyperlink{testharness_8c}{testharness.\-c}
\item
file \hyperlink{variator__common_8c}{variator\-\_\-common.\-c}
\item
file \hyperlink{variator__exhaustive_8c}{variator\-\_\-exhaustive.\-c}
\item
file \hyperlink{variator__random_8c}{variator\-\_\-random.\-c}
\item
file \hyperlink{variators_8c}{variators.\-c}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1,8 @@
\hypertarget{dir_88e6415a3128b404f1102a130772bdb6}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/linux Directory Reference}
\label{dir_88e6415a3128b404f1102a130772bdb6}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/linux Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/linux Directory Reference}}
}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file {\bfseries linux\-\_\-process.\-c}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1,8 @@
\hypertarget{dir_a18918b93668b435612395bbc2e8b82b}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux Directory Reference}
\label{dir_a18918b93668b435612395bbc2e8b82b}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux Directory Reference}}
}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file \hyperlink{linux__process_8c}{linux\-\_\-process.\-c}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1,30 @@
\hypertarget{dir_d44c64559bbebec7f509842c48db8b23}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include Directory Reference}
\label{dir_d44c64559bbebec7f509842c48db8b23}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include Directory Reference}}
}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file \hyperlink{_s_d_l__visualtest__action__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}
\item
file \hyperlink{_s_d_l__visualtest__exhaustive__variator_8h}{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}
\item
file \hyperlink{_s_d_l__visualtest__harness__argparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}
\item
file {\bfseries S\-D\-L\-\_\-visualtest\-\_\-mischelper.\-h}
\item
file \hyperlink{_s_d_l__visualtest__parsehelper_8h}{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h}
\item
file \hyperlink{_s_d_l__visualtest__process_8h}{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}
\item
file \hyperlink{_s_d_l__visualtest__random__variator_8h}{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}
\item
file {\bfseries S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h}
\item
file \hyperlink{_s_d_l__visualtest__screenshot_8h}{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h}
\item
file \hyperlink{_s_d_l__visualtest__sut__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}
\item
file \hyperlink{_s_d_l__visualtest__variator__common_8h}{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}
\item
file \hyperlink{_s_d_l__visualtest__variators_8h}{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1,10 @@
\hypertarget{dir_f584182df4c69fab0b14563b4d535158}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows Directory Reference}
\label{dir_f584182df4c69fab0b14563b4d535158}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows Directory Reference}}
}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file \hyperlink{windows__process_8c}{windows\-\_\-process.\-c}
\item
file \hyperlink{windows__screenshot_8c}{windows\-\_\-screenshot.\-c}
\end{DoxyCompactItemize}

View File

@@ -0,0 +1,8 @@
\hypertarget{dir_fe549de2418b81853b5f194edb4a7f34}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/windows Directory Reference}
\label{dir_fe549de2418b81853b5f194edb4a7f34}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/windows Directory Reference@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/windows Directory Reference}}
}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item
file \hyperlink{windows__process_8c}{windows\-\_\-process.\-c}
\end{DoxyCompactItemize}

464
visualtest/docs/latex/doxygen.sty Executable file
View File

@@ -0,0 +1,464 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
% Packages used by this style file
\RequirePackage{alltt}
\RequirePackage{array}
\RequirePackage{calc}
\RequirePackage{float}
\RequirePackage{ifthen}
\RequirePackage{verbatim}
\RequirePackage[table]{xcolor}
\RequirePackage{xtab}
%---------- Internal commands used in this style file ----------------
\newcommand{\ensurespace}[1]{%
\begingroup%
\setlength{\dimen@}{#1}%
\vskip\z@\@plus\dimen@%
\penalty -100\vskip\z@\@plus -\dimen@%
\vskip\dimen@%
\penalty 9999%
\vskip -\dimen@%
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
\endgroup%
}
\newcommand{\DoxyLabelFont}{}
\newcommand{\entrylabel}[1]{%
{%
\parbox[b]{\labelwidth-4pt}{%
\makebox[0pt][l]{\DoxyLabelFont#1}%
\vspace{1.5\baselineskip}%
}%
}%
}
\newenvironment{DoxyDesc}[1]{%
\ensurespace{4\baselineskip}%
\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
\newsavebox{\xrefbox}
\newlength{\xreflength}
\newcommand{\xreflabel}[1]{%
\sbox{\xrefbox}{#1}%
\setlength{\xreflength}{\wd\xrefbox}%
\ifthenelse{\xreflength>\labelwidth}{%
\begin{minipage}{\textwidth}%
\setlength{\parindent}{0pt}%
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
\end{minipage}%
}{%
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
}%
}
%---------- Commands used by doxygen LaTeX output generator ----------
% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
\small%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @code ... @endcode
\newenvironment{DoxyCode}{%
\par%
\scriptsize%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}{%
\DoxyCode%
}{%
\endDoxyCode%
}
% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
\DoxyVerb%
}{%
\endDoxyVerb%
}
% Used by numbered lists (using '-#' or <ol> ... </ol>)
\newenvironment{DoxyEnumerate}{%
\enumerate%
}{%
\endenumerate%
}
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\newenvironment{DoxyItemize}{%
\itemize%
}{%
\enditemize%
}
% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
\description%
}{%
\enddescription%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if caption is specified)
\newenvironment{DoxyImage}{%
\begin{figure}[H]%
\begin{center}%
}{%
\end{center}%
\end{figure}%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
}{%
}
% Used by @attention
\newenvironment{DoxyAttention}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @date
\newenvironment{DoxyDate}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @note
\newenvironment{DoxyNote}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @post
\newenvironment{DoxyPostcond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @copyright
\newenvironment{DoxyCopyright}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @remark
\newenvironment{DoxyRemark}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @return and @returns
\newenvironment{DoxyReturn}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @since
\newenvironment{DoxySince}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @version
\newenvironment{DoxyVersion}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @warning
\newenvironment{DoxyWarning}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @internal
\newenvironment{DoxyInternal}[1]{%
\paragraph*{#1}%
}{%
}
% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
\begin{list}{}{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
% Used by parameter lists
\newenvironment{DoxyParams}[2][]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablefirsthead{}%
\tablehead{}%
\ifthenelse{\equal{#1}{}}%
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.805\textwidth}|}}%
{\ifthenelse{\equal{#1}{1}}%
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.678\textwidth}|}}%
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
>{\centering\hspace{0pt}}p{0.15\textwidth}|%
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.501\textwidth}|}}%
}\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used for fields of simple structs
\newenvironment{DoxyFields}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
p{0.15\textwidth}|%
p{0.63\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used for parameters within a detailed function description
\newenvironment{DoxyParamCaption}{%
\renewcommand{\item}[2][]{##1 {\em ##2}}%
}{%
}
% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
p{0.705\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
p{0.705\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
\par%
\tabletail{\hline}%
\tablelasttail{\hline}%
\tablehead{}%
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
p{0.705\textwidth}|}%
\hline%
}{%
\end{xtabular}%
\tablefirsthead{}%
\vspace{6pt}%
}
% Used for member lists
\newenvironment{DoxyCompactItemize}{%
\begin{itemize}%
\setlength{\itemsep}{-3pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}{%
\end{itemize}%
}
% Used for member descriptions
\newenvironment{DoxyCompactList}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
\setlength{\itemsep}{0pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\renewcommand{\makelabel}{\hfill}%
}%
}{%
\end{list}%
}
% Used for reference lists (@bug, @deprecated, @todo, etc.)
\newenvironment{DoxyRefList}{%
\begin{list}{}{%
\setlength{\labelwidth}{10pt}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\renewcommand{\makelabel}{\xreflabel}%
}%
}{%
\end{list}%
}
% Used by @bug, @deprecated, @todo, etc.
\newenvironment{DoxyRefDesc}[1]{%
\begin{list}{}{%
\renewcommand\makelabel[1]{\textbf{##1}}%
\settowidth\labelwidth{\makelabel{#1}}%
\setlength\leftmargin{\labelwidth+\labelsep}%
}%
}{%
\end{list}%
}
% Used by parameter lists and simple sections
\newenvironment{Desc}
{\begin{list}{}{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}
}{%
\end{list}%
}
% Used by tables
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
\newlength{\tmplength}%
\newenvironment{TabularC}[1]%
{%
\setlength{\tmplength}%
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
\par\begin{xtabular*}{\linewidth}%
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
}%
{\end{xtabular*}\par}%
% Used for member group headers
\newenvironment{Indent}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
}%
\item[]\ignorespaces%
}{%
\unskip%
\end{list}%
}
% Used when hyperlinks are turned off
\newcommand{\doxyref}[3]{%
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
}
% Used for syntax highlighting
\definecolor{comment}{rgb}{0.5,0.0,0.0}
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}

31
visualtest/docs/latex/files.tex Executable file
View File

@@ -0,0 +1,31 @@
\section{File List}
Here is a list of all documented files with brief descriptions\-:\begin{DoxyCompactList}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/{\bfseries config.\-h} }{\pageref{config_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__action__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h} }{\pageref{_s_d_l__visualtest__action__configparser_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__exhaustive__variator_8h}{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h} }{\pageref{_s_d_l__visualtest__exhaustive__variator_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__harness__argparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h} }{\pageref{_s_d_l__visualtest__harness__argparser_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/{\bfseries S\-D\-L\-\_\-visualtest\-\_\-mischelper.\-h} }{\pageref{_s_d_l__visualtest__mischelper_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__parsehelper_8h}{S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h} }{\pageref{_s_d_l__visualtest__parsehelper_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__process_8h}{S\-D\-L\-\_\-visualtest\-\_\-process.\-h} }{\pageref{_s_d_l__visualtest__process_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__random__variator_8h}{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h} }{\pageref{_s_d_l__visualtest__random__variator_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/{\bfseries S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h} }{\pageref{_s_d_l__visualtest__rwhelper_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__screenshot_8h}{S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h} }{\pageref{_s_d_l__visualtest__screenshot_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__sut__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h} }{\pageref{_s_d_l__visualtest__sut__configparser_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__variator__common_8h}{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h} }{\pageref{_s_d_l__visualtest__variator__common_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__variators_8h}{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h} }{\pageref{_s_d_l__visualtest__variators_8h}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{action__configparser_8c}{action\-\_\-configparser.\-c} }{\pageref{action__configparser_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{harness__argparser_8c}{harness\-\_\-argparser.\-c} }{\pageref{harness__argparser_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{mischelper_8c}{mischelper.\-c} }{\pageref{mischelper_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{parsehelper_8c}{parsehelper.\-c} }{\pageref{parsehelper_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{rwhelper_8c}{rwhelper.\-c} }{\pageref{rwhelper_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{screenshot_8c}{screenshot.\-c} }{\pageref{screenshot_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{sut__configparser_8c}{sut\-\_\-configparser.\-c} }{\pageref{sut__configparser_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{testharness_8c}{testharness.\-c} }{\pageref{testharness_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{variator__common_8c}{variator\-\_\-common.\-c} }{\pageref{variator__common_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{variator__exhaustive_8c}{variator\-\_\-exhaustive.\-c} }{\pageref{variator__exhaustive_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{variator__random_8c}{variator\-\_\-random.\-c} }{\pageref{variator__random_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/\hyperlink{variators_8c}{variators.\-c} }{\pageref{variators_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux/\hyperlink{linux__process_8c}{linux\-\_\-process.\-c} }{\pageref{linux__process_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/\hyperlink{windows__process_8c}{windows\-\_\-process.\-c} }{\pageref{windows__process_8c}}{}
\item\contentsline{section}{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/\hyperlink{windows__screenshot_8c}{windows\-\_\-screenshot.\-c} }{\pageref{windows__screenshot_8c}}{}
\end{DoxyCompactList}

View File

@@ -0,0 +1,64 @@
\hypertarget{harness__argparser_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/harness\-\_\-argparser.c File Reference}
\label{harness__argparser_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/harness\-\_\-argparser.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/harness\-\_\-argparser.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include $<$stdio.\-h$>$}\\*
{\ttfamily \#include $<$string.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h\char`\"{}}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
\#define \hyperlink{harness__argparser_8c_a7186273cd88640b740b6333cd98ae243}{M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N}~400
\item
\#define \hyperlink{harness__argparser_8c_a6669f8e5a07e7a0e4622dd23362831e7}{D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T}~(60 $\ast$ 1000)
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{harness__argparser_8c_a629609acc04ef21a21fdfbbf6c1589c8}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args} (char $\ast$$\ast$argv, \hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$state)
\item
void \hyperlink{harness__argparser_8c_a833147d8da541982c615645a797627cc}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State} (\hyperlink{struct_s_d_l_visual_test___harness_state}{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$state)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for functions to parse arguments to the test harness.
\subsection{Macro Definition Documentation}
\hypertarget{harness__argparser_8c_a6669f8e5a07e7a0e4622dd23362831e7}{\index{harness\-\_\-argparser.\-c@{harness\-\_\-argparser.\-c}!D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T@{D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T}}
\index{D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T@{D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T}!harness_argparser.c@{harness\-\_\-argparser.\-c}}
\subsubsection[{D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T}]{\setlength{\rightskip}{0pt plus 5cm}\#define D\-E\-F\-A\-U\-L\-T\-\_\-\-S\-U\-T\-\_\-\-T\-I\-M\-E\-O\-U\-T~(60 $\ast$ 1000)}}\label{harness__argparser_8c_a6669f8e5a07e7a0e4622dd23362831e7}
Default value for the timeout after which the S\-U\-T is forcefully killed \hypertarget{harness__argparser_8c_a7186273cd88640b740b6333cd98ae243}{\index{harness\-\_\-argparser.\-c@{harness\-\_\-argparser.\-c}!M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N}}
\index{M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N@{M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N}!harness_argparser.c@{harness\-\_\-argparser.\-c}}
\subsubsection[{M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\-A\-X\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-L\-I\-N\-E\-\_\-\-L\-E\-N~400}}\label{harness__argparser_8c_a7186273cd88640b740b6333cd98ae243}
Maximum length of one line in the config file
\subsection{Function Documentation}
\hypertarget{harness__argparser_8c_a833147d8da541982c615645a797627cc}{\index{harness\-\_\-argparser.\-c@{harness\-\_\-argparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State}!harness_argparser.c@{harness\-\_\-argparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Harness\-State (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$}]{state}
\end{DoxyParamCaption}
)}}\label{harness__argparser_8c_a833147d8da541982c615645a797627cc}
Frees any resources associated with the state object pointed to by {\ttfamily state}. \hypertarget{harness__argparser_8c_a629609acc04ef21a21fdfbbf6c1589c8}{\index{harness\-\_\-argparser.\-c@{harness\-\_\-argparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args}!harness_argparser.c@{harness\-\_\-argparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Harness\-Args (
\begin{DoxyParamCaption}
\item[{char $\ast$$\ast$}]{argv, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State} $\ast$}]{state}
\end{DoxyParamCaption}
)}}\label{harness__argparser_8c_a629609acc04ef21a21fdfbbf6c1589c8}
Parse command line paramters to the test harness and populate a state object.
\begin{DoxyParams}{Parameters}
{\em argv} & The array of command line parameters. \\
\hline
{\em state} & Pointer to the state object to be populated.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Non-\/zero on success, zero on failure.
\end{DoxyReturn}

80
visualtest/docs/latex/index.tex Executable file
View File

@@ -0,0 +1,80 @@
\hypertarget{index_license_sec}{}\section{License}\label{index_license_sec}
Check the file {\ttfamily C\-O\-P\-Y\-I\-N\-G.\-txt} for licensing information.\hypertarget{index_intro_sec}{}\section{Introduction}\label{index_intro_sec}
The goal of this G\-So\-C project is to automate the testing of testsprite2. testsprite2 takes 26 parameters which have thousands of valid combinations and is used to validate S\-D\-L's window, mouse and rendering behaviour. By having a test harness that runs testsprite2 with various command line argument strings and validates the output for each run, we can make testing an easier task for maintainers, contributors and testers. The test harness can be used by a continuous integration system (like buildbot or jenkins) to validate S\-D\-L after checkins.
S\-D\-L Homepage\-: \href{http://libsdl.org/}{\tt http\-://libsdl.\-org/}\hypertarget{index_build_sec}{}\section{Building}\label{index_build_sec}
\hypertarget{index_build_linux}{}\subsection{Building on Linux/\-Cygwin}\label{index_build_linux}
{\ttfamily ./autogen.sh; ./configure; make;}\hypertarget{index_build_windows}{}\subsection{Building on Windows}\label{index_build_windows}
Use the Visual Studio solution under {\ttfamily S\-D\-L/\-Visual\-C/visualtest}.\hypertarget{index_docs_sec}{}\section{Documentation}\label{index_docs_sec}
Documentation is available via Doxygen. To build the documentation, cd to the S\-D\-L/visualtest/docs directory and run {\ttfamily doxygen}. A good starting point for exploring the documentation is {\ttfamily S\-D\-L/visualtest/docs/html/index.\-html} \hypertarget{index_usage_sec}{}\section{Usage}\label{index_usage_sec}
To see all the options supported by the test harness, just run {\ttfamily testharness} with no arguments.
At the moment the following options are supported\-: \begin{DoxyItemize}
\item {\ttfamily sutapp} -\/ Path to the system under test (S\-U\-T) application \item {\ttfamily sutargs} -\/ Launch the S\-U\-T with the specified arguments string \item {\ttfamily timeout} -\/ The maximum time after which the S\-U\-T process will be killed; passed as hh\-:mm\-:ss; default 00\-:01\-:00 \item {\ttfamily variator} -\/ Which variator to use; see \hyperlink{index_variators_sec}{Variators} \item {\ttfamily num-\/variations} -\/ The number of variations to run for; taken to be 1 for the random variator and A\-L\-L for the exhaustive variator by default \item {\ttfamily no-\/launch} -\/ Just print the arguments string for each variation without launching the S\-U\-T or performing any actions \item {\ttfamily parameter-\/config} -\/ A config file that describes the command line parameters supported by the S\-U\-T; see \hyperlink{index_paramconfig_sec}{The S\-U\-T Parameters File} or the sample $\ast$.parameters files for more details \item {\ttfamily action-\/config} -\/ A config file with a list of actions to be performed while the S\-U\-T is running; see \hyperlink{index_actionconfig_sec}{The Actions File} or the sample $\ast$.actions files \item {\ttfamily output-\/dir} -\/ Path to the directory where screenshots should be saved; is created if it doesn't exist; taken to be \char`\"{}./output\char`\"{} by default \item {\ttfamily verify-\/dir} -\/ Path to the directory with the verification images; taken to be \char`\"{}./verify\char`\"{} by default\end{DoxyItemize}
Paths can be relative or absolute.
Alternatively, the options can be passed as a config file for convenience\-:
{\ttfamily testharness -\/-\/config testsprite2\-\_\-sample.\-config}
For a sample, take a look at the $\ast$.config files in this repository.
We can also pass a config file and override certain options as necessary\-: {\ttfamily testharness -\/-\/config testsprite2\-\_\-sample.\-config -\/-\/num-\/variations 10}
Note\-: You may find it convenient to copy the S\-U\-T executable along with any resources to the test harness directory. Also note that testsprite2 and its resources (icon.\-bmp) are automatically copied when using the Visual Studio solution.\hypertarget{index_usageexamples_subsec}{}\subsection{Usage examples\-:}\label{index_usageexamples_subsec}
Passing a custom arguments string\-: {\ttfamily testharness -\/-\/sutapp testsprite2 -\/-\/sutargs \char`\"{}\textbackslash{}-\/\textbackslash{}-\/cyclecolor \textbackslash{}-\/\textbackslash{}-\/blend mod
\textbackslash{}-\/\textbackslash{}-\/iterations 2\char`\"{} -\/-\/action-\/config xyz.\-actions}
Using the random variator\-: {\ttfamily testharness -\/-\/sutapp testsprite2 -\/-\/variator random -\/-\/num-\/variations 5 -\/-\/parameter-\/config xyz.\-parameters -\/-\/action-\/config xyz.\-actions}\hypertarget{index_config_subsec}{}\subsection{Config Files}\label{index_config_subsec}
Config files are an alternate way to pass parameters to the test harness. We describe the paramters in a config file and pass that to the test harness using the -\/-\/config option. The config file consists of lines of the form \char`\"{}x=y\char`\"{} where x is an option and y is it's value. For boolean options, we simply give the name of the option to indicate that it is to be passed to the testharness.
The hash '\#' character can be used to start a comment from that point to the end of the line.\hypertarget{index_paramconfig_sec}{}\section{The S\-U\-T Parameters File}\label{index_paramconfig_sec}
To generate variations we need to describe the parameters the will be passed to the S\-U\-T. This description is given in a parameters file. Each line of the parameters file (except the blank lines) represents one command line option with five comma separated fields\-: {\ttfamily name, type, values, required, categories}
\begin{DoxyItemize}
\item {\ttfamily name} is the name of the option, e.\-g., {\ttfamily -\/-\/cyclecolor}. \item {\ttfamily type} can have one of three values -\/ integer, boolean and enum. \item {\ttfamily values} -\/ for integer options this is the valid range of values the option can take, i.\-e., \mbox{[}min max\mbox{]}. For enum options this is a list of strings that the option can take, e.\-g., \mbox{[}val1 val2 val3\mbox{]}. For boolean options this field is ignored. \item {\ttfamily required} -\/ true if the option is required, false otherwise. \item {\ttfamily categories} -\/ a list of categories that the option belongs to. For example, \mbox{[}video mouse audio\mbox{]}\end{DoxyItemize}
Just like with config files, hash characters can be used to start comments.\hypertarget{index_additionalnotes_subsec}{}\subsection{Additional Notes}\label{index_additionalnotes_subsec}
\begin{DoxyItemize}
\item If you want to have an option that always takes a certain value, use an enum with only one value. \item Currently there isn't any way to turn an option off, i.\-e., all options will be included in the command line options string that is generated using the config. If you don't want an option to be passed to the S\-U\-T, remove it from the config file or comment it out.\end{DoxyItemize}
\hypertarget{index_variators_sec}{}\section{Variators}\label{index_variators_sec}
Variators are the mechanism by which we generate strings of command line arguments to test the S\-U\-T with. A variator is quite simply an iterator that iterates through different variations of command line options. There are two variators supported at the moment\-: \begin{DoxyItemize}
\item {\bfseries Exhaustive} -\/ Generate all possible combinations of command line arguments that are valid. \item {\bfseries Random} -\/ Generate a random variation each time the variator is called.\end{DoxyItemize}
As an example, let's try a simple .parameters file\-:\par
{\ttfamily -\/-\/blend, enum, \mbox{[}add mod\mbox{]}, false, \mbox{[}\mbox{]} \par
-\/-\/fullscreen, boolean, \mbox{[}\mbox{]}, false, \mbox{[}\mbox{]} }
The exhaustive variator would generate the following four variations\-:\par
{\ttfamily -\/-\/blend add \par
-\/-\/blend mod \par
-\/-\/blend add -\/-\/fullscreen \par
-\/-\/blend mod -\/-\/fullscreen \par
}
The random variator would simply generate a random variation like the following\-:\par
{\ttfamily -\/-\/blend mod}\hypertarget{index_actionconfig_sec}{}\section{The Actions File}\label{index_actionconfig_sec}
Once the S\-U\-T process has been launched, automated testing happens using a mechanism called actions. A list of actions is read from a file and each action is performed on the S\-U\-T process sequentially. Each line in the actions file describes an action. The format for an action is {\ttfamily hh\-:mm\-:ss A\-C\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E additional parameters}. There are five actions supported at the moment\-: \begin{DoxyItemize}
\item {\bfseries S\-C\-R\-E\-E\-N\-S\-H\-O\-T} -\/ Takes a screenshot of each window owned by the S\-U\-T process. The images are saved as {\ttfamily }\mbox{[}hash\mbox{]}\-\_\-\mbox{[}i\mbox{]}.bmp where {\ttfamily }\mbox{[}hash\mbox{]} is the 32 character long hexadecimal M\-D5 hash of the arguments string that was passed to the S\-U\-T while launching it and {\ttfamily i} is the window number. i = 1 is an exceptional case where the {\ttfamily \-\_\-}\mbox{[}i\mbox{]} is dropped and the filename is simply {\ttfamily }\mbox{[}hash\mbox{]}.bmp\par
Note\-: The screenshots are only of the window's client area. \item {\bfseries V\-E\-R\-I\-F\-Y} -\/ Verifies the screenshots taken by the last S\-C\-R\-E\-E\-N\-S\-H\-O\-T action by comparing them against a verification image. Each {\ttfamily }\mbox{[}hash\mbox{]}\-\_\-i.\-bmp image output by the S\-C\-R\-E\-E\-N\-S\-H\-O\-T action is compared against a {\ttfamily }\mbox{[}hash\mbox{]}.bmp image in the verify-\/dir. \item {\bfseries Q\-U\-I\-T} -\/ Gracefully quits the S\-U\-T process. On Windows this means sending a W\-M\-\_\-\-C\-L\-O\-S\-E message to each window owned by the S\-U\-T process. On Linux it means sending a S\-I\-G\-Q\-U\-I\-T signal to the S\-U\-T process. \item {\bfseries K\-I\-L\-L} -\/ Forcefully kills the S\-U\-T process. This is useful when the S\-U\-T process doesn't respond to the Q\-U\-I\-T action. \item {\bfseries L\-A\-U\-N\-C\-H \mbox{[}/path/to/executable\mbox{]} \mbox{[}args\mbox{]}} -\/ Runs an executable with {\ttfamily }\mbox{[}args\mbox{]} as the arguments string.\end{DoxyItemize}
Just like with config files, hash characters can be used to start comments.\hypertarget{index_contint_sec}{}\section{Continuous Integration (\-C\-I)}\label{index_contint_sec}
One of the goals of the project was to create a test harness that integrates with C\-I systems to provide automated visual and interactive testing to S\-D\-L.
At the moment the test harness can be run in two modes that are useful for C\-I\-: \begin{DoxyItemize}
\item Crash testing mode -\/ launch the S\-U\-T with every variation and all parameters, report to the C\-I if there's a crash \item Visual testing mode -\/ launch and visually verify the S\-U\-T for a smaller subset of the parameters\end{DoxyItemize}
Look at the launch\-\_\-harness.\-sh/launch\-\_\-harness.cmd for an example scripts that run the test harness for all variations with all parameters and report an error on a crash. The script uses the testsprite2\-\_\-crashtest config, so remember to copy those files over to the test harness executable directory along with the script.\hypertarget{index_todo_sec}{}\section{T\-O\-D\-Os}\label{index_todo_sec}
\begin{DoxyItemize}
\item Allow specifying a clipping box along with the V\-E\-R\-I\-F\-Y action, i.\-e., hh\-:mm\-:ss V\-E\-R\-I\-F\-Y x, y, w, h \item Add support for spaces between the equals sign in test harness config files \item Implement the S\-C\-R\-E\-E\-N\-S\-H\-O\-T action on Linux \item Add a pairwise variator \item Add actions to inject keyboard/mouse events \item Add actions to manipulate the S\-U\-T window, e.\-g., minimize, restore, resize \item Add support to load and save screenshots as .pngs instead of .bmps\end{DoxyItemize}
\hypertarget{index_issues_sec}{}\section{Known Issues}\label{index_issues_sec}
\begin{DoxyItemize}
\item The Q\-U\-I\-T action does not work on a testsprite2 process with multiple windows. This appears to be an issue with testsprite2. \item The S\-C\-R\-E\-E\-N\-S\-H\-O\-T action doesn't capture the testsprite2 window correctly if the --fullscreen option is supplied. It works with --fullscreen-\/desktop, however.\end{DoxyItemize}
\hypertarget{index_moreinfo_sec}{}\section{More Information}\label{index_moreinfo_sec}
Author Contact Info\-:\par
Apoorv Upreti {\ttfamily $<$\href{mailto:apoorvupreti@gmail.com}{\tt apoorvupreti@gmail.\-com}$>$}
Other useful links\-:
\begin{DoxyItemize}
\item Project Repository\-: \href{https://bitbucket.org/nerdap/sdlvisualtest}{\tt https\-://bitbucket.\-org/nerdap/sdlvisualtest}
\item Project Wiki\-: \href{https://github.com/nerdap/autotestsprite2/wiki}{\tt https\-://github.\-com/nerdap/autotestsprite2/wiki}
\item Project Blog\-: \href{http://nerdap.github.io}{\tt http\-://nerdap.\-github.\-io}
\item Verification images for testsprite2\-\_\-blendmodes\-: \href{https://www.dropbox.com/s/nm02aem76m812ng/testsprite2_blendmodes.zip}{\tt https\-://www.\-dropbox.\-com/s/nm02aem76m812ng/testsprite2\-\_\-blendmodes.\-zip}
\item Verification images for testsprite2\-\_\-geometry\-: \href{https://www.dropbox.com/s/csypwryopaslpaf/testsprite2_geometry.zip}{\tt https\-://www.\-dropbox.\-com/s/csypwryopaslpaf/testsprite2\-\_\-geometry.\-zip}
\end{DoxyItemize}

View File

@@ -0,0 +1,16 @@
\hypertarget{linux__process_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux/linux\-\_\-process.c File Reference}
\label{linux__process_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux/linux\-\_\-process.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/linux/linux\-\_\-process.\-c}}
}
{\ttfamily \#include $<$S\-D\-L.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include $<$sys/types.\-h$>$}\\*
{\ttfamily \#include $<$sys/wait.\-h$>$}\\*
{\ttfamily \#include $<$unistd.\-h$>$}\\*
{\ttfamily \#include $<$errno.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-process.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h\char`\"{}}\\*
\subsection{Detailed Description}
Source file for the process A\-P\-I on linux.

25
visualtest/docs/latex/make.bat Executable file
View File

@@ -0,0 +1,25 @@
del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
pdflatex refman
echo ----
makeindex refman.idx
echo ----
pdflatex refman
setlocal enabledelayedexpansion
set count=5
:repeat
set content=X
for /F "tokens=*" %%T in ( 'findstr /C:"Rerun LaTeX" refman.log' ) do set content="%%~T"
if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get cross-references right" refman.log' ) do set content="%%~T"
if !content! == X goto :skip
set /a count-=1
if !count! EQU 0 goto :skip
echo ----
pdflatex refman
goto :repeat
:skip
endlocal
makeindex refman.idx
pdflatex refman

View File

@@ -0,0 +1,26 @@
\hypertarget{mischelper_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/mischelper.c File Reference}
\label{mischelper_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/mischelper.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/mischelper.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{mischelper_8c_a0dae46cdb4e58bdda78676260eaaf980}{S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String} (char $\ast$str, char hash\mbox{[}33\mbox{]})
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header with miscellaneous helper functions.
Source file with miscellaneous helper functions.
\subsection{Function Documentation}
\hypertarget{mischelper_8c_a0dae46cdb4e58bdda78676260eaaf980}{\index{mischelper.\-c@{mischelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String@{S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String@{S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String}!mischelper.c@{mischelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Hash\-String (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{str, }
\item[{char}]{hash\mbox{[}33\mbox{]}}
\end{DoxyParamCaption}
)}}\label{mischelper_8c_a0dae46cdb4e58bdda78676260eaaf980}
Stores a 32 digit hexadecimal string representing the M\-D5 hash of the string {\ttfamily str} in {\ttfamily hash}.

View File

@@ -0,0 +1,55 @@
\hypertarget{parsehelper_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/parsehelper.c File Reference}
\label{parsehelper_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/parsehelper.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/parsehelper.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
char $\ast$$\ast$ \hyperlink{parsehelper_8c_a508e690ed938e09fc3b724d2faf06899}{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize} (char $\ast$str, int max\-\_\-token\-\_\-len)
\item
char $\ast$$\ast$ \hyperlink{parsehelper_8c_a5f168fdd02f9d40ddbad97bd8c0b6361}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv} (char $\ast$args)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file with some helper functions for parsing strings.
\subsection{Function Documentation}
\hypertarget{parsehelper_8c_a5f168fdd02f9d40ddbad97bd8c0b6361}{\index{parsehelper.\-c@{parsehelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv}!parsehelper.c@{parsehelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Parse\-Args\-To\-Argv (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{args}
\end{DoxyParamCaption}
)}}\label{parsehelper_8c_a5f168fdd02f9d40ddbad97bd8c0b6361}
Takes an string of command line arguments and breaks them up into an array based on whitespace.
\begin{DoxyParams}{Parameters}
{\em args} & The string of arguments.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
N\-U\-L\-L on failure, an array of strings on success. The last element of the array is N\-U\-L\-L. The first element of the array is N\-U\-L\-L and should be set to the path of the executable by the caller.
\end{DoxyReturn}
\hypertarget{parsehelper_8c_a508e690ed938e09fc3b724d2faf06899}{\index{parsehelper.\-c@{parsehelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Tokenize@{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize@{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize}!parsehelper.c@{parsehelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Tokenize}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Tokenize (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{str, }
\item[{int}]{max\-\_\-token\-\_\-len}
\end{DoxyParamCaption}
)}}\label{parsehelper_8c_a508e690ed938e09fc3b724d2faf06899}
Takes a string and breaks it into tokens by splitting on whitespace.
\begin{DoxyParams}{Parameters}
{\em str} & The string to be split. \\
\hline
{\em max\-\_\-token\-\_\-len} & Length of each element in the array to be returned.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
N\-U\-L\-L on failure; an array of strings with the tokens on success. The last element of the array is N\-U\-L\-L.
\end{DoxyReturn}

189
visualtest/docs/latex/refman.tex Executable file
View File

@@ -0,0 +1,189 @@
\documentclass[twoside]{book}
% Packages required by doxygen
\usepackage{calc}
\usepackage{doxygen}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{textcomp}
\usepackage[table]{xcolor}
% Font selection
\usepackage[T1]{fontenc}
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{amssymb}
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
% Page & text layout
\usepackage{geometry}
\geometry{%
a4paper,%
top=2.5cm,%
bottom=2.5cm,%
left=2.5cm,%
right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\makeatletter
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@parafont%
}%
}
\renewcommand{\subparagraph}{%
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@subparafont%
}%
}
\makeatother
% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
\fancyhead[CE]{\fancyplain{}{}}
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
\fancyhead[CO]{\fancyplain{}{}}
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
\fancyfoot[LE]{\fancyplain{}{}}
\fancyfoot[CE]{\fancyplain{}{}}
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Sep 26 2013 00:18:24 for SDL Visual Test by Doxygen }}
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated on Thu Sep 26 2013 00:18:24 for SDL Visual Test by Doxygen }}
\fancyfoot[CO]{\fancyplain{}{}}
\fancyfoot[RO]{\fancyplain{}{}}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}%
}
% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex
% Hyperlinks (required, but should be loaded last)
\usepackage{ifpdf}
\ifpdf
\usepackage[pdftex,pagebackref=true]{hyperref}
\else
\usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\hypersetup{%
colorlinks=true,%
linkcolor=blue,%
citecolor=blue,%
unicode%
}
% Custom commands
\newcommand{\clearemptydoublepage}{%
\newpage{\pagestyle{empty}\cleardoublepage}%
}
%===== C O N T E N T S =====
\begin{document}
% Titlepage & ToC
\hypersetup{pageanchor=false}
\pagenumbering{roman}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large S\-D\-L Visual Test }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.4}\\
\vspace*{0.5cm}
{\small Thu Sep 26 2013 00:18:24}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{Visual and Interactive Test Automation for S\-D\-L 2.0}
\label{index}\hypertarget{index}{}\input{index}
\chapter{Data Structure Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Data Structure Documentation}
\input{struct_s_d_l___process_exit_status}
\input{struct_s_d_l___process_info}
\input{struct_s_d_l_visual_test___action}
\input{struct_s_d_l_visual_test___action_node}
\input{struct_s_d_l_visual_test___action_queue}
\input{struct_s_d_l_visual_test___exhaustive_variator}
\input{struct_s_d_l_visual_test___harness_state}
\input{struct_s_d_l_visual_test___random_variator}
\input{struct_s_d_l_visual_test___r_w_helper_buffer}
\input{struct_s_d_l_visual_test___s_u_t_config}
\input{struct_s_d_l_visual_test___s_u_t_int_range}
\input{struct_s_d_l_visual_test___s_u_t_option}
\input{union_s_d_l_visual_test___s_u_t_option_value}
\input{struct_s_d_l_visual_test___variation}
\input{struct_s_d_l_visual_test___variator}
\chapter{File Documentation}
\input{_s_d_l__visualtest__action__configparser_8h}
\input{_s_d_l__visualtest__exhaustive__variator_8h}
\input{_s_d_l__visualtest__harness__argparser_8h}
\input{_s_d_l__visualtest__parsehelper_8h}
\input{_s_d_l__visualtest__process_8h}
\input{_s_d_l__visualtest__random__variator_8h}
\input{_s_d_l__visualtest__screenshot_8h}
\input{_s_d_l__visualtest__sut__configparser_8h}
\input{_s_d_l__visualtest__variator__common_8h}
\input{_s_d_l__visualtest__variators_8h}
\input{action__configparser_8c}
\input{harness__argparser_8c}
\input{linux__process_8c}
\input{mischelper_8c}
\input{parsehelper_8c}
\input{rwhelper_8c}
\input{screenshot_8c}
\input{sut__configparser_8c}
\input{testharness_8c}
\input{variator__common_8c}
\input{variator__exhaustive_8c}
\input{variator__random_8c}
\input{variators_8c}
\input{windows__process_8c}
\input{windows__screenshot_8c}
%--- End generated contents ---
% Index
\newpage
\phantomsection
\addcontentsline{toc}{part}{Index}
\printindex
\end{document}

View File

@@ -0,0 +1,76 @@
\hypertarget{rwhelper_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/rwhelper.c File Reference}
\label{rwhelper_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/rwhelper.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/rwhelper.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{rwhelper_8c_aa7878508e6d851b11dc1d1186324064a}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer} (\hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$buffer)
\item
char \hyperlink{rwhelper_8c_a92794c04d5568bde0da9f3020d88f44c}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char} (S\-D\-L\-\_\-\-R\-Wops $\ast$rw, \hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$buffer)
\item
char $\ast$ \hyperlink{rwhelper_8c_af97cfdf8d58f716efa8fd9204666df12}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line} (S\-D\-L\-\_\-\-R\-Wops $\ast$rw, char $\ast$str, int size, \hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$buffer, char comment\-\_\-char)
\item
int \hyperlink{rwhelper_8c_ac7f94417fa973af01a27452acd0043e8}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines} (S\-D\-L\-\_\-\-R\-Wops $\ast$rw, \hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$buffer, char comment\-\_\-char)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Header file with some helper functions for working with S\-D\-L\-\_\-\-R\-Wops.
Source file with some helper functions for working with S\-D\-L\-\_\-\-R\-Wops.
\subsection{Function Documentation}
\hypertarget{rwhelper_8c_ac7f94417fa973af01a27452acd0043e8}{\index{rwhelper.\-c@{rwhelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines}!rwhelper.c@{rwhelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Count\-Non\-Empty\-Lines (
\begin{DoxyParamCaption}
\item[{S\-D\-L\-\_\-\-R\-Wops $\ast$}]{rw, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$}]{buffer, }
\item[{char}]{comment\-\_\-char}
\end{DoxyParamCaption}
)}}\label{rwhelper_8c_ac7f94417fa973af01a27452acd0043e8}
Counts the number of lines that are not all whitespace and comments using the S\-D\-L\-\_\-\-R\-Wops object pointed to by {\ttfamily rw}. {\ttfamily comment\-\_\-char} indicates the character used for comments. Uses the buffer pointed to by {\ttfamily buffer} to read data in blocks.
\begin{DoxyReturn}{Returns}
Number of lines on success, -\/1 on failure.
\end{DoxyReturn}
\hypertarget{rwhelper_8c_a92794c04d5568bde0da9f3020d88f44c}{\index{rwhelper.\-c@{rwhelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char}!rwhelper.c@{rwhelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char}]{\setlength{\rightskip}{0pt plus 5cm}char S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Char (
\begin{DoxyParamCaption}
\item[{S\-D\-L\-\_\-\-R\-Wops $\ast$}]{rw, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$}]{buffer}
\end{DoxyParamCaption}
)}}\label{rwhelper_8c_a92794c04d5568bde0da9f3020d88f44c}
Reads a single character using the S\-D\-L\-\_\-\-R\-Wops object pointed to by {\ttfamily rw}. This function reads data in blocks and stores them in the buffer pointed to by {\ttfamily buffer}, so other S\-D\-L\-\_\-\-R\-Wops functions should not be used in conjunction with this function.
\begin{DoxyReturn}{Returns}
The character that was read.
\end{DoxyReturn}
\hypertarget{rwhelper_8c_af97cfdf8d58f716efa8fd9204666df12}{\index{rwhelper.\-c@{rwhelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line}!rwhelper.c@{rwhelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Read\-Line (
\begin{DoxyParamCaption}
\item[{S\-D\-L\-\_\-\-R\-Wops $\ast$}]{rw, }
\item[{char $\ast$}]{str, }
\item[{int}]{size, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$}]{buffer, }
\item[{char}]{comment\-\_\-char}
\end{DoxyParamCaption}
)}}\label{rwhelper_8c_af97cfdf8d58f716efa8fd9204666df12}
Reads characters using the S\-D\-L\-\_\-\-R\-Wops object pointed to by {\ttfamily rw} into the character array pointed to by {\ttfamily str} (of size {\ttfamily size}) until either the array is full or a new line is encountered. If {\ttfamily comment\-\_\-char} is encountered, all characters from that position till the end of the line are ignored. The new line is not included as part of the buffer. Lines with only whitespace and comments are ignored. This function reads data in blocks and stores them in the buffer pointed to by {\ttfamily buffer}, so other S\-D\-L\-\_\-\-R\-Wops functions should not be used in conjunction with this function.
\begin{DoxyReturn}{Returns}
pointer to the string on success, N\-U\-L\-L on failure or E\-O\-F.
\end{DoxyReturn}
\hypertarget{rwhelper_8c_aa7878508e6d851b11dc1d1186324064a}{\index{rwhelper.\-c@{rwhelper.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer}!rwhelper.c@{rwhelper.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer} $\ast$}]{buffer}
\end{DoxyParamCaption}
)}}\label{rwhelper_8c_aa7878508e6d851b11dc1d1186324064a}
Resets the buffer pointed to by {\ttfamily buffer} used by some of the helper functions. This function should be called when you're using one of the helper functions with a new S\-D\-L\-\_\-\-R\-Wops object.

View File

@@ -0,0 +1,30 @@
\hypertarget{screenshot_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/screenshot.c File Reference}
\label{screenshot_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/screenshot.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/screenshot.\-c}}
}
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-mischelper.\-h\char`\"{}}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{screenshot_8c_ac7b5335651144961676abc2116c38299}{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots} (char $\ast$args, char $\ast$test\-\_\-dir, char $\ast$verify\-\_\-dir)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the screenshot A\-P\-I.
\subsection{Function Documentation}
\hypertarget{screenshot_8c_ac7b5335651144961676abc2116c38299}{\index{screenshot.\-c@{screenshot.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots@{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots@{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots}!screenshot.c@{screenshot.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Verify\-Screenshots (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{args, }
\item[{char $\ast$}]{test\-\_\-dir, }
\item[{char $\ast$}]{verify\-\_\-dir}
\end{DoxyParamCaption}
)}}\label{screenshot_8c_ac7b5335651144961676abc2116c38299}
Compare a screenshot taken previously with S\-U\-T arguments {\ttfamily args} that is located in {\ttfamily test\-\_\-dir} with a verification image that is located in {\ttfamily verify\-\_\-dir}.
\begin{DoxyReturn}{Returns}
-\/1 on failure, 0 if the images were not equal, 1 if the images are equal and 2 if the verification image is not present.
\end{DoxyReturn}

View File

@@ -0,0 +1,31 @@
\hypertarget{struct_s_d_l___process_exit_status}{\section{S\-D\-L\-\_\-\-Process\-Exit\-Status Struct Reference}
\label{struct_s_d_l___process_exit_status}\index{S\-D\-L\-\_\-\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Process\-Exit\-Status}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-process.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
int \hyperlink{struct_s_d_l___process_exit_status_a51df50c07437f2e816d6ce7ce99e1cac}{exit\-\_\-success}
\item
int \hyperlink{struct_s_d_l___process_exit_status_a9324a9ff7dc6697dd77f02998d5e77d7}{exit\-\_\-status}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
This structure stores the exit status (value returned by \hyperlink{testharness_8c_a0ddf1224851353fc92bfbff6f499fa97}{main()}) and whether the process exited sucessfully or not.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l___process_exit_status_a9324a9ff7dc6697dd77f02998d5e77d7}{\index{S\-D\-L\-\_\-\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Process\-Exit\-Status}!exit\-\_\-status@{exit\-\_\-status}}
\index{exit\-\_\-status@{exit\-\_\-status}!SDL_ProcessExitStatus@{S\-D\-L\-\_\-\-Process\-Exit\-Status}}
\subsubsection[{exit\-\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}int exit\-\_\-status}}\label{struct_s_d_l___process_exit_status_a9324a9ff7dc6697dd77f02998d5e77d7}
The exit status of the process. 8-\/bit value. \hypertarget{struct_s_d_l___process_exit_status_a51df50c07437f2e816d6ce7ce99e1cac}{\index{S\-D\-L\-\_\-\-Process\-Exit\-Status@{S\-D\-L\-\_\-\-Process\-Exit\-Status}!exit\-\_\-success@{exit\-\_\-success}}
\index{exit\-\_\-success@{exit\-\_\-success}!SDL_ProcessExitStatus@{S\-D\-L\-\_\-\-Process\-Exit\-Status}}
\subsubsection[{exit\-\_\-success}]{\setlength{\rightskip}{0pt plus 5cm}int exit\-\_\-success}}\label{struct_s_d_l___process_exit_status_a51df50c07437f2e816d6ce7ce99e1cac}
Zero if the process exited successfully
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__process_8h}{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,15 @@
\hypertarget{struct_s_d_l___process_info}{\section{S\-D\-L\-\_\-\-Process\-Info Struct Reference}
\label{struct_s_d_l___process_info}\index{S\-D\-L\-\_\-\-Process\-Info@{S\-D\-L\-\_\-\-Process\-Info}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-process.\-h$>$}
\subsection{Detailed Description}
Struct to store a platform specific handle to a process.
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__process_8h}{S\-D\-L\-\_\-visualtest\-\_\-process.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,47 @@
\hypertarget{struct_s_d_l_visual_test___action}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Action Struct Reference}
\label{struct_s_d_l_visual_test___action}\index{S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{_s_d_l__visualtest__action__configparser_8h_a383e41b8547eab149a0a4af867b3ebc6}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type} \hyperlink{struct_s_d_l_visual_test___action_a3ab091b672fc470015f09e6c4c50dcf1}{type}
\item
int \hyperlink{struct_s_d_l_visual_test___action_a42715f65f02da52edc5b22021d8ae670}{time}
\item
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>struct \{\\
\>\>char $\ast$ {\bfseries path}\\
\>\>char $\ast$ {\bfseries args}\\
\>\} \hyperlink{struct_s_d_l_visual_test___action_aa43e9883c9f24718f49b984b67b1afdc}{process}\\
\} \hyperlink{struct_s_d_l_visual_test___action_a4626514a67f261290b54fb3d85ca8ddd}{extra}\\
\end{tabbing}\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct that defines an action that will be performed on the S\-U\-T process at a specific time.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___action_a4626514a67f261290b54fb3d85ca8ddd}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}!extra@{extra}}
\index{extra@{extra}!SDLVisualTest_Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}}
\subsubsection[{extra}]{\setlength{\rightskip}{0pt plus 5cm}union \{ ... \} extra}}\label{struct_s_d_l_visual_test___action_a4626514a67f261290b54fb3d85ca8ddd}
Any additional information needed to perform the action. \hypertarget{struct_s_d_l_visual_test___action_aa43e9883c9f24718f49b984b67b1afdc}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}!process@{process}}
\index{process@{process}!SDLVisualTest_Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}}
\subsubsection[{process}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \} process}}\label{struct_s_d_l_visual_test___action_aa43e9883c9f24718f49b984b67b1afdc}
The path and arguments to the process to be launched \hypertarget{struct_s_d_l_visual_test___action_a42715f65f02da52edc5b22021d8ae670}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}!time@{time}}
\index{time@{time}!SDLVisualTest_Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}}
\subsubsection[{time}]{\setlength{\rightskip}{0pt plus 5cm}int time}}\label{struct_s_d_l_visual_test___action_a42715f65f02da52edc5b22021d8ae670}
The time, in milliseconds from the launch of the S\-U\-T, when the action will be performed \hypertarget{struct_s_d_l_visual_test___action_a3ab091b672fc470015f09e6c4c50dcf1}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}!type@{type}}
\index{type@{type}!SDLVisualTest_Action@{S\-D\-L\-Visual\-Test\-\_\-\-Action}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Type} type}}\label{struct_s_d_l_visual_test___action_a3ab091b672fc470015f09e6c4c50dcf1}
The type of action to be performed
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__action__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,31 @@
\hypertarget{struct_s_d_l_visual_test___action_node}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node Struct Reference}
\label{struct_s_d_l_visual_test___action_node}\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{struct_s_d_l_visual_test___action}{S\-D\-L\-Visual\-Test\-\_\-\-Action} \hyperlink{struct_s_d_l_visual_test___action_node_af46ec45094cc74a7432626a6234c6575}{action}
\item
struct \hyperlink{struct_s_d_l_visual_test___action_node}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node} $\ast$ \hyperlink{struct_s_d_l_visual_test___action_node_ae6154b60b896ce1a184d060ee4664485}{next}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct for a node in the action queue.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___action_node_af46ec45094cc74a7432626a6234c6575}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}!action@{action}}
\index{action@{action}!SDLVisualTest_ActionNode@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}}
\subsubsection[{action}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action} action}}\label{struct_s_d_l_visual_test___action_node_af46ec45094cc74a7432626a6234c6575}
The action in this node \hypertarget{struct_s_d_l_visual_test___action_node_ae6154b60b896ce1a184d060ee4664485}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}!next@{next}}
\index{next@{next}!SDLVisualTest_ActionNode@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}}
\subsubsection[{next}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}$\ast$ next}}\label{struct_s_d_l_visual_test___action_node_ae6154b60b896ce1a184d060ee4664485}
Pointer to the next element in the queue
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__action__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,36 @@
\hypertarget{struct_s_d_l_visual_test___action_queue}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue Struct Reference}
\label{struct_s_d_l_visual_test___action_queue}\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{struct_s_d_l_visual_test___action_node}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node} $\ast$ \hyperlink{struct_s_d_l_visual_test___action_queue_a8b810b2fd2b05698be642ee08836a452}{front}
\item
\hyperlink{struct_s_d_l_visual_test___action_node}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node} $\ast$ \hyperlink{struct_s_d_l_visual_test___action_queue_a4aaf4563956932c81c65d05f9020f2ce}{rear}
\item
int \hyperlink{struct_s_d_l_visual_test___action_queue_a439227feff9d7f55384e8780cfc2eb82}{size}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Queue structure for actions loaded from the actions config file.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___action_queue_a8b810b2fd2b05698be642ee08836a452}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}!front@{front}}
\index{front@{front}!SDLVisualTest_ActionQueue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}}
\subsubsection[{front}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}$\ast$ front}}\label{struct_s_d_l_visual_test___action_queue_a8b810b2fd2b05698be642ee08836a452}
Pointer to the front of the queue \hypertarget{struct_s_d_l_visual_test___action_queue_a4aaf4563956932c81c65d05f9020f2ce}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}!rear@{rear}}
\index{rear@{rear}!SDLVisualTest_ActionQueue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}}
\subsubsection[{rear}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Node}$\ast$ rear}}\label{struct_s_d_l_visual_test___action_queue_a4aaf4563956932c81c65d05f9020f2ce}
Pointer to the rear of the queue \hypertarget{struct_s_d_l_visual_test___action_queue_a439227feff9d7f55384e8780cfc2eb82}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}!size@{size}}
\index{size@{size}!SDLVisualTest_ActionQueue@{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}int size}}\label{struct_s_d_l_visual_test___action_queue_a439227feff9d7f55384e8780cfc2eb82}
Number of nodes in the queue
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__action__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-action\-\_\-configparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,36 @@
\hypertarget{struct_s_d_l_visual_test___exhaustive_variator}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator Struct Reference}
\label{struct_s_d_l_visual_test___exhaustive_variator}\index{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} \hyperlink{struct_s_d_l_visual_test___exhaustive_variator_a11c2995cf19b41c4a1b1f8d9b4081ff7}{variation}
\item
\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} \hyperlink{struct_s_d_l_visual_test___exhaustive_variator_ab66b4220589b2e2b6e1fde7d6c20bd72}{config}
\item
char \hyperlink{struct_s_d_l_visual_test___exhaustive_variator_a2b599af5b00be0f525ffc18feb0775a8}{buffer} \mbox{[}\hyperlink{_s_d_l__visualtest__harness__argparser_8h_a8485cbda108eca56406d67aaa685fcc5}{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}\mbox{]}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct for the variator that exhaustively iterates through all variations of command line arguments to the S\-U\-T.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___exhaustive_variator_a2b599af5b00be0f525ffc18feb0775a8}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}!buffer@{buffer}}
\index{buffer@{buffer}!SDLVisualTest_ExhaustiveVariator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}}
\subsubsection[{buffer}]{\setlength{\rightskip}{0pt plus 5cm}char buffer\mbox{[}{\bf M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___exhaustive_variator_a2b599af5b00be0f525ffc18feb0775a8}
Buffer to store the arguments string built from the variation \hypertarget{struct_s_d_l_visual_test___exhaustive_variator_ab66b4220589b2e2b6e1fde7d6c20bd72}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}!config@{config}}
\index{config@{config}!SDLVisualTest_ExhaustiveVariator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}}
\subsubsection[{config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} config}}\label{struct_s_d_l_visual_test___exhaustive_variator_ab66b4220589b2e2b6e1fde7d6c20bd72}
Configuration object for the S\-U\-T that the variator is running for. \hypertarget{struct_s_d_l_visual_test___exhaustive_variator_a11c2995cf19b41c4a1b1f8d9b4081ff7}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}!variation@{variation}}
\index{variation@{variation}!SDLVisualTest_ExhaustiveVariator@{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator}}
\subsubsection[{variation}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} variation}}\label{struct_s_d_l_visual_test___exhaustive_variator_a11c2995cf19b41c4a1b1f8d9b4081ff7}
The current variation.
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__exhaustive__variator_8h}{S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,71 @@
\hypertarget{struct_s_d_l_visual_test___harness_state}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State Struct Reference}
\label{struct_s_d_l_visual_test___harness_state}\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
char \hyperlink{struct_s_d_l_visual_test___harness_state_af277bbb5c712eb89e92337dd583a8b74}{sutapp} \mbox{[}\hyperlink{_s_d_l__visualtest__harness__argparser_8h_abdd33f362ae3bbdacb5de76473aa8a2f}{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}\mbox{]}
\item
char \hyperlink{struct_s_d_l_visual_test___harness_state_a00fab9c7cf802b96b6b29e098292d24d}{sutargs} \mbox{[}\hyperlink{_s_d_l__visualtest__harness__argparser_8h_a8485cbda108eca56406d67aaa685fcc5}{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}\mbox{]}
\item
int \hyperlink{struct_s_d_l_visual_test___harness_state_a493b57f443cc38b3d3df9c1e584d9d82}{timeout}
\item
\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} \hyperlink{struct_s_d_l_visual_test___harness_state_a42657080015a96da836e1640bbdf870e}{sut\-\_\-config}
\item
\hyperlink{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} \hyperlink{struct_s_d_l_visual_test___harness_state_aaaa989ae89caee6d39c722cfe6907466}{variator\-\_\-type}
\item
int \hyperlink{struct_s_d_l_visual_test___harness_state_a0bd4e04c0c6be7b94e68501bb31dd62c}{num\-\_\-variations}
\item
S\-D\-L\-\_\-bool \hyperlink{struct_s_d_l_visual_test___harness_state_a091c0d08290b73216a736ff42ac8fa99}{no\-\_\-launch}
\item
\hyperlink{struct_s_d_l_visual_test___action_queue}{S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} \hyperlink{struct_s_d_l_visual_test___harness_state_ae25567527563fbd7373fa1cf7cdede61}{action\-\_\-queue}
\item
char \hyperlink{struct_s_d_l_visual_test___harness_state_aafa9a2fb15490380b6c2edd704f4fcf0}{output\-\_\-dir} \mbox{[}\hyperlink{_s_d_l__visualtest__harness__argparser_8h_abdd33f362ae3bbdacb5de76473aa8a2f}{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}\mbox{]}
\item
char \hyperlink{struct_s_d_l_visual_test___harness_state_adc871112f24f61e2fff74a7a7fb9794f}{verify\-\_\-dir} \mbox{[}\hyperlink{_s_d_l__visualtest__harness__argparser_8h_abdd33f362ae3bbdacb5de76473aa8a2f}{M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}\mbox{]}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Stores the state of the test harness.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___harness_state_ae25567527563fbd7373fa1cf7cdede61}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!action\-\_\-queue@{action\-\_\-queue}}
\index{action\-\_\-queue@{action\-\_\-queue}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{action\-\_\-queue}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Action\-Queue} action\-\_\-queue}}\label{struct_s_d_l_visual_test___harness_state_ae25567527563fbd7373fa1cf7cdede61}
A queue with actions to be performed while the S\-U\-T is running \hypertarget{struct_s_d_l_visual_test___harness_state_a091c0d08290b73216a736ff42ac8fa99}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!no\-\_\-launch@{no\-\_\-launch}}
\index{no\-\_\-launch@{no\-\_\-launch}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{no\-\_\-launch}]{\setlength{\rightskip}{0pt plus 5cm}S\-D\-L\-\_\-bool no\-\_\-launch}}\label{struct_s_d_l_visual_test___harness_state_a091c0d08290b73216a736ff42ac8fa99}
If true, the test harness will just print the different variations without launching the S\-U\-T for each one \hypertarget{struct_s_d_l_visual_test___harness_state_a0bd4e04c0c6be7b94e68501bb31dd62c}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!num\-\_\-variations@{num\-\_\-variations}}
\index{num\-\_\-variations@{num\-\_\-variations}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{num\-\_\-variations}]{\setlength{\rightskip}{0pt plus 5cm}int num\-\_\-variations}}\label{struct_s_d_l_visual_test___harness_state_a0bd4e04c0c6be7b94e68501bb31dd62c}
The number of variations to generate \hypertarget{struct_s_d_l_visual_test___harness_state_aafa9a2fb15490380b6c2edd704f4fcf0}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!output\-\_\-dir@{output\-\_\-dir}}
\index{output\-\_\-dir@{output\-\_\-dir}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{output\-\_\-dir}]{\setlength{\rightskip}{0pt plus 5cm}char output\-\_\-dir\mbox{[}{\bf M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___harness_state_aafa9a2fb15490380b6c2edd704f4fcf0}
Output directory to save the screenshots \hypertarget{struct_s_d_l_visual_test___harness_state_a42657080015a96da836e1640bbdf870e}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!sut\-\_\-config@{sut\-\_\-config}}
\index{sut\-\_\-config@{sut\-\_\-config}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{sut\-\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} sut\-\_\-config}}\label{struct_s_d_l_visual_test___harness_state_a42657080015a96da836e1640bbdf870e}
Configuration object for the S\-U\-T \hypertarget{struct_s_d_l_visual_test___harness_state_af277bbb5c712eb89e92337dd583a8b74}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!sutapp@{sutapp}}
\index{sutapp@{sutapp}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{sutapp}]{\setlength{\rightskip}{0pt plus 5cm}char sutapp\mbox{[}{\bf M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___harness_state_af277bbb5c712eb89e92337dd583a8b74}
Path to the System Under Test (S\-U\-T) executable \hypertarget{struct_s_d_l_visual_test___harness_state_a00fab9c7cf802b96b6b29e098292d24d}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!sutargs@{sutargs}}
\index{sutargs@{sutargs}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{sutargs}]{\setlength{\rightskip}{0pt plus 5cm}char sutargs\mbox{[}{\bf M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___harness_state_a00fab9c7cf802b96b6b29e098292d24d}
Command line arguments to be passed to the S\-U\-T \hypertarget{struct_s_d_l_visual_test___harness_state_a493b57f443cc38b3d3df9c1e584d9d82}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!timeout@{timeout}}
\index{timeout@{timeout}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{timeout}]{\setlength{\rightskip}{0pt plus 5cm}int timeout}}\label{struct_s_d_l_visual_test___harness_state_a493b57f443cc38b3d3df9c1e584d9d82}
Time in milliseconds after which to kill the S\-U\-T \hypertarget{struct_s_d_l_visual_test___harness_state_aaaa989ae89caee6d39c722cfe6907466}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!variator\-\_\-type@{variator\-\_\-type}}
\index{variator\-\_\-type@{variator\-\_\-type}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{variator\-\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} variator\-\_\-type}}\label{struct_s_d_l_visual_test___harness_state_aaaa989ae89caee6d39c722cfe6907466}
What type of variator to use to generate argument strings \hypertarget{struct_s_d_l_visual_test___harness_state_adc871112f24f61e2fff74a7a7fb9794f}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}!verify\-\_\-dir@{verify\-\_\-dir}}
\index{verify\-\_\-dir@{verify\-\_\-dir}!SDLVisualTest_HarnessState@{S\-D\-L\-Visual\-Test\-\_\-\-Harness\-State}}
\subsubsection[{verify\-\_\-dir}]{\setlength{\rightskip}{0pt plus 5cm}char verify\-\_\-dir\mbox{[}{\bf M\-A\-X\-\_\-\-P\-A\-T\-H\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___harness_state_adc871112f24f61e2fff74a7a7fb9794f}
Path to directory with the verification images
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__harness__argparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,36 @@
\hypertarget{struct_s_d_l_visual_test___r_w_helper_buffer}{\section{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer Struct Reference}
\label{struct_s_d_l_visual_test___r_w_helper_buffer}\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
char \hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer_a5b528063c1aaa0e626f5d5e49de5baad}{buffer} \mbox{[}R\-W\-O\-P\-S\-\_\-\-B\-U\-F\-F\-E\-R\-\_\-\-L\-E\-N\mbox{]}
\item
int \hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer_a8a37d41b7b076eced766d7418450477d}{buffer\-\_\-pos}
\item
int \hyperlink{struct_s_d_l_visual_test___r_w_helper_buffer_adb2920cd89b7b8b8b014290e82746d8c}{buffer\-\_\-width}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct that is used as a buffer by the R\-W helper functions. Should be initialized by calling \hyperlink{rwhelper_8c_aa7878508e6d851b11dc1d1186324064a}{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Reset\-Buffer()} before being used.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___r_w_helper_buffer_a5b528063c1aaa0e626f5d5e49de5baad}{\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}!buffer@{buffer}}
\index{buffer@{buffer}!SDLVisualTest_RWHelperBuffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}}
\subsubsection[{buffer}]{\setlength{\rightskip}{0pt plus 5cm}char buffer\mbox{[}R\-W\-O\-P\-S\-\_\-\-B\-U\-F\-F\-E\-R\-\_\-\-L\-E\-N\mbox{]}}}\label{struct_s_d_l_visual_test___r_w_helper_buffer_a5b528063c1aaa0e626f5d5e49de5baad}
Character buffer that data is read into \hypertarget{struct_s_d_l_visual_test___r_w_helper_buffer_a8a37d41b7b076eced766d7418450477d}{\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}!buffer\-\_\-pos@{buffer\-\_\-pos}}
\index{buffer\-\_\-pos@{buffer\-\_\-pos}!SDLVisualTest_RWHelperBuffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}}
\subsubsection[{buffer\-\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}int buffer\-\_\-pos}}\label{struct_s_d_l_visual_test___r_w_helper_buffer_a8a37d41b7b076eced766d7418450477d}
buffer\mbox{[}buffer\-\_\-pos\mbox{]} is the next character to be read from the buffer \hypertarget{struct_s_d_l_visual_test___r_w_helper_buffer_adb2920cd89b7b8b8b014290e82746d8c}{\index{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}!buffer\-\_\-width@{buffer\-\_\-width}}
\index{buffer\-\_\-width@{buffer\-\_\-width}!SDLVisualTest_RWHelperBuffer@{S\-D\-L\-Visual\-Test\-\_\-\-R\-W\-Helper\-Buffer}}
\subsubsection[{buffer\-\_\-width}]{\setlength{\rightskip}{0pt plus 5cm}int buffer\-\_\-width}}\label{struct_s_d_l_visual_test___r_w_helper_buffer_adb2920cd89b7b8b8b014290e82746d8c}
Number of character read into the buffer
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h\end{DoxyCompactItemize}

View File

@@ -0,0 +1,36 @@
\hypertarget{struct_s_d_l_visual_test___random_variator}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator Struct Reference}
\label{struct_s_d_l_visual_test___random_variator}\index{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} \hyperlink{struct_s_d_l_visual_test___random_variator_a11c2995cf19b41c4a1b1f8d9b4081ff7}{variation}
\item
\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} \hyperlink{struct_s_d_l_visual_test___random_variator_ab66b4220589b2e2b6e1fde7d6c20bd72}{config}
\item
char \hyperlink{struct_s_d_l_visual_test___random_variator_a2b599af5b00be0f525ffc18feb0775a8}{buffer} \mbox{[}\hyperlink{_s_d_l__visualtest__harness__argparser_8h_a8485cbda108eca56406d67aaa685fcc5}{M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}\mbox{]}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct for the variator that randomly generates variations of command line arguments to the S\-U\-T.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___random_variator_a2b599af5b00be0f525ffc18feb0775a8}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}!buffer@{buffer}}
\index{buffer@{buffer}!SDLVisualTest_RandomVariator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}}
\subsubsection[{buffer}]{\setlength{\rightskip}{0pt plus 5cm}char buffer\mbox{[}{\bf M\-A\-X\-\_\-\-S\-U\-T\-\_\-\-A\-R\-G\-S\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___random_variator_a2b599af5b00be0f525ffc18feb0775a8}
Buffer to store the arguments string built from the variation \hypertarget{struct_s_d_l_visual_test___random_variator_ab66b4220589b2e2b6e1fde7d6c20bd72}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}!config@{config}}
\index{config@{config}!SDLVisualTest_RandomVariator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}}
\subsubsection[{config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} config}}\label{struct_s_d_l_visual_test___random_variator_ab66b4220589b2e2b6e1fde7d6c20bd72}
Configuration object for the S\-U\-T that the variator is running for. \hypertarget{struct_s_d_l_visual_test___random_variator_a11c2995cf19b41c4a1b1f8d9b4081ff7}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}!variation@{variation}}
\index{variation@{variation}!SDLVisualTest_RandomVariator@{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator}}
\subsubsection[{variation}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} variation}}\label{struct_s_d_l_visual_test___random_variator_a11c2995cf19b41c4a1b1f8d9b4081ff7}
The current variation.
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__random__variator_8h}{S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,31 @@
\hypertarget{struct_s_d_l_visual_test___s_u_t_config}{\section{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config Struct Reference}
\label{struct_s_d_l_visual_test___s_u_t_config}\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} $\ast$ \hyperlink{struct_s_d_l_visual_test___s_u_t_config_afda1bef370f3d5ea6919b7b6a73d01c0}{options}
\item
int \hyperlink{struct_s_d_l_visual_test___s_u_t_config_a593108c2cc4b7dd3edecefd724edfd51}{num\-\_\-options}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct to hold all the options to an S\-U\-T application.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___s_u_t_config_a593108c2cc4b7dd3edecefd724edfd51}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}!num\-\_\-options@{num\-\_\-options}}
\index{num\-\_\-options@{num\-\_\-options}!SDLVisualTest_SUTConfig@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}
\subsubsection[{num\-\_\-options}]{\setlength{\rightskip}{0pt plus 5cm}int num\-\_\-options}}\label{struct_s_d_l_visual_test___s_u_t_config_a593108c2cc4b7dd3edecefd724edfd51}
Number of options in {\ttfamily options} \hypertarget{struct_s_d_l_visual_test___s_u_t_config_afda1bef370f3d5ea6919b7b6a73d01c0}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}!options@{options}}
\index{options@{options}!SDLVisualTest_SUTConfig@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config}}
\subsubsection[{options}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}$\ast$ options}}\label{struct_s_d_l_visual_test___s_u_t_config_afda1bef370f3d5ea6919b7b6a73d01c0}
Pointer to an array of options
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__sut__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,31 @@
\hypertarget{struct_s_d_l_visual_test___s_u_t_int_range}{\section{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range Struct Reference}
\label{struct_s_d_l_visual_test___s_u_t_int_range}\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
int \hyperlink{struct_s_d_l_visual_test___s_u_t_int_range_a3e202b201e6255d975cd6d3aff1f5a4d}{min}
\item
int \hyperlink{struct_s_d_l_visual_test___s_u_t_int_range_ae1e1dde676c120fa6d10f3bb2c14059e}{max}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Represents the range of values an integer option can take.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___s_u_t_int_range_ae1e1dde676c120fa6d10f3bb2c14059e}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}!max@{max}}
\index{max@{max}!SDLVisualTest_SUTIntRange@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}
\subsubsection[{max}]{\setlength{\rightskip}{0pt plus 5cm}int max}}\label{struct_s_d_l_visual_test___s_u_t_int_range_ae1e1dde676c120fa6d10f3bb2c14059e}
Maximum value of the integer option \hypertarget{struct_s_d_l_visual_test___s_u_t_int_range_a3e202b201e6255d975cd6d3aff1f5a4d}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}!min@{min}}
\index{min@{min}!SDLVisualTest_SUTIntRange@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range}}
\subsubsection[{min}]{\setlength{\rightskip}{0pt plus 5cm}int min}}\label{struct_s_d_l_visual_test___s_u_t_int_range_a3e202b201e6255d975cd6d3aff1f5a4d}
Minimum value of the integer option
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__sut__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,62 @@
\hypertarget{struct_s_d_l_visual_test___s_u_t_option}{\section{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option Struct Reference}
\label{struct_s_d_l_visual_test___s_u_t_option}\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
char \hyperlink{struct_s_d_l_visual_test___s_u_t_option_ad14ca616d8f7c9b61eff58baaead7f1f}{name} \mbox{[}\hyperlink{_s_d_l__visualtest__sut__configparser_8h_a0a8b0c1f8eee787abf09bf3a840eccc7}{M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}\mbox{]}
\item
char $\ast$$\ast$ \hyperlink{struct_s_d_l_visual_test___s_u_t_option_a6744d43d3ad17d06068dba9ee7b78c83}{categories}
\item
\hyperlink{_s_d_l__visualtest__sut__configparser_8h_af9893831d9f79360f57e84a67a90293c}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type} \hyperlink{struct_s_d_l_visual_test___s_u_t_option_a857b9e5ccfca26034b47a5f3236d822c}{type}
\item
S\-D\-L\-\_\-bool \hyperlink{struct_s_d_l_visual_test___s_u_t_option_a79305c1b10f7b4defee52e1eefde8fbc}{required}
\item
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>\hyperlink{struct_s_d_l_visual_test___s_u_t_int_range}{SDLVisualTest\_SUTIntRange} \hyperlink{struct_s_d_l_visual_test___s_u_t_option_a2bb1301268866e0e41d035ea0a4914e8}{range}\\
\>char $\ast$$\ast$ \hyperlink{struct_s_d_l_visual_test___s_u_t_option_a596ff3567c4b736561dba1915a2cd38d}{enum\_values}\\
\} \hyperlink{struct_s_d_l_visual_test___s_u_t_option_aa9545bd4acd476f61533d04d53cdffdc}{data}\\
\end{tabbing}\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct that defines an option to be passed to the S\-U\-T.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___s_u_t_option_a6744d43d3ad17d06068dba9ee7b78c83}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!categories@{categories}}
\index{categories@{categories}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{categories}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ categories}}\label{struct_s_d_l_visual_test___s_u_t_option_a6744d43d3ad17d06068dba9ee7b78c83}
An array of categories that the option belongs to. The last element is N\-U\-L\-L. \hypertarget{struct_s_d_l_visual_test___s_u_t_option_aa9545bd4acd476f61533d04d53cdffdc}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!data@{data}}
\index{data@{data}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{data}]{\setlength{\rightskip}{0pt plus 5cm}union \{ ... \} data}}\label{struct_s_d_l_visual_test___s_u_t_option_aa9545bd4acd476f61533d04d53cdffdc}
extra data that is required for certain types \hypertarget{struct_s_d_l_visual_test___s_u_t_option_a596ff3567c4b736561dba1915a2cd38d}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!enum\-\_\-values@{enum\-\_\-values}}
\index{enum\-\_\-values@{enum\-\_\-values}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{enum\-\_\-values}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ enum\-\_\-values}}\label{struct_s_d_l_visual_test___s_u_t_option_a596ff3567c4b736561dba1915a2cd38d}
\begin{DoxyVerb}This field is valid only for enum type options; it holds the list of values
\end{DoxyVerb}
that the option can take. The last element is N\-U\-L\-L \hypertarget{struct_s_d_l_visual_test___s_u_t_option_ad14ca616d8f7c9b61eff58baaead7f1f}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!name@{name}}
\index{name@{name}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}char name\mbox{[}{\bf M\-A\-X\-\_\-\-S\-U\-T\-O\-P\-T\-I\-O\-N\-\_\-\-N\-A\-M\-E\-\_\-\-L\-E\-N}\mbox{]}}}\label{struct_s_d_l_visual_test___s_u_t_option_ad14ca616d8f7c9b61eff58baaead7f1f}
The name of the option. This is what you would pass in the command line along with two leading hyphens. \hypertarget{struct_s_d_l_visual_test___s_u_t_option_a2bb1301268866e0e41d035ea0a4914e8}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!range@{range}}
\index{range@{range}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{range}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Int\-Range} range}}\label{struct_s_d_l_visual_test___s_u_t_option_a2bb1301268866e0e41d035ea0a4914e8}
\begin{DoxyVerb}This field is valid only for integer type options; it defines the
\end{DoxyVerb}
valid range for such an option \hypertarget{struct_s_d_l_visual_test___s_u_t_option_a79305c1b10f7b4defee52e1eefde8fbc}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!required@{required}}
\index{required@{required}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{required}]{\setlength{\rightskip}{0pt plus 5cm}S\-D\-L\-\_\-bool required}}\label{struct_s_d_l_visual_test___s_u_t_option_a79305c1b10f7b4defee52e1eefde8fbc}
Whether the option is required or not \hypertarget{struct_s_d_l_visual_test___s_u_t_option_a857b9e5ccfca26034b47a5f3236d822c}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}!type@{type}}
\index{type@{type}!SDLVisualTest_SUTOption@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Type} type}}\label{struct_s_d_l_visual_test___s_u_t_option_a857b9e5ccfca26034b47a5f3236d822c}
Type of the option -\/ integer, boolean, etc.
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__sut__configparser_8h}{S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,31 @@
\hypertarget{struct_s_d_l_visual_test___variation}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Variation Struct Reference}
\label{struct_s_d_l_visual_test___variation}\index{S\-D\-L\-Visual\-Test\-\_\-\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{union_s_d_l_visual_test___s_u_t_option_value}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} $\ast$ \hyperlink{struct_s_d_l_visual_test___variation_a1eab2e90f0195b4f4632eb19523aeadf}{vars}
\item
int \hyperlink{struct_s_d_l_visual_test___variation_a2daded0b80f9ab7ed3703cc2686e5a92}{num\-\_\-vars}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Represents a valid combination of parameters that can be passed to the S\-U\-T. The ordering of the values here is the same as the ordering of the options in the \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} object for this variation.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___variation_a2daded0b80f9ab7ed3703cc2686e5a92}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}!num\-\_\-vars@{num\-\_\-vars}}
\index{num\-\_\-vars@{num\-\_\-vars}!SDLVisualTest_Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}}
\subsubsection[{num\-\_\-vars}]{\setlength{\rightskip}{0pt plus 5cm}int num\-\_\-vars}}\label{struct_s_d_l_visual_test___variation_a2daded0b80f9ab7ed3703cc2686e5a92}
Number of option values in {\ttfamily vars} \hypertarget{struct_s_d_l_visual_test___variation_a1eab2e90f0195b4f4632eb19523aeadf}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}!vars@{vars}}
\index{vars@{vars}!SDLVisualTest_Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Variation}}
\subsubsection[{vars}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}$\ast$ vars}}\label{struct_s_d_l_visual_test___variation_a1eab2e90f0195b4f4632eb19523aeadf}
Pointer to array of option values
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__variator__common_8h}{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,37 @@
\hypertarget{struct_s_d_l_visual_test___variator}{\section{S\-D\-L\-Visual\-Test\-\_\-\-Variator Struct Reference}
\label{struct_s_d_l_visual_test___variator}\index{S\-D\-L\-Visual\-Test\-\_\-\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-variators.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
\hyperlink{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} \hyperlink{struct_s_d_l_visual_test___variator_a24d4399dc1877c1843e120e7b027ae64}{type}
\item
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{SDLVisualTest\_ExhaustiveVariator} {\bfseries exhaustive}\\
\>\hyperlink{struct_s_d_l_visual_test___random_variator}{SDLVisualTest\_RandomVariator} {\bfseries random}\\
\} \hyperlink{struct_s_d_l_visual_test___variator_af99a8790e729d599c656a2070e672e9a}{data}\\
\end{tabbing}\end{DoxyCompactItemize}
\subsection{Detailed Description}
Struct that acts like a wrapper around the different types of variators available.
\subsection{Field Documentation}
\hypertarget{struct_s_d_l_visual_test___variator_af99a8790e729d599c656a2070e672e9a}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}!data@{data}}
\index{data@{data}!SDLVisualTest_Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}}
\subsubsection[{data}]{\setlength{\rightskip}{0pt plus 5cm}union \{ ... \} data}}\label{struct_s_d_l_visual_test___variator_af99a8790e729d599c656a2070e672e9a}
union object that stores the variator \hypertarget{struct_s_d_l_visual_test___variator_a24d4399dc1877c1843e120e7b027ae64}{\index{S\-D\-L\-Visual\-Test\-\_\-\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}!type@{type}}
\index{type@{type}!SDLVisualTest_Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Variator}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} type}}\label{struct_s_d_l_visual_test___variator_a24d4399dc1877c1843e120e7b027ae64}
Type of the variator
The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__variators_8h}{S\-D\-L\-\_\-visualtest\-\_\-variators.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,50 @@
\hypertarget{sut__configparser_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/sut\-\_\-configparser.c File Reference}
\label{sut__configparser_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/sut\-\_\-configparser.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/sut\-\_\-configparser.\-c}}
}
{\ttfamily \#include $<$limits.\-h$>$}\\*
{\ttfamily \#include $<$string.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-rwops.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-parsehelper.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-rwhelper.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{sut__configparser_8c_a8e178cd8a1f279f5d2cf908545e97544}{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config} (char $\ast$file, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\item
void \hyperlink{sut__configparser_8c_a1bddf9732c0d3ed1c24455d22193de9a}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config} (\hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the parser for S\-U\-T config files.
\subsection{Function Documentation}
\hypertarget{sut__configparser_8c_a1bddf9732c0d3ed1c24455d22193de9a}{\index{sut\-\_\-configparser.\-c@{sut\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}!sut_configparser.c@{sut\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-S\-U\-T\-Config (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{sut__configparser_8c_a1bddf9732c0d3ed1c24455d22193de9a}
Free any resources associated with the config object pointed to by {\ttfamily config}. \hypertarget{sut__configparser_8c_a8e178cd8a1f279f5d2cf908545e97544}{\index{sut\-\_\-configparser.\-c@{sut\-\_\-configparser.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config@{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}!sut_configparser.c@{sut\-\_\-configparser.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Parse\-S\-U\-T\-Config (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{file, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{sut__configparser_8c_a8e178cd8a1f279f5d2cf908545e97544}
Parses a configuration file that describes the command line options an S\-U\-T application will take and populates a S\-U\-T config object. All lines in the config file must be smaller than
\begin{DoxyParams}{Parameters}
{\em file} & Path to the configuration file. \\
\hline
{\em config} & Pointer to an object that represents an S\-U\-T configuration.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
zero on failure, non-\/zero on success
\end{DoxyReturn}

View File

@@ -0,0 +1,68 @@
\hypertarget{testharness_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/testharness.c File Reference}
\label{testharness_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/testharness.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/testharness.\-c}}
}
{\ttfamily \#include $<$stdlib.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-assert.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-harness\-\_\-argparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-process.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-variators.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-screenshot.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-mischelper.\-h\char`\"{}}\\*
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item
\#define \hyperlink{testharness_8c_a0d1d5d1394089a10f0147ed2b89c1165}{A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}~0
\item
\#define \hyperlink{testharness_8c_acdc6cb4935ca89fbe3fda31a8f533b9a}{K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}~1
\item
\#define \hyperlink{testharness_8c_a70102426e83ed3944f9c060bd82fb54e}{A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S}~10
\item
\#define \hyperlink{testharness_8c_a562e15dd66cf158c98dbfec9f6afa1ae}{T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D}~1
\item
\#define \hyperlink{testharness_8c_a8b8b91205df891e2c7837bd03795306f}{T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D}~0
\item
\#define \hyperlink{testharness_8c_a8251bcdfc5c83845e0834adf211de033}{T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R}~-\/1
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{testharness_8c_a0ddf1224851353fc92bfbff6f499fa97}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the test harness.
\subsection{Macro Definition Documentation}
\hypertarget{testharness_8c_a70102426e83ed3944f9c060bd82fb54e}{\index{testharness.\-c@{testharness.\-c}!A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S@{A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S}}
\index{A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S@{A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S}!testharness.c@{testharness.\-c}}
\subsubsection[{A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\-C\-T\-I\-O\-N\-\_\-\-L\-O\-O\-P\-\_\-\-F\-P\-S~10}}\label{testharness_8c_a70102426e83ed3944f9c060bd82fb54e}
F\-P\-S value used for delays in the action loop \hypertarget{testharness_8c_a0d1d5d1394089a10f0147ed2b89c1165}{\index{testharness.\-c@{testharness.\-c}!A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T@{A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}}
\index{A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T@{A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}!testharness.c@{testharness.\-c}}
\subsubsection[{A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}]{\setlength{\rightskip}{0pt plus 5cm}\#define A\-C\-T\-I\-O\-N\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T~0}}\label{testharness_8c_a0d1d5d1394089a10f0147ed2b89c1165}
Code for the user event triggered when a new action is to be executed \hypertarget{testharness_8c_acdc6cb4935ca89fbe3fda31a8f533b9a}{\index{testharness.\-c@{testharness.\-c}!K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T@{K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}}
\index{K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T@{K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}!testharness.c@{testharness.\-c}}
\subsubsection[{K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T}]{\setlength{\rightskip}{0pt plus 5cm}\#define K\-I\-L\-L\-\_\-\-T\-I\-M\-E\-R\-\_\-\-E\-V\-E\-N\-T~1}}\label{testharness_8c_acdc6cb4935ca89fbe3fda31a8f533b9a}
Code for the user event triggered when the maximum timeout is reached \hypertarget{testharness_8c_a8251bcdfc5c83845e0834adf211de033}{\index{testharness.\-c@{testharness.\-c}!T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R@{T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R}}
\index{T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R@{T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R}!testharness.c@{testharness.\-c}}
\subsubsection[{T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\-E\-S\-T\-\_\-\-E\-R\-R\-O\-R~-\/1}}\label{testharness_8c_a8251bcdfc5c83845e0834adf211de033}
Value returned by Run\-S\-U\-T\-And\-Test() on a fatal error \hypertarget{testharness_8c_a8b8b91205df891e2c7837bd03795306f}{\index{testharness.\-c@{testharness.\-c}!T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D@{T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D}}
\index{T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D@{T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D}!testharness.c@{testharness.\-c}}
\subsubsection[{T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\-E\-S\-T\-\_\-\-F\-A\-I\-L\-E\-D~0}}\label{testharness_8c_a8b8b91205df891e2c7837bd03795306f}
Value returned by Run\-S\-U\-T\-And\-Test() when the test has failed \hypertarget{testharness_8c_a562e15dd66cf158c98dbfec9f6afa1ae}{\index{testharness.\-c@{testharness.\-c}!T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D@{T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D}}
\index{T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D@{T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D}!testharness.c@{testharness.\-c}}
\subsubsection[{T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\-E\-S\-T\-\_\-\-P\-A\-S\-S\-E\-D~1}}\label{testharness_8c_a562e15dd66cf158c98dbfec9f6afa1ae}
Value returned by Run\-S\-U\-T\-And\-Test() when the test has passed
\subsection{Function Documentation}
\hypertarget{testharness_8c_a0ddf1224851353fc92bfbff6f499fa97}{\index{testharness.\-c@{testharness.\-c}!main@{main}}
\index{main@{main}!testharness.c@{testharness.\-c}}
\subsubsection[{main}]{\setlength{\rightskip}{0pt plus 5cm}int main (
\begin{DoxyParamCaption}
\item[{int}]{argc, }
\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]}}
\end{DoxyParamCaption}
)}}\label{testharness_8c_a0ddf1224851353fc92bfbff6f499fa97}
Entry point for testharness

View File

@@ -0,0 +1,59 @@
\hypertarget{union_s_d_l_visual_test___s_u_t_option_value}{\section{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value Union Reference}
\label{union_s_d_l_visual_test___s_u_t_option_value}\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h$>$}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item
S\-D\-L\-\_\-bool \hyperlink{union_s_d_l_visual_test___s_u_t_option_value_ace8ec6519c056e35443a6c401f3d0941}{bool\-\_\-value}
\item
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>int {\bfseries value}\\
\>SDL\_bool {\bfseries on}\\
\} \hyperlink{union_s_d_l_visual_test___s_u_t_option_value_a4291d9ad3cfb3fe1645ea2732e11d68a}{integer}\\
\end{tabbing}\item
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>int {\bfseries index}\\
\>SDL\_bool {\bfseries on}\\
\} \hyperlink{union_s_d_l_visual_test___s_u_t_option_value_ad40e26afd4b8532327b61897d5b009e3}{enumerated}\\
\end{tabbing}\item
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>char $\ast$ {\bfseries value}\\
\>SDL\_bool {\bfseries on}\\
\} \hyperlink{union_s_d_l_visual_test___s_u_t_option_value_a2bf4b969ff9633c937e4d15118d1edc6}{string}\\
\end{tabbing}\end{DoxyCompactItemize}
\subsection{Detailed Description}
One possible value for a command line option to the S\-U\-T.
\subsection{Field Documentation}
\hypertarget{union_s_d_l_visual_test___s_u_t_option_value_ace8ec6519c056e35443a6c401f3d0941}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}!bool\-\_\-value@{bool\-\_\-value}}
\index{bool\-\_\-value@{bool\-\_\-value}!SDLVisualTest_SUTOptionValue@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}
\subsubsection[{bool\-\_\-value}]{\setlength{\rightskip}{0pt plus 5cm}S\-D\-L\-\_\-bool bool\-\_\-value}}\label{union_s_d_l_visual_test___s_u_t_option_value_ace8ec6519c056e35443a6c401f3d0941}
Value if the option is of type boolean \hypertarget{union_s_d_l_visual_test___s_u_t_option_value_ad40e26afd4b8532327b61897d5b009e3}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}!enumerated@{enumerated}}
\index{enumerated@{enumerated}!SDLVisualTest_SUTOptionValue@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}
\subsubsection[{enumerated}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \} enumerated}}\label{union_s_d_l_visual_test___s_u_t_option_value_ad40e26afd4b8532327b61897d5b009e3}
Index of the string in the enum\-\_\-values field of the corresponding \hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} object. If on is true the option will passed to the S\-U\-T, otherwise it will be ignored. \hypertarget{union_s_d_l_visual_test___s_u_t_option_value_a4291d9ad3cfb3fe1645ea2732e11d68a}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}!integer@{integer}}
\index{integer@{integer}!SDLVisualTest_SUTOptionValue@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}
\subsubsection[{integer}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \} integer}}\label{union_s_d_l_visual_test___s_u_t_option_value_a4291d9ad3cfb3fe1645ea2732e11d68a}
Value if the option is of type integer. If on is true then the option will be passed to the S\-U\-T, otherwise it will be ignored. \hypertarget{union_s_d_l_visual_test___s_u_t_option_value_a2bf4b969ff9633c937e4d15118d1edc6}{\index{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}!string@{string}}
\index{string@{string}!SDLVisualTest_SUTOptionValue@{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value}}
\subsubsection[{string}]{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \} string}}\label{union_s_d_l_visual_test___s_u_t_option_value_a2bf4b969ff9633c937e4d15118d1edc6}
Value if the option is of type string. If on is true the option will be passed to the S\-U\-T, otherwise it will be ignored.
The documentation for this union was generated from the following file\-:\begin{DoxyCompactItemize}
\item
C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/include/\hyperlink{_s_d_l__visualtest__variator__common_8h}{S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h}\end{DoxyCompactItemize}

View File

@@ -0,0 +1,85 @@
\hypertarget{variator__common_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-common.c File Reference}
\label{variator__common_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-common.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-common.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-variator\-\_\-common.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{variator__common_8c_aafcecc06c8feb24b6f6a509bfa9db681}{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value} (\hyperlink{union_s_d_l_visual_test___s_u_t_option_value}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} $\ast$var, \hyperlink{struct_s_d_l_visual_test___s_u_t_option}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} $\ast$opt)
\item
int \hyperlink{variator__common_8c_ad981c2efab849e76dc878ef8da9d6017}{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation} (\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$variation, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config, char $\ast$buffer, int size)
\item
int \hyperlink{variator__common_8c_ac87934906c51364778dc910ebca47b6c}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation} (\hyperlink{struct_s_d_l_visual_test___variation}{S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$variation, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for some common functionality used by variators.
\subsection{Function Documentation}
\hypertarget{variator__common_8c_ac87934906c51364778dc910ebca47b6c}{\index{variator\-\_\-common.\-c@{variator\-\_\-common.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation}!variator_common.c@{variator\-\_\-common.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$}]{variation, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{variator__common_8c_ac87934906c51364778dc910ebca47b6c}
Initializes the variation using the following rules\-:
\begin{DoxyItemize}
\item Boolean options are initialized to S\-D\-L\-\_\-\-F\-A\-L\-S\-E.
\item Integer options are initialized to the minimum valid value they can hold.
\item Enum options are initialized to the first element in the list of values they can take.
\item String options are initialized to the name of the option.
\end{DoxyItemize}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure.
\end{DoxyReturn}
\hypertarget{variator__common_8c_ad981c2efab849e76dc878ef8da9d6017}{\index{variator\-\_\-common.\-c@{variator\-\_\-common.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation}!variator_common.c@{variator\-\_\-common.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Make\-Str\-From\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variation} $\ast$}]{variation, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config, }
\item[{char $\ast$}]{buffer, }
\item[{int}]{size}
\end{DoxyParamCaption}
)}}\label{variator__common_8c_ad981c2efab849e76dc878ef8da9d6017}
Converts a variation object into a string of command line arguments.
\begin{DoxyParams}{Parameters}
{\em variation} & Variation object to be converted. \\
\hline
{\em config} & Config object for the S\-U\-T. \\
\hline
{\em buffer} & Pointer to the buffer the arguments string will be copied into. \\
\hline
{\em size} & Size of the buffer.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}
\hypertarget{variator__common_8c_aafcecc06c8feb24b6f6a509bfa9db681}{\index{variator\-\_\-common.\-c@{variator\-\_\-common.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value@{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value}!variator_common.c@{variator\-\_\-common.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Next\-Value (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option\-Value} $\ast$}]{var, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Option} $\ast$}]{opt}
\end{DoxyParamCaption}
)}}\label{variator__common_8c_aafcecc06c8feb24b6f6a509bfa9db681}
\char`\"{}\-Increments\char`\"{} the value of the option by one and returns the carry. We wrap around to the initial value on overflow which makes the carry one. For example\-: \char`\"{}incrementing\char`\"{} an S\-D\-L\-\_\-\-F\-A\-L\-S\-E option makes it S\-D\-L\-\_\-\-T\-R\-U\-E with no carry, and \char`\"{}incrementing\char`\"{} an S\-D\-L\-\_\-\-T\-R\-U\-E option makes it S\-D\-L\-\_\-\-F\-A\-L\-S\-E with carry one. For integers, a random value in the valid range for the option is used.
\begin{DoxyParams}{Parameters}
{\em var} & Value of the option \\
\hline
{\em opt} & Object with metadata about the option\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if there is a carry for enum and bool type options, 0 otherwise. 1 is always returned for integer and string type options. -\/1 is returned on error.
\end{DoxyReturn}

View File

@@ -0,0 +1,54 @@
\hypertarget{variator__exhaustive_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-exhaustive.c File Reference}
\label{variator__exhaustive_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-exhaustive.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-exhaustive.\-c}}
}
{\ttfamily \#include $<$time.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-sut\-\_\-configparser.\-h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-exhaustive\-\_\-variator.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{variator__exhaustive_8c_a9e213e530ddf5a18014786d10e9fdaee}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator} (\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$variator, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config)
\item
char $\ast$ \hyperlink{variator__exhaustive_8c_aa9e13a92945ef48308215b3fa068ed29}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation} (\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$variator)
\item
void \hyperlink{variator__exhaustive_8c_a7168b055fb86bbbb700d87ae842f7152}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator} (\hyperlink{struct_s_d_l_visual_test___exhaustive_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$variator)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the variator that tests the S\-U\-T with all the different variations of input parameters that are valid.
\subsection{Function Documentation}
\hypertarget{variator__exhaustive_8c_a7168b055fb86bbbb700d87ae842f7152}{\index{variator\-\_\-exhaustive.\-c@{variator\-\_\-exhaustive.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator}!variator_exhaustive.c@{variator\-\_\-exhaustive.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Exhaustive\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{variator__exhaustive_8c_a7168b055fb86bbbb700d87ae842f7152}
Frees any resources associated with the variator. \hypertarget{variator__exhaustive_8c_aa9e13a92945ef48308215b3fa068ed29}{\index{variator\-\_\-exhaustive.\-c@{variator\-\_\-exhaustive.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation}!variator_exhaustive.c@{variator\-\_\-exhaustive.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Exhaustive\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{variator__exhaustive_8c_aa9e13a92945ef48308215b3fa068ed29}
Gets the arguments string for the next variation using the variator and updates the variator's current variation object to the next variation.
\begin{DoxyReturn}{Returns}
The arguments string representing the next variation on success, and N\-U\-L\-L on failure or if we have iterated through all possible variations. In the latter case subsequent calls will start the variations again from the very beginning. The pointer returned should not be freed.
\end{DoxyReturn}
\hypertarget{variator__exhaustive_8c_a9e213e530ddf5a18014786d10e9fdaee}{\index{variator\-\_\-exhaustive.\-c@{variator\-\_\-exhaustive.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator}!variator_exhaustive.c@{variator\-\_\-exhaustive.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Exhaustive\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Exhaustive\-Variator} $\ast$}]{variator, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config}
\end{DoxyParamCaption}
)}}\label{variator__exhaustive_8c_a9e213e530ddf5a18014786d10e9fdaee}
Initializes the variator.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}

View File

@@ -0,0 +1,54 @@
\hypertarget{variator__random_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-random.c File Reference}
\label{variator__random_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-random.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variator\-\_\-random.\-c}}
}
{\ttfamily \#include $<$time.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-random\-\_\-variator.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{variator__random_8c_a807486069b7180c3b3bf8af4616d055f}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator} (\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$variator, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config, Uint64 seed)
\item
char $\ast$ \hyperlink{variator__random_8c_a479aceb74b5355c1d22856fc7efce890}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation} (\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$variator)
\item
void \hyperlink{variator__random_8c_ac95d9e0716e4c918c6902b10f9591d4b}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator} (\hyperlink{struct_s_d_l_visual_test___random_variator}{S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$variator)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the variator that tests the S\-U\-T with random variations to the input parameters.
\subsection{Function Documentation}
\hypertarget{variator__random_8c_ac95d9e0716e4c918c6902b10f9591d4b}{\index{variator\-\_\-random.\-c@{variator\-\_\-random.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator}!variator_random.c@{variator\-\_\-random.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Random\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{variator__random_8c_ac95d9e0716e4c918c6902b10f9591d4b}
Frees any resources associated with the variator. \hypertarget{variator__random_8c_a479aceb74b5355c1d22856fc7efce890}{\index{variator\-\_\-random.\-c@{variator\-\_\-random.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation}!variator_random.c@{variator\-\_\-random.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Random\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{variator__random_8c_a479aceb74b5355c1d22856fc7efce890}
Generates a new random variation.
\begin{DoxyReturn}{Returns}
The arguments string representing the random variation on success, and N\-U\-L\-L on failure. The pointer returned should not be freed.
\end{DoxyReturn}
\hypertarget{variator__random_8c_a807486069b7180c3b3bf8af4616d055f}{\index{variator\-\_\-random.\-c@{variator\-\_\-random.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator}!variator_random.c@{variator\-\_\-random.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Random\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Random\-Variator} $\ast$}]{variator, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config, }
\item[{Uint64}]{seed}
\end{DoxyParamCaption}
)}}\label{variator__random_8c_a807486069b7180c3b3bf8af4616d055f}
Initializes the variator.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}

View File

@@ -0,0 +1,54 @@
\hypertarget{variators_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variators.c File Reference}
\label{variators_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variators.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/variators.\-c}}
}
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-variators.\-h\char`\"{}}\\*
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \hyperlink{variators_8c_ac1d82ee387a19743e47a82c87d3fb7f4}{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator} (\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$variator, \hyperlink{struct_s_d_l_visual_test___s_u_t_config}{S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$config, \hyperlink{_s_d_l__visualtest__variator__common_8h_a04bfc880abe6940d69a63c06a33acdbd}{S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type} type, Uint64 seed)
\item
char $\ast$ \hyperlink{variators_8c_aebdd4c3c545b0063d16929fd56f1a79f}{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation} (\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$variator)
\item
void \hyperlink{variators_8c_a98727ef649135c3312056d7603cb70b5}{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator} (\hyperlink{struct_s_d_l_visual_test___variator}{S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$variator)
\end{DoxyCompactItemize}
\subsection{Detailed Description}
Source file for the operations that act on variators.
\subsection{Function Documentation}
\hypertarget{variators_8c_a98727ef649135c3312056d7603cb70b5}{\index{variators.\-c@{variators.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator}!variators.c@{variators.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}void S\-D\-L\-Visual\-Test\-\_\-\-Free\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{variators_8c_a98727ef649135c3312056d7603cb70b5}
Frees any resources associated with the variator. \hypertarget{variators_8c_aebdd4c3c545b0063d16929fd56f1a79f}{\index{variators.\-c@{variators.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation@{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation}!variators.c@{variators.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ S\-D\-L\-Visual\-Test\-\_\-\-Get\-Next\-Variation (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$}]{variator}
\end{DoxyParamCaption}
)}}\label{variators_8c_aebdd4c3c545b0063d16929fd56f1a79f}
Gets the next variation using the variator.
\begin{DoxyReturn}{Returns}
The arguments string representing the variation on success, and N\-U\-L\-L on failure. The pointer returned should not be freed.
\end{DoxyReturn}
\hypertarget{variators_8c_ac1d82ee387a19743e47a82c87d3fb7f4}{\index{variators.\-c@{variators.\-c}!S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator}}
\index{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator@{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator}!variators.c@{variators.\-c}}
\subsubsection[{S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator}]{\setlength{\rightskip}{0pt plus 5cm}int S\-D\-L\-Visual\-Test\-\_\-\-Init\-Variator (
\begin{DoxyParamCaption}
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator} $\ast$}]{variator, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-S\-U\-T\-Config} $\ast$}]{config, }
\item[{{\bf S\-D\-L\-Visual\-Test\-\_\-\-Variator\-Type}}]{type, }
\item[{Uint64}]{seed}
\end{DoxyParamCaption}
)}}\label{variators_8c_ac1d82ee387a19743e47a82c87d3fb7f4}
Initializes the variator object pointed to by {\ttfamily variator} of type {\ttfamily type} with information from the config object pointed to by {\ttfamily config}.
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure
\end{DoxyReturn}

View File

@@ -0,0 +1,12 @@
\hypertarget{windows__process_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/windows\-\_\-process.c File Reference}
\label{windows__process_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/windows\-\_\-process.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/windows\-\_\-process.\-c}}
}
{\ttfamily \#include $<$S\-D\-L.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
{\ttfamily \#include $<$string.\-h$>$}\\*
{\ttfamily \#include $<$stdlib.\-h$>$}\\*
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-process.\-h\char`\"{}}\\*
\subsection{Detailed Description}
Source file for the process A\-P\-I on windows.

View File

@@ -0,0 +1,10 @@
\hypertarget{windows__screenshot_8c}{\section{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/windows\-\_\-screenshot.c File Reference}
\label{windows__screenshot_8c}\index{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/windows\-\_\-screenshot.\-c@{C\-:/\-Users/\-D\-E\-L\-L/\-Work/sdlvisualtest/visualtest/src/windows/windows\-\_\-screenshot.\-c}}
}
{\ttfamily \#include \char`\"{}S\-D\-L\-\_\-visualtest\-\_\-process.\-h\char`\"{}}\\*
{\ttfamily \#include $<$S\-D\-L.\-h$>$}\\*
{\ttfamily \#include $<$S\-D\-L\-\_\-test.\-h$>$}\\*
\subsection{Detailed Description}
Source file for the screenshot A\-P\-I on windows.