This commit is contained in:
AzaezelX 2022-03-23 01:43:08 -05:00
parent ee4253c982
commit 2614274639
1225 changed files with 148950 additions and 51674 deletions

View file

@ -1,15 +1,20 @@
# Makefile to build the SDL tests
srcdir = @srcdir@
CC = @CC@
EXE = @EXE@
CFLAGS = @CFLAGS@ -I../include -I./include
LIBS = @LIBS@
TARGETS = \
testharness$(EXE) \
testquit$(EXE)
all: Makefile $(TARGETS)
Makefile: $(srcdir)/Makefile.in
$(SHELL) config.status $@
testharness$(EXE): $(srcdir)/src/action_configparser.c \
$(srcdir)/src/harness_argparser.c \
$(srcdir)/src/rwhelper.c \
@ -27,8 +32,10 @@ testharness$(EXE): $(srcdir)/src/action_configparser.c \
$(srcdir)/src/windows/windows_process.c \
$(srcdir)/src/windows/windows_screenshot.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
testquit$(EXE): $(srcdir)/unittest/testquit.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
clean:
rm -f $(TARGETS)
distclean: clean

View file

@ -3,7 +3,7 @@
\mainpage Visual and Interactive Test Automation for SDL 2.0
\section license_sec License
Check the file \c COPYING.txt for licensing information.
Check the file \c LICENSE.txt for licensing information.
\section intro_sec Introduction
The goal of this GSoC project is to automate the testing of testsprite2.

View file

@ -5,13 +5,13 @@
# stolen from Manish Singh
# Shamelessly stolen from Owen Taylor
# serial 1
# serial 2
dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
dnl
AC_DEFUN([AM_PATH_SDL2],
[dnl
[dnl
dnl Get the cflags and libraries from the sdl2-config script
dnl
AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
@ -21,7 +21,7 @@ AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL
AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
, enable_sdltest=yes)
min_sdl_version=ifelse([$1], ,0.9.0,$1)
min_sdl_version=ifelse([$1], ,2.0.0,$1)
if test "x$sdl_prefix$sdl_exec_prefix" = x ; then
PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version],
@ -31,42 +31,42 @@ AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run
sdl_pc=no
if test x$sdl_exec_prefix != x ; then
sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_exec_prefix/bin/sdl2-config
if test x${SDL2_CONFIG+set} != xset ; then
SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config
fi
fi
if test x$sdl_prefix != x ; then
sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
if test x${SDL_CONFIG+set} != xset ; then
SDL_CONFIG=$sdl_prefix/bin/sdl2-config
if test x${SDL2_CONFIG+set} != xset ; then
SDL2_CONFIG=$sdl_prefix/bin/sdl2-config
fi
fi
fi
if test "x$sdl_pc" = xyes ; then
no_sdl=""
SDL_CONFIG="pkg-config sdl2"
SDL2_CONFIG="pkg-config sdl2"
else
as_save_PATH="$PATH"
if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then
PATH="$prefix/bin:$prefix/usr/bin:$PATH"
fi
AC_PATH_PROG(SDL_CONFIG, sdl2-config, no, [$PATH])
AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH])
PATH="$as_save_PATH"
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
no_sdl=""
if test "$SDL_CONFIG" = "no" ; then
if test "$SDL2_CONFIG" = "no" ; then
no_sdl=yes
else
SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags`
SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs`
SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags`
SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs`
sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \
sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \
sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_sdltest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
@ -80,41 +80,19 @@ dnl Now check if the installed SDL is sufficiently new. (Also sanity
dnl checks the results of sdl2-config to some extent
dnl
rm -f conf.sdltest
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL.h"
char*
my_strdup (char *str)
{
char *new_str;
if (str)
{
new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;
return new_str;
}
int main (int argc, char *argv[])
{
int major, minor, micro;
char *tmp_version;
FILE *fp = fopen("conf.sdltest", "w");
/* This hangs on some systems (?)
system ("touch conf.sdltest");
*/
{ FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
if (fp) fclose(fp);
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup("$min_sdl_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
if (sscanf("$min_sdl_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_sdl_version");
exit(1);
}
@ -130,14 +108,14 @@ int main (int argc, char *argv[])
printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If sdl2-config was wrong, set the environment variable SDL_CONFIG\n");
printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n");
printf("*** to point to the correct copy of sdl2-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}
],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
]])], [], [no_sdl=yes], [echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
@ -152,10 +130,10 @@ int main (int argc, char *argv[])
if test "x$no_sdl" = x ; then
ifelse([$2], , :, [$2])
else
if test "$SDL_CONFIG" = "no" ; then
if test "$SDL2_CONFIG" = "no" ; then
echo "*** The sdl2-config script installed by SDL could not be found"
echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the SDL_CONFIG environment variable to the"
echo "*** your path, or set the SDL2_CONFIG environment variable to the"
echo "*** full path to sdl2-config."
else
if test -f conf.sdltest ; then
@ -165,7 +143,7 @@ int main (int argc, char *argv[])
CFLAGS="$CFLAGS $SDL_CFLAGS"
CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
AC_TRY_LINK([
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <stdio.h>
#include "SDL.h"
@ -173,7 +151,7 @@ int main(int argc, char *argv[])
{ return 0; }
#undef main
#define main K_and_R_C_main
], [ return 0; ],
]], [[ return 0; ]])],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding SDL or finding the wrong"
echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
@ -186,7 +164,7 @@ int main(int argc, char *argv[])
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means SDL was incorrectly installed"
echo "*** or that you have moved SDL since it was installed. In the latter case, you"
echo "*** may want to edit the sdl2-config script: $SDL_CONFIG" ])
echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
CXXFLAGS="$ac_save_CXXFLAGS"
LIBS="$ac_save_LIBS"
@ -228,7 +206,7 @@ int main(int argc, char *argv[])
# ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
m4_pattern_allow([^PKG_CONFIG(_PATH|_LIBDIR)?$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
@ -309,7 +287,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
AC_MSG_CHECKING([for $2])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
@ -337,7 +315,7 @@ $$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT])dnl
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
@ -348,7 +326,7 @@ path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS

View file

@ -1,12 +1,11 @@
#!/bin/sh
#
# Regenerate configuration files
cp acinclude.m4 aclocal.m4
found=false
for autoconf in autoconf autoconf259 autoconf-2.59
do if which $autoconf >/dev/null 2>&1; then $autoconf && found=true; break; fi
done
if test x$found = xfalse; then
echo "Couldn't find autoconf, aborting"
exit 1
if test "$AUTOCONF"x = x; then
AUTOCONF=autoconf
fi
$AUTOCONF || exit 1
rm aclocal.m4
rm -rf autom4te.cache

View file

@ -1 +0,0 @@
/usr/share/automake-1.11/compile

View file

@ -1,23 +0,0 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "apoorvupreti@gmail.com"
/* Define to the full name of this package. */
#define PACKAGE_NAME "sdlvisualtest"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "sdlvisualtest 0.01"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "sdlvisualtest"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "0.01"
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */

View file

@ -1,22 +0,0 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to empty if `const' does not conform to ANSI C. */
#undef const

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,41 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT
AC_CONFIG_SRCDIR([unittest/testquit.c])
dnl Detect the canonical build and host environments
AC_CONFIG_AUX_DIR([../build-scripts])
AC_CANONICAL_HOST
dnl Check for tools
AC_PROG_CC
dnl Figure out which math or extra library to use
case "$host" in
*-*-cygwin* | *-*-mingw*)
EXE=".exe"
EXTRALIB="-lshlwapi"
;;
*)
EXE=""
EXTRALIB=""
;;
esac
AC_SUBST(EXE)
dnl Check for SDL
SDL_VERSION=2.0.0
AM_PATH_SDL2($SDL_VERSION,
:,
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
)
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS -lSDL2_test $SDL_LIBS $EXTRALIB"
PKG_CHECK_MODULES(LIBUNWIND, libunwind, have_libunwind=yes, have_libunwind=no)
if test x$have_libunwind = xyes ; then
LIBS="$LIBS $LIBUNWIND_LIBS"
fi
dnl Finally create all the generated files
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View file

@ -1,166 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([sdlvisualtest], [0.01], [apoorvupreti@gmail.com])
dnl Detect the canonical build and host environments
AC_CONFIG_AUX_DIRS($srcdir/../build-scripts)
AC_CANONICAL_HOST
dnl Check for tools
AC_PROG_CC
dnl Check for compiler environment
AC_C_CONST
dnl We only care about this for building testnative at the moment, so these
dnl values shouldn't be considered absolute truth.
dnl (Haiku, for example, sets none of these.)
ISUNIX="false"
ISWINDOWS="false"
ISMACOSX="false"
dnl Figure out which math or extra library to use
case "$host" in
*-*-cygwin* | *-*-mingw32*)
ISWINDOWS="true"
EXE=".exe"
MATHLIB=""
EXTRALIB="-lshlwapi"
SYS_GL_LIBS="-lopengl32"
;;
*-*-haiku*)
EXE=""
MATHLIB=""
EXTRALIB=""
SYS_GL_LIBS="-lGL"
;;
*-*-darwin* )
ISMACOSX="true"
EXE=""
MATHLIB=""
EXTRALIB=""
;;
*-*-aix*)
ISUNIX="true"
EXE=""
if test x$ac_cv_prog_gcc = xyes; then
CFLAGS="-mthreads"
fi
MATHLIB=""
EXTRALIB=""
SYS_GL_LIBS=""
;;
*-*-mint*)
EXE=""
MATHLIB=""
EXTRALIB=""
AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
if test "x$OSMESA_CONFIG" = "xyes"; then
OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
OSMESA_LIBS=`$OSMESA_CONFIG --libs`
CFLAGS="$CFLAGS $OSMESA_CFLAGS"
SYS_GL_LIBS="$OSMESA_LIBS"
else
SYS_GL_LIBS="-lOSMesa"
fi
;;
*-*-qnx*)
EXE=""
MATHLIB=""
EXTRALIB=""
SYS_GL_LIBS="-lGLES_CM"
;;
*)
dnl Oh well, call it Unix...
ISUNIX="true"
EXE=""
MATHLIB="-lm"
EXTRALIB=""
SYS_GL_LIBS="-lGL"
;;
esac
AC_SUBST(EXE)
AC_SUBST(MATHLIB)
AC_SUBST(EXTRALIB)
AC_SUBST(ISMACOSX)
AC_SUBST(ISWINDOWS)
AC_SUBST(ISUNIX)
dnl Check for SDL
SDL_VERSION=2.0.0
AM_PATH_SDL2($SDL_VERSION,
:,
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
)
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS -lSDL2_test $SDL_LIBS $EXTRALIB"
dnl Check for X11 path, needed for OpenGL on some systems
AC_PATH_X
if test x$have_x = xyes; then
if test x$ac_x_includes = xno || test x$ac_x_includes = x; then
:
else
CFLAGS="$CFLAGS -I$ac_x_includes"
fi
if test x$ac_x_libraries = xno || test x$ac_x_libraries = x; then
:
else
XPATH="-L$ac_x_libraries"
fi
fi
dnl Check for OpenGL
AC_MSG_CHECKING(for OpenGL support)
have_opengl=no
AC_TRY_COMPILE([
#include "SDL_opengl.h"
],[
],[
have_opengl=yes
])
AC_MSG_RESULT($have_opengl)
dnl Check for OpenGL ES
AC_MSG_CHECKING(for OpenGL ES support)
have_opengles=no
AC_TRY_COMPILE([
#if defined (__IPHONEOS__)
#include <OpenGLES/ES1/gl.h>
#else
#include <GLES/gl.h>
#endif /* __QNXNTO__ */
],[
],[
have_opengles=yes
])
AC_MSG_RESULT($have_opengles)
GLLIB=""
if test x$have_opengles = xyes; then
CFLAGS="$CFLAGS -DHAVE_OPENGLES"
GLLIB="$XPATH -lGLESv1_CM"
elif test x$have_opengl = xyes; then
CFLAGS="$CFLAGS -DHAVE_OPENGL"
GLLIB="$XPATH $SYS_GL_LIBS"
else
GLLIB=""
fi
AC_SUBST(GLLIB)
dnl Check for SDL_ttf
AC_CHECK_LIB(SDL2_ttf, TTF_Init, have_SDL_ttf=yes)
if test x$have_SDL_ttf = xyes; then
CFLAGS="$CFLAGS -DHAVE_SDL_TTF"
SDL_TTF_LIB="-lSDL2_ttf"
fi
AC_SUBST(SDL_TTF_LIB)
dnl Finally create all the generated files
dnl AC_OUTPUT([Makefile])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT()

View file

@ -1 +0,0 @@
/usr/share/automake-1.11/depcomp

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_action_configparser.h
*
@ -137,7 +137,7 @@ int SDLVisualTest_InsertIntoActionQueue(SDLVisualTest_ActionQueue* queue,
*
* \return 1 on success, 0 on failure.
*/
int SDLVisualTest_ParseActionConfig(char* file, SDLVisualTest_ActionQueue* queue);
int SDLVisualTest_ParseActionConfig(const char* file, SDLVisualTest_ActionQueue* queue);
/* Ends C function definitions when using C++ */
#ifdef __cplusplus

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_exhaustive_variator.h
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_parsehelper.h
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_process.h
*
@ -8,8 +8,8 @@
#include <SDL_platform.h>
#if defined(__WIN32__)
#include <Windows.h>
#include <Shlwapi.h>
#include <windows.h>
#include <shlwapi.h>
#elif defined(__LINUX__)
#include <unistd.h>
#else

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_random_variator.h
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file rwhelper.c
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_screenshot.h
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_sut_configparser.h
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_variator_common.h
*

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file SDL_visualtest_variators.h
*

View file

@ -1 +0,0 @@
/usr/share/automake-1.11/install-sh

View file

@ -1 +0,0 @@
/usr/share/automake-1.11/missing

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file action_configparser.c
*
@ -36,6 +36,9 @@ FreeAction(SDLVisualTest_Action* action)
action->extra.process.args = NULL;
}
break;
default:
break;
}
}
@ -54,7 +57,7 @@ SDLVisualTest_EnqueueAction(SDLVisualTest_ActionQueue* queue,
sizeof(SDLVisualTest_ActionNode));
if(!node)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
return 0;
}
node->action = action;
@ -220,10 +223,10 @@ SDLVisualTest_InsertIntoActionQueue(SDLVisualTest_ActionQueue* queue,
return 1;
}
newnode = (SDLVisualTest_ActionNode*)malloc(sizeof(SDLVisualTest_ActionNode));
newnode = (SDLVisualTest_ActionNode*)SDL_malloc(sizeof(SDLVisualTest_ActionNode));
if(!newnode)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
return 0;
}
newnode->action = action;
@ -256,7 +259,7 @@ SDLVisualTest_InsertIntoActionQueue(SDLVisualTest_ActionQueue* queue,
}
int
SDLVisualTest_ParseActionConfig(char* file, SDLVisualTest_ActionQueue* queue)
SDLVisualTest_ParseActionConfig(const char* file, SDLVisualTest_ActionQueue* queue)
{
char line[MAX_ACTION_LINE_LENGTH];
SDLVisualTest_RWHelperBuffer buffer;
@ -344,7 +347,7 @@ SDLVisualTest_ParseActionConfig(char* file, SDLVisualTest_ActionQueue* queue)
path = (char*)SDL_malloc(sizeof(char) * (len + 1));
if(!path)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
SDLVisualTest_EmptyActionQueue(queue);
SDL_RWclose(rw);
return 0;
@ -358,7 +361,7 @@ SDLVisualTest_ParseActionConfig(char* file, SDLVisualTest_ActionQueue* queue)
args = (char*)SDL_malloc(sizeof(char) * (len + 1));
if(!args)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
SDL_free(path);
SDLVisualTest_EmptyActionQueue(queue);
SDL_RWclose(rw);
@ -393,4 +396,4 @@ SDLVisualTest_ParseActionConfig(char* file, SDLVisualTest_ActionQueue* queue)
SDL_RWclose(rw);
return 1;
}
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file harness_argparser.c
*
@ -19,7 +19,7 @@
/* String compare s1 and s2 ignoring leading hyphens */
static int
StrCaseCmpIgnoreHyphen(char* s1, char* s2)
StrCaseCmpIgnoreHyphen(const char* s1, const char* s2)
{
/* treat NULL pointer as empty strings */
if(!s1)
@ -199,7 +199,7 @@ ParseArg(char** argv, int index, SDLVisualTest_HarnessState* state)
/* TODO: Trailing/leading spaces and spaces between equals sign not supported. */
static int
ParseConfig(char* file, SDLVisualTest_HarnessState* state)
ParseConfig(const char* file, SDLVisualTest_HarnessState* state)
{
SDL_RWops* rw;
SDLVisualTest_RWHelperBuffer buffer;
@ -234,7 +234,7 @@ ParseConfig(char* file, SDLVisualTest_HarnessState* state)
argv = (char**)SDL_malloc((num_params + 1) * sizeof(char*));
if(!argv)
{
SDLTest_LogError("malloc() failed.");
SDLTest_LogError("SDL_malloc() failed.");
SDL_RWclose(rw);
return 0;
}
@ -355,4 +355,4 @@ SDLVisualTest_FreeHarnessState(SDLVisualTest_HarnessState* state)
SDLVisualTest_EmptyActionQueue(&state->action_queue);
SDLVisualTest_FreeSUTConfig(&state->sut_config);
}
}
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file linux_process.c
*
@ -8,23 +8,23 @@
#include <SDL.h>
#include <SDL_test.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <errno.h>
#include "SDL_visualtest_process.h"
#include "SDL_visualtest_harness_argparser.h"
#include "SDL_visualtest_parsehelper.h"
#if defined(__LINUX__)
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <errno.h>
static void
LogLastError(char* str)
LogLastError(const char* str)
{
char* error = (char*)strerror(errno);
const char* error = strerror(errno);
if(!str || !error)
return;
return;
SDLTest_LogError("%s: %s", str, error);
}
@ -196,4 +196,13 @@ SDL_KillProcess(SDL_ProcessInfo* pinfo, SDL_ProcessExitStatus* ps)
return 1;
}
/* each window of the process will have a screenshot taken. The file name will be
prefix-i.png for the i'th window. */
int
SDLVisualTest_ScreenshotProcess(SDL_ProcessInfo* pinfo, char* prefix)
{
SDLTest_LogError("Screenshot process not implemented");
return 0;
}
#endif

View file

@ -1,5 +1,5 @@
/**
* \file mischelper.c
* \file mischelper.c
*
* Source file with miscellaneous helper functions.
*/
@ -25,4 +25,4 @@ SDLVisualTest_HashString(char* str, char hash[33])
/* convert the md5 hash to an array of hexadecimal digits */
for(i = 0; i < 16; i++)
SDL_snprintf(hash + 2 * i, 33 - 2 * i, "%02x", (int)md5c.digest[i]);
}
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file parsehelper.c
*
@ -18,7 +18,7 @@ CountTokens(char* args)
int state; /* current state of the DFA */
if(!args)
return -1;
return -1;
index = 0;
state = 0;
@ -96,7 +96,7 @@ TokenizeHelper(char* str, char** tokens, int num_tokens, int max_token_len)
if(!tokens[index])
{
int i;
SDLTest_LogError("malloc() failed.");
SDLTest_LogError("SDL_malloc() failed.");
for(i = 0; i < index; i++)
SDL_free(tokens[i]);
return 0;
@ -215,7 +215,7 @@ SDLVisualTest_ParseArgsToArgv(char* args)
argv = (char**)SDL_malloc((num_tokens + 2) * sizeof(char*));
if(!argv)
{
SDLTest_LogError("malloc() failed.");
SDLTest_LogError("SDL_malloc() failed.");
return NULL;
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file rwhelper.c
*
@ -128,4 +128,4 @@ SDLVisualTest_RWHelperCountNonEmptyLines(SDL_RWops* rw,
buffer, comment_char))
num_lines++;
return num_lines;
}
}

View file

@ -1,6 +1,6 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file screenshot.c
* \file screenshot.c
*
* Source file for the screenshot API.
*/
@ -48,7 +48,7 @@ SDLVisualTest_VerifyScreenshots(char* args, char* test_dir, char* verify_dir)
verify_path = (char*)SDL_malloc(verify_len * sizeof(char));
if(!verify_path)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
return_code = -1;
goto verifyscreenshots_cleanup_generic;
}
@ -78,7 +78,7 @@ SDLVisualTest_VerifyScreenshots(char* args, char* test_dir, char* verify_dir)
test_path = (char*)SDL_malloc(test_len * sizeof(char));
if(!test_path)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
return_code = -1;
goto verifyscreenshots_cleanup_verifybmp;
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file sut_configparser.c
*
@ -61,7 +61,7 @@ SDLVisualTest_ParseSUTConfig(char* file, SDLVisualTest_SUTConfig* config)
sizeof(SDLVisualTest_SUTOption));
if(!config->options)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
SDL_RWclose(rw);
return 0;
}

View file

@ -1,6 +1,6 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file testharness.c
* \file testharness.c
*
* Source file for the test harness.
*/
@ -49,8 +49,8 @@ static SDLVisualTest_ActionNode* current; /* the current action being performed
static SDL_TimerID action_timer, kill_timer;
/* returns a char* to be passed as the format argument of a printf-style function. */
static char*
usage()
static const char*
usage(void)
{
return "Usage: \n%s --sutapp xyz"
" [--sutargs abc | --parameter-config xyz.parameters"
@ -82,10 +82,10 @@ ActionTimerCallback(Uint32 interval, void* param)
Uint32 next_action_time;
/* push an event to handle the action */
SDL_zero(userevent);
userevent.type = SDL_USEREVENT;
userevent.code = ACTION_TIMER_EVENT;
userevent.data1 = &current->action;
userevent.data2 = NULL;
event.type = SDL_USEREVENT;
event.user = userevent;
@ -110,10 +110,9 @@ KillTimerCallback(Uint32 interval, void* param)
SDL_Event event;
SDL_UserEvent userevent;
SDL_zero(userevent);
userevent.type = SDL_USEREVENT;
userevent.code = KILL_TIMER_EVENT;
userevent.data1 = NULL;
userevent.data2 = NULL;
event.type = SDL_USEREVENT;
event.user = userevent;
@ -181,7 +180,7 @@ ProcessAction(SDLVisualTest_Action* action, int* sut_running, char* args)
if(SDL_IsProcessRunning(&action_process) > 0)
{
SDLTest_LogError("Process %s took too long too complete."
" Force killing...", action->extra);
" Force killing...", action->extra.process.path);
if(!SDL_KillProcess(&action_process, &ps))
{
SDLTest_LogError("SDL_KillProcess() failed");
@ -463,7 +462,7 @@ main(int argc, char* argv[])
if(state.sut_config.num_options > 0)
{
char* variator_name = state.variator_type == SDL_VARIATOR_RANDOM ?
const char* variator_name = (state.variator_type == SDL_VARIATOR_RANDOM) ?
"RANDOM" : "EXHAUSTIVE";
if(state.num_variations > 0)
SDLTest_Log("Testing SUT with variator: %s for %d variations",
@ -519,7 +518,7 @@ main(int argc, char* argv[])
}
goto cleanup_variator;
}
goto cleanup_sdl;
cleanup_variator:

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file variator_common.c
*
@ -189,7 +189,7 @@ SDLVisualTest_InitVariation(SDLVisualTest_Variation* variation,
sizeof(SDLVisualTest_SUTOptionValue));
if(!variation->vars)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
return 0;
}
variation->num_vars = config->num_options;
@ -222,4 +222,4 @@ SDLVisualTest_InitVariation(SDLVisualTest_Variation* variation,
}
}
return 1;
}
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file variator_exhaustive.c
*
@ -39,6 +39,7 @@ NextVariation(SDLVisualTest_Variation* variation,
return 0;
if(carry == 0)
return 1;
SDLTest_LogError("NextVariation() failed");
return -1;
}
@ -129,4 +130,4 @@ SDLVisualTest_FreeExhaustiveVariator(SDLVisualTest_ExhaustiveVariator* variator)
}
SDL_free(variator->variation.vars);
variator->variation.vars = NULL;
}
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file variator_random.c
*
@ -47,12 +47,13 @@ SDLVisualTest_GetNextRandomVariation(SDLVisualTest_RandomVariator* variator)
SDLVisualTest_SUTOptionValue* vars;
SDLVisualTest_SUTOption* options;
int i;
if(!variator)
{
SDLTest_LogError("variator argument cannot be NULL");
return NULL;
}
/* to save typing */
vars = variator->variation.vars;
options = variator->config.options;
@ -106,6 +107,7 @@ void SDLVisualTest_FreeRandomVariator(SDLVisualTest_RandomVariator* variator)
SDLTest_LogError("variator argument cannot be NULL");
return;
}
SDL_free(variator->variation.vars);
variator->variation.vars = NULL;
}
}

View file

@ -1,4 +1,4 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file variators.c
*
@ -53,6 +53,7 @@ SDLVisualTest_GetNextVariation(SDLVisualTest_Variator* variator)
SDLTest_LogError("variator argument cannot be NULL");
return NULL;
}
switch(variator->type)
{
case SDL_VARIATOR_EXHAUSTIVE:
@ -77,6 +78,7 @@ void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator)
SDLTest_LogError("variator argument cannot be NULL");
return;
}
switch(variator->type)
{
case SDL_VARIATOR_EXHAUSTIVE:
@ -90,4 +92,4 @@ void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator)
default:
SDLTest_LogError("Invalid value for variator type");
}
}
}

View file

@ -1,11 +1,10 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file windows_process.c
* \file windows_process.c
*
* Source file for the process API on windows.
*/
#include <SDL.h>
#include <SDL_test.h>
#include <string.h>
@ -16,7 +15,7 @@
#if defined(__WIN32__)
void
LogLastError(char* str)
LogLastError(const char* str)
{
LPVOID buffer;
DWORD dw = GetLastError();
@ -61,7 +60,7 @@ SDL_LaunchProcess(char* file, char* args, SDL_ProcessInfo* pinfo)
working_directory = (char*)SDL_malloc(path_length + 1);
if(!working_directory)
{
SDLTest_LogError("Could not allocate working_directory - malloc() failed.");
SDLTest_LogError("Could not allocate working_directory - SDL_malloc() failed.");
return 0;
}
@ -80,7 +79,7 @@ SDL_LaunchProcess(char* file, char* args, SDL_ProcessInfo* pinfo)
command_line = (char*)SDL_malloc(path_length + args_length + 2);
if(!command_line)
{
SDLTest_LogError("Could not allocate command_line - malloc() failed.");
SDLTest_LogError("Could not allocate command_line - SDL_malloc() failed.");
return 0;
}
SDL_memcpy(command_line, file, path_length);
@ -175,7 +174,7 @@ CloseWindowCallback(HWND hwnd, LPARAM lparam)
GetWindowThreadProcessId(hwnd, &pid);
if(pid == pinfo->pi.dwProcessId)
{
DWORD result;
DWORD_PTR result;
if(!SendMessageTimeout(hwnd, WM_CLOSE, 0, 0, SMTO_BLOCK,
1000, &result))
{

View file

@ -1,6 +1,6 @@
/* See COPYING.txt for the full license governing this code. */
/* See LICENSE.txt for the full license governing this code. */
/**
* \file windows_screenshot.c
* \file windows_screenshot.c
*
* Source file for the screenshot API on windows.
*/
@ -14,9 +14,9 @@
#endif
#if defined(__WIN32__)
#include <Windows.h>
#include <windows.h>
void LogLastError(char* str);
void LogLastError(const char* str);
static int img_num;
static SDL_ProcessInfo screenshot_pinfo;
@ -241,7 +241,7 @@ ScreenshotWindow(HWND hwnd, char* filename, SDL_bool only_client_area)
goto screenshotwindow_cleanup_capturebitmap;
}
/* free resources */
/* Free resources */
screenshotwindow_cleanup_capturebitmap:
if(!DeleteObject(capturebitmap))
@ -297,7 +297,7 @@ ScreenshotHwnd(HWND hwnd, LPARAM lparam)
filename = (char*)SDL_malloc(len * sizeof(char));
if(!filename)
{
SDLTest_LogError("malloc() failed");
SDLTest_LogError("SDL_malloc() failed");
return FALSE;
}

View file

@ -1 +0,0 @@
timestamp for config.h

View file

@ -64,7 +64,7 @@ main(int argc, char** argv)
if(consumed < 0)
{
static const char *options = { "[--exit-code N]", "[--crash]", "[--hang]", NULL };
static const char *options[] = { "[--exit-code N]", "[--crash]", "[--hang]", NULL };
SDLTest_CommonLogUsage(state, argv[0], options);
SDLTest_CommonQuit(state);
return 1;