27#include <gtest/gtest.h>
37typedef struct config_s {
50 for (
i = 1;
i < argc;
i++) {
51 if (
char const*
const arg =
Q_strstart(argv[
i],
"-D")) {
52 if (
char const*
const value = strchr(arg,
'=')) {
54 size_t const size = value - arg + 1;
56 fprintf(stderr,
"Error: Argument \"%s\" use a property name too much big.\n", argv[
i]);
62 fprintf(stderr,
"Warning: \"%s\" do not value. Command line argument ignored.\n", argv[
i]);
64 }
else if (
char const*
const prefix =
Q_strstart(argv[
i],
"--output-prefix=")) {
66 }
else if (
Q_streq(argv[
i],
"--log")) {
72 printf(
"-h --help | show this help screen\n");
73 printf(
"-v --verbose | be verbose\n");
74 printf(
"-Dprop=value | defines a test property\n");
75 printf(
" --log | log ufo output to file (testall.log in working dir)\n");
76 printf(
" --output-prefix=PREFIX | set a prefix for the xml result\n");
77 printf(
" | default value is \"ufoai\"\n");
80 fprintf(stderr,
"Error: Param \"%s\" unknown\n", argv[
i]);
81 fprintf(stderr,
"Use \"%s -h\" to show the help screen\n", argv[0]);
91 static char msg[2048];
113extern "C" int main (
int argc,
char** argv)
117 ::testing::AddGlobalTestEnvironment(
new LocalEnv);
119 ::testing::InitGoogleTest(&argc, argv);
124 const char* path =
"testall.log";
127 }
else if (
config.verbose){
135 return RUN_ALL_TESTS();
136 }
catch (
const std::exception& e) {
137 std::cerr << e.what() << std::endl;
141 Sys_Error(
"There was a Com_Error or Com_Drop call during the execution of this test");
virtual void SetUp() override
virtual void TearDown() override
void Qcommon_SetPrintFunction(vPrintfPtr_t func)
void Sys_Error(const char *error,...)
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
void Q_strncpyz(char *dest, const char *src, size_t destsize)
Safe strncpy that ensures a trailing zero.
int Q_vsnprintf(char *str, size_t size, const char *format, va_list ap)
Safe (null terminating) vsnprintf implementation.
char const * Q_strstart(char const *str, char const *start)
Matches the start of a string.
FILE * Sys_Fopen(const char *filename, const char *mode)
void Sys_InitSignals(void)
int main(int argc, char **argv)
static void Test_Parameters(const int argc, char **argv)
static const char * resultPrefix
static void TEST_vPrintfLog(const char *fmt, va_list ap)
void TEST_RegisterProperty(const char *name, const char *value)
void TEST_vPrintfSilent(const char *fmt, va_list argptr)
void TEST_vPrintf(const char *fmt, va_list argptr)