author | Brandon Schaefer <brandon.schaefer@canonical.com> |
Wed, 08 Jun 2016 08:01:21 -0700 | |
changeset 10181 | b82c0f22d22a |
parent 7924 | fcb86d323770 |
permissions | -rw-r--r-- |
7924
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
1 |
/* See COPYING.txt for the full license governing this code. */ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
2 |
/** |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
3 |
* \file SDL_visualtest_exhaustive_variator.h |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
4 |
* |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
5 |
* Header for the exhaustive variator. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
6 |
*/ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
7 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
8 |
#include "SDL_visualtest_harness_argparser.h" |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
9 |
#include "SDL_visualtest_variator_common.h" |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
10 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
11 |
#ifndef _SDL_visualtest_exhaustive_variator_h |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
12 |
#define _SDL_visualtest_exhaustive_variator_h |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
13 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
14 |
/* Set up for C function definitions, even when using C++ */ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
15 |
#ifdef __cplusplus |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
16 |
extern "C" { |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
17 |
#endif |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
18 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
19 |
/** |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
20 |
* Struct for the variator that exhaustively iterates through all variations of |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
21 |
* command line arguments to the SUT. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
22 |
*/ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
23 |
typedef struct SDLVisualTest_ExhaustiveVariator |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
24 |
{ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
25 |
/*! The current variation. */ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
26 |
SDLVisualTest_Variation variation; |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
27 |
/*! Configuration object for the SUT that the variator is running for. */ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
28 |
SDLVisualTest_SUTConfig config; |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
29 |
/*! Buffer to store the arguments string built from the variation */ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
30 |
char buffer[MAX_SUT_ARGS_LEN]; |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
31 |
} SDLVisualTest_ExhaustiveVariator; |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
32 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
33 |
/** |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
34 |
* Initializes the variator. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
35 |
* |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
36 |
* \return 1 on success, 0 on failure |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
37 |
*/ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
38 |
int SDLVisualTest_InitExhaustiveVariator(SDLVisualTest_ExhaustiveVariator* variator, |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
39 |
SDLVisualTest_SUTConfig* config); |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
40 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
41 |
/** |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
42 |
* Gets the arguments string for the next variation using the variator and updates |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
43 |
* the variator's current variation object to the next variation. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
44 |
* |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
45 |
* \return The arguments string representing the next variation on success, and |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
46 |
* NULL on failure or if we have iterated through all possible variations. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
47 |
* In the latter case subsequent calls will start the variations again from |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
48 |
* the very beginning. The pointer returned should not be freed. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
49 |
*/ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
50 |
char* SDLVisualTest_GetNextExhaustiveVariation(SDLVisualTest_ExhaustiveVariator* variator); |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
51 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
52 |
/** |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
53 |
* Frees any resources associated with the variator. |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
54 |
*/ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
55 |
void SDLVisualTest_FreeExhaustiveVariator(SDLVisualTest_ExhaustiveVariator* variator); |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
56 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
57 |
/* Ends C function definitions when using C++ */ |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
58 |
#ifdef __cplusplus |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
59 |
} |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
60 |
#endif |
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
61 |
|
fcb86d323770
Added Apoorv Upreti's GSoC2013 work: visual test suite.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
62 |
#endif /* _SDL_visualtest_exhaustive_variator_h */ |