| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | /** *  \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 __cplusplusextern "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: */
 |