| /** | |
| * \file SDL_visualtest_harness_argparser.h | |
| * | |
| * Provides functionality to parse command line arguments to the test harness. | |
| */ | |
| #include <SDL.h> | |
| #include "SDL_visualtest_sut_configparser.h" | |
| #include "SDL_visualtest_variator_common.h" | |
| #include "SDL_visualtest_action_configparser.h" | |
| #ifndef SDL_visualtest_harness_argparser_h_ | |
| #define SDL_visualtest_harness_argparser_h_ | |
| /** Maximum length of a path string */ | |
| #define MAX_PATH_LEN 300 | |
| /** Maximum length of a string of SUT arguments */ | |
| #define MAX_SUT_ARGS_LEN 600 | |
| /* Set up for C function definitions, even when using C++ */ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /** | |
| * Stores the state of the test harness. | |
| */ | |
| typedef struct SDLVisualTest_HarnessState | |
| { | |
| /*! Path to the System Under Test (SUT) executable */ | |
| char sutapp[MAX_PATH_LEN]; | |
| /*! Command line arguments to be passed to the SUT */ | |
| char sutargs[MAX_SUT_ARGS_LEN]; | |
| /*! Time in milliseconds after which to kill the SUT */ | |
| int timeout; | |
| /*! Configuration object for the SUT */ | |
| SDLVisualTest_SUTConfig sut_config; | |
| /*! What type of variator to use to generate argument strings */ | |
| SDLVisualTest_VariatorType variator_type; | |
| /*! The number of variations to generate */ | |
| int num_variations; | |
| /*! If true, the test harness will just print the different variations | |
| without launching the SUT for each one */ | |
| SDL_bool no_launch; | |
| /*! A queue with actions to be performed while the SUT is running */ | |
| SDLVisualTest_ActionQueue action_queue; | |
| /*! Output directory to save the screenshots */ | |
| char output_dir[MAX_PATH_LEN]; | |
| /*! Path to directory with the verification images */ | |
| char verify_dir[MAX_PATH_LEN]; | |
| } SDLVisualTest_HarnessState; | |
| /** | |
| * Parse command line paramters to the test harness and populate a state object. | |
| * | |
| * \param argv The array of command line parameters. | |
| * \param state Pointer to the state object to be populated. | |
| * | |
| * \return Non-zero on success, zero on failure. | |
| */ | |
| int SDLVisualTest_ParseHarnessArgs(char** argv, SDLVisualTest_HarnessState* state); | |
| /** | |
| * Frees any resources associated with the state object pointed to by \c state. | |
| */ | |
| void SDLVisualTest_FreeHarnessState(SDLVisualTest_HarnessState* state); | |
| /* Ends C function definitions when using C++ */ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* SDL_visualtest_harness_argparser_h_ */ | |
| /* vi: set ts=4 sw=4 expandtab: */ |