First CppUnit tests implemented
This commit is contained in:
parent
d80bfc5a3a
commit
a00f052e4d
|
@ -8,6 +8,8 @@
|
||||||
*.gcov
|
*.gcov
|
||||||
*.gcno
|
*.gcno
|
||||||
*.gcda
|
*.gcda
|
||||||
|
*.log
|
||||||
|
*.trs
|
||||||
stamp-h1
|
stamp-h1
|
||||||
_configs.sed
|
_configs.sed
|
||||||
config.guess
|
config.guess
|
||||||
|
@ -46,3 +48,6 @@ examples/keyboard
|
||||||
examples/mouse
|
examples/mouse
|
||||||
examples/timer
|
examples/timer
|
||||||
examples/ui
|
examples/ui
|
||||||
|
src/test/.deps/
|
||||||
|
src/test/.libs/
|
||||||
|
src/test/fstring_test
|
||||||
|
|
|
@ -75,6 +75,8 @@ matrix:
|
||||||
- make V=1 -j10
|
- make V=1 -j10
|
||||||
- echo input | examples/string-operations
|
- echo input | examples/string-operations
|
||||||
- examples/termcap
|
- examples/termcap
|
||||||
|
- cd test
|
||||||
|
- make check-TESTS
|
||||||
after_success:
|
after_success:
|
||||||
- coveralls --gcov-options '\-lp' -e debian -e doc -e icon -e logo -e m4 -e scripts
|
- coveralls --gcov-options '\-lp' -e debian -e doc -e icon -e logo -e m4 -e scripts
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
2017-02-25 Markus Gans <guru.mail@muenster.de>
|
||||||
|
* First CppUnit tests implemented
|
||||||
|
|
||||||
2017-02-22 Markus Gans <guru.mail@muenster.de>
|
2017-02-22 Markus Gans <guru.mail@muenster.de>
|
||||||
* Generalize mouse event passing in FMenuItem
|
* Generalize mouse event passing in FMenuItem
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,5 @@ SUBDIRS = src fonts doc examples
|
||||||
|
|
||||||
docdir = ${datadir}/doc/${PACKAGE}
|
docdir = ${datadir}/doc/${PACKAGE}
|
||||||
doc_DATA = AUTHORS COPYING COPYING.LESSER ChangeLog
|
doc_DATA = AUTHORS COPYING COPYING.LESSER ChangeLog
|
||||||
|
|
||||||
|
test: check
|
||||||
|
|
12
Makefile.in
12
Makefile.in
|
@ -90,9 +90,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
ltmain.sh
|
ltmain.sh
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
||||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
$(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
@ -243,6 +244,9 @@ CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
|
||||||
|
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
|
||||||
|
CPPUNIT_LIBS = @CPPUNIT_LIBS@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
@ -862,6 +866,8 @@ uninstall-am: uninstall-docDATA
|
||||||
uninstall-am uninstall-docDATA
|
uninstall-am uninstall-docDATA
|
||||||
|
|
||||||
|
|
||||||
|
test: check
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
.NOEXPORT:
|
.NOEXPORT:
|
||||||
|
|
|
@ -1148,6 +1148,7 @@ AC_SUBST([am__untar])
|
||||||
]) # _AM_PROG_TAR
|
]) # _AM_PROG_TAR
|
||||||
|
|
||||||
m4_include([m4/ax_prefix_config_h.m4])
|
m4_include([m4/ax_prefix_config_h.m4])
|
||||||
|
m4_include([m4/cppunit.m4])
|
||||||
m4_include([m4/libtool.m4])
|
m4_include([m4/libtool.m4])
|
||||||
m4_include([m4/ltoptions.m4])
|
m4_include([m4/ltoptions.m4])
|
||||||
m4_include([m4/ltsugar.m4])
|
m4_include([m4/ltsugar.m4])
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
if test "$1" = "update"
|
||||||
|
then
|
||||||
|
# Update generated configuration files
|
||||||
|
autoreconf -v --install --force
|
||||||
|
else
|
||||||
# Set up an m4 environment
|
# Set up an m4 environment
|
||||||
aclocal
|
aclocal
|
||||||
|
|
||||||
|
@ -14,9 +19,7 @@ libtoolize --copy
|
||||||
|
|
||||||
# Generate Makefile.in from Makefile.am
|
# Generate Makefile.in from Makefile.am
|
||||||
automake --add-missing --copy
|
automake --add-missing --copy
|
||||||
|
fi
|
||||||
# Update generated configuration files
|
|
||||||
#autoreconf -v --install --force
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'run "./configure --prefix=/usr && make"'
|
echo 'run "./configure --prefix=/usr && make"'
|
||||||
|
|
16
build.sh
16
build.sh
|
@ -64,8 +64,16 @@ case "$1" in
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"--unit-test"|"unit-test")
|
||||||
|
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG" --with-unit-test
|
||||||
|
then
|
||||||
|
echo "${RED}Configure failed!${NORMAL}" 1>&2
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
"--coverage"|"coverage")
|
"--coverage"|"coverage")
|
||||||
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG" --with-gcov
|
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG" --with-unit-test --with-gcov
|
||||||
then
|
then
|
||||||
echo "${RED}Configure failed!${NORMAL}" 1>&2
|
echo "${RED}Configure failed!${NORMAL}" 1>&2
|
||||||
exit -1
|
exit -1
|
||||||
|
@ -81,6 +89,7 @@ case "$1" in
|
||||||
echo " debug Compile with debug option"
|
echo " debug Compile with debug option"
|
||||||
echo " fulldebug Compile with all warning options"
|
echo " fulldebug Compile with all warning options"
|
||||||
echo " profile Compile with profile option (analysis with gprof)"
|
echo " profile Compile with profile option (analysis with gprof)"
|
||||||
|
echo " unit-test Compile with CppUnit testing"
|
||||||
echo " cpu-profiler Link with Google cpu performance profiler"
|
echo " cpu-profiler Link with Google cpu performance profiler"
|
||||||
echo " coverage Compile with options for coverage analysis with gcov"
|
echo " coverage Compile with options for coverage analysis with gcov"
|
||||||
echo " help Show this help"
|
echo " help Show this help"
|
||||||
|
@ -107,4 +116,9 @@ else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "--unit-test" ] || [ "unit-test" ]
|
||||||
|
then
|
||||||
|
cd src/test && make check-TESTS
|
||||||
|
fi
|
||||||
|
|
||||||
# make install
|
# make install
|
||||||
|
|
|
@ -634,6 +634,11 @@ am__EXEEXT_TRUE
|
||||||
LTLIBOBJS
|
LTLIBOBJS
|
||||||
LIBOBJS
|
LIBOBJS
|
||||||
AM_CXXFLAGS
|
AM_CXXFLAGS
|
||||||
|
CPPUNIT_TEST_FALSE
|
||||||
|
CPPUNIT_TEST_TRUE
|
||||||
|
CPPUNIT_LIBS
|
||||||
|
CPPUNIT_CFLAGS
|
||||||
|
CPPUNIT_CONFIG
|
||||||
LIBTOOL_DEPS
|
LIBTOOL_DEPS
|
||||||
SO_VERSION
|
SO_VERSION
|
||||||
CXXCPP
|
CXXCPP
|
||||||
|
@ -770,6 +775,9 @@ with_sysroot
|
||||||
enable_libtool_lock
|
enable_libtool_lock
|
||||||
with_gpm
|
with_gpm
|
||||||
with_profiler
|
with_profiler
|
||||||
|
with_unit_test
|
||||||
|
with_cppunit_prefix
|
||||||
|
with_cppunit_exec_prefix
|
||||||
with_gcov
|
with_gcov
|
||||||
'
|
'
|
||||||
ac_precious_vars='build_alias
|
ac_precious_vars='build_alias
|
||||||
|
@ -1436,6 +1444,9 @@ Optional Packages:
|
||||||
(or the compiler's sysroot if not specified).
|
(or the compiler's sysroot if not specified).
|
||||||
--without-gpm Disable GPM mouse support
|
--without-gpm Disable GPM mouse support
|
||||||
--with-profiler build extra google profiler binaries
|
--with-profiler build extra google profiler binaries
|
||||||
|
--with-unit-test build unit tests
|
||||||
|
--with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional)
|
||||||
|
--with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional)
|
||||||
--with-gcov build for code coverage testing
|
--with-gcov build for code coverage testing
|
||||||
|
|
||||||
Some influential environment variables:
|
Some influential environment variables:
|
||||||
|
@ -17775,7 +17786,7 @@ SO_VERSION="4:0:4"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile"
|
ac_config_files="$ac_config_files Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile src/test/Makefile"
|
||||||
|
|
||||||
|
|
||||||
# use GPM (General Purpose Mouse)
|
# use GPM (General Purpose Mouse)
|
||||||
|
@ -17881,6 +17892,180 @@ fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# unit test
|
||||||
|
|
||||||
|
# Check whether --with-unit-test was given.
|
||||||
|
if test "${with_unit_test+set}" = set; then :
|
||||||
|
withval=$with_unit_test; with_unit_test=yes
|
||||||
|
else
|
||||||
|
with_unit_test=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$with_unit_test" = "xyes"
|
||||||
|
then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: enabled cppunit test" >&5
|
||||||
|
$as_echo "$as_me: enabled cppunit test" >&6;}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --with-cppunit-prefix was given.
|
||||||
|
if test "${with_cppunit_prefix+set}" = set; then :
|
||||||
|
withval=$with_cppunit_prefix; cppunit_config_prefix="$withval"
|
||||||
|
else
|
||||||
|
cppunit_config_prefix=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --with-cppunit-exec-prefix was given.
|
||||||
|
if test "${with_cppunit_exec_prefix+set}" = set; then :
|
||||||
|
withval=$with_cppunit_exec_prefix; cppunit_config_exec_prefix="$withval"
|
||||||
|
else
|
||||||
|
cppunit_config_exec_prefix=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test x$cppunit_config_exec_prefix != x ; then
|
||||||
|
cppunit_config_args="$cppunit_config_args --exec-prefix=$cppunit_config_exec_prefix"
|
||||||
|
if test x${CPPUNIT_CONFIG+set} != xset ; then
|
||||||
|
CPPUNIT_CONFIG=$cppunit_config_exec_prefix/bin/cppunit-config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test x$cppunit_config_prefix != x ; then
|
||||||
|
cppunit_config_args="$cppunit_config_args --prefix=$cppunit_config_prefix"
|
||||||
|
if test x${CPPUNIT_CONFIG+set} != xset ; then
|
||||||
|
CPPUNIT_CONFIG=$cppunit_config_prefix/bin/cppunit-config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract the first word of "cppunit-config", so it can be a program name with args.
|
||||||
|
set dummy cppunit-config; ac_word=$2
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||||
|
$as_echo_n "checking for $ac_word... " >&6; }
|
||||||
|
if ${ac_cv_path_CPPUNIT_CONFIG+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
case $CPPUNIT_CONFIG in
|
||||||
|
[\\/]* | ?:[\\/]*)
|
||||||
|
ac_cv_path_CPPUNIT_CONFIG="$CPPUNIT_CONFIG" # Let the user override the test with a path.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||||
|
for as_dir in $PATH
|
||||||
|
do
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
test -z "$as_dir" && as_dir=.
|
||||||
|
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||||
|
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||||
|
ac_cv_path_CPPUNIT_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||||
|
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||||
|
break 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$as_save_IFS
|
||||||
|
|
||||||
|
test -z "$ac_cv_path_CPPUNIT_CONFIG" && ac_cv_path_CPPUNIT_CONFIG="no"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
CPPUNIT_CONFIG=$ac_cv_path_CPPUNIT_CONFIG
|
||||||
|
if test -n "$CPPUNIT_CONFIG"; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPPUNIT_CONFIG" >&5
|
||||||
|
$as_echo "$CPPUNIT_CONFIG" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
cppunit_version_min=1.12.0
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cppunit - version >= $cppunit_version_min" >&5
|
||||||
|
$as_echo_n "checking for Cppunit - version >= $cppunit_version_min... " >&6; }
|
||||||
|
no_cppunit=""
|
||||||
|
if test "$CPPUNIT_CONFIG" = "no" ; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
no_cppunit=yes
|
||||||
|
else
|
||||||
|
CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`
|
||||||
|
CPPUNIT_LIBS=`$CPPUNIT_CONFIG --libs`
|
||||||
|
cppunit_version=`$CPPUNIT_CONFIG --version`
|
||||||
|
|
||||||
|
cppunit_major_version=`echo $cppunit_version | \
|
||||||
|
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
|
||||||
|
cppunit_minor_version=`echo $cppunit_version | \
|
||||||
|
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
|
||||||
|
cppunit_micro_version=`echo $cppunit_version | \
|
||||||
|
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
|
||||||
|
|
||||||
|
cppunit_major_min=`echo $cppunit_version_min | \
|
||||||
|
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
|
||||||
|
if test "x${cppunit_major_min}" = "x" ; then
|
||||||
|
cppunit_major_min=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
cppunit_minor_min=`echo $cppunit_version_min | \
|
||||||
|
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
|
||||||
|
if test "x${cppunit_minor_min}" = "x" ; then
|
||||||
|
cppunit_minor_min=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
cppunit_micro_min=`echo $cppunit_version_min | \
|
||||||
|
sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
|
||||||
|
if test "x${cppunit_micro_min}" = "x" ; then
|
||||||
|
cppunit_micro_min=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
cppunit_version_proper=`expr \
|
||||||
|
$cppunit_major_version \> $cppunit_major_min \| \
|
||||||
|
$cppunit_major_version \= $cppunit_major_min \& \
|
||||||
|
$cppunit_minor_version \> $cppunit_minor_min \| \
|
||||||
|
$cppunit_major_version \= $cppunit_major_min \& \
|
||||||
|
$cppunit_minor_version \= $cppunit_minor_min \& \
|
||||||
|
$cppunit_micro_version \>= $cppunit_micro_min `
|
||||||
|
|
||||||
|
if test "$cppunit_version_proper" = "1" ; then
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version" >&5
|
||||||
|
$as_echo "$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version" >&6; }
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
no_cppunit=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$no_cppunit" = x ; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
CPPUNIT_CFLAGS=""
|
||||||
|
CPPUNIT_LIBS=""
|
||||||
|
as_fn_error $? "*** CppUnit not found! ***" "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if test "1" = "1"; then
|
||||||
|
CPPUNIT_TEST_TRUE=
|
||||||
|
CPPUNIT_TEST_FALSE='#'
|
||||||
|
else
|
||||||
|
CPPUNIT_TEST_TRUE='#'
|
||||||
|
CPPUNIT_TEST_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
if test "1" = "0"; then
|
||||||
|
CPPUNIT_TEST_TRUE=
|
||||||
|
CPPUNIT_TEST_FALSE='#'
|
||||||
|
else
|
||||||
|
CPPUNIT_TEST_TRUE='#'
|
||||||
|
CPPUNIT_TEST_FALSE=
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# code coverage
|
# code coverage
|
||||||
|
|
||||||
# Check whether --with-gcov was given.
|
# Check whether --with-gcov was given.
|
||||||
|
@ -18067,6 +18252,14 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
|
||||||
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
|
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
|
||||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
if test -z "${CPPUNIT_TEST_TRUE}" && test -z "${CPPUNIT_TEST_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"CPPUNIT_TEST\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
if test -z "${CPPUNIT_TEST_TRUE}" && test -z "${CPPUNIT_TEST_FALSE}"; then
|
||||||
|
as_fn_error $? "conditional \"CPPUNIT_TEST\" was never defined.
|
||||||
|
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||||
|
fi
|
||||||
|
|
||||||
: "${CONFIG_STATUS=./config.status}"
|
: "${CONFIG_STATUS=./config.status}"
|
||||||
ac_write_fail=0
|
ac_write_fail=0
|
||||||
|
@ -19045,6 +19238,7 @@ do
|
||||||
"fonts/Makefile") CONFIG_FILES="$CONFIG_FILES fonts/Makefile" ;;
|
"fonts/Makefile") CONFIG_FILES="$CONFIG_FILES fonts/Makefile" ;;
|
||||||
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
||||||
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
|
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
|
||||||
|
"src/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/test/Makefile" ;;
|
||||||
|
|
||||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
|
|
19
configure.ac
19
configure.ac
|
@ -66,7 +66,7 @@ AC_SUBST([LIBTOOL_DEPS])
|
||||||
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile])
|
AC_CONFIG_FILES([Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile src/test/Makefile])
|
||||||
|
|
||||||
# use GPM (General Purpose Mouse)
|
# use GPM (General Purpose Mouse)
|
||||||
AC_ARG_WITH([gpm],
|
AC_ARG_WITH([gpm],
|
||||||
|
@ -93,6 +93,23 @@ then
|
||||||
[LIBS="$LIBS -lprofiler"])
|
[LIBS="$LIBS -lprofiler"])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# unit test
|
||||||
|
AC_ARG_WITH([unit-test],
|
||||||
|
[AS_HELP_STRING([--with-unit-test], [build unit tests])],
|
||||||
|
[with_unit_test=yes],
|
||||||
|
[with_unit_test=no])
|
||||||
|
if test "x$with_unit_test" = "xyes"
|
||||||
|
then
|
||||||
|
AC_MSG_NOTICE(enabled cppunit test)
|
||||||
|
AM_PATH_CPPUNIT([1.12.0],
|
||||||
|
[],
|
||||||
|
[AC_MSG_ERROR([*** CppUnit not found! ***])])
|
||||||
|
AM_CONDITIONAL(CPPUNIT_TEST, [test "1" = "1"])
|
||||||
|
else
|
||||||
|
AM_CONDITIONAL(CPPUNIT_TEST, [test "1" = "0"])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# code coverage
|
# code coverage
|
||||||
AC_ARG_WITH([gcov],
|
AC_ARG_WITH([gcov],
|
||||||
[AS_HELP_STRING([--with-gcov], [build for code coverage testing])],
|
[AS_HELP_STRING([--with-gcov], [build for code coverage testing])],
|
||||||
|
|
|
@ -86,9 +86,10 @@ subdir = doc
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am TODO
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am TODO
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
||||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
$(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -159,6 +160,9 @@ CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
|
||||||
|
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
|
||||||
|
CPPUNIT_LIBS = @CPPUNIT_LIBS@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
|
|
@ -95,9 +95,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
$(top_srcdir)/depcomp
|
$(top_srcdir)/depcomp
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
||||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
$(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -265,6 +266,9 @@ CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
|
||||||
|
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
|
||||||
|
CPPUNIT_LIBS = @CPPUNIT_LIBS@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
|
|
@ -85,9 +85,10 @@ subdir = fonts
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
||||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
$(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -129,6 +130,9 @@ CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
|
||||||
|
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
|
||||||
|
CPPUNIT_LIBS = @CPPUNIT_LIBS@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
dnl
|
||||||
|
dnl AM_PATH_CPPUNIT(MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||||
|
dnl
|
||||||
|
AC_DEFUN([AM_PATH_CPPUNIT],
|
||||||
|
[
|
||||||
|
|
||||||
|
AC_ARG_WITH(cppunit-prefix,[ --with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional)],
|
||||||
|
cppunit_config_prefix="$withval", cppunit_config_prefix="")
|
||||||
|
AC_ARG_WITH(cppunit-exec-prefix,[ --with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional)],
|
||||||
|
cppunit_config_exec_prefix="$withval", cppunit_config_exec_prefix="")
|
||||||
|
|
||||||
|
if test x$cppunit_config_exec_prefix != x ; then
|
||||||
|
cppunit_config_args="$cppunit_config_args --exec-prefix=$cppunit_config_exec_prefix"
|
||||||
|
if test x${CPPUNIT_CONFIG+set} != xset ; then
|
||||||
|
CPPUNIT_CONFIG=$cppunit_config_exec_prefix/bin/cppunit-config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test x$cppunit_config_prefix != x ; then
|
||||||
|
cppunit_config_args="$cppunit_config_args --prefix=$cppunit_config_prefix"
|
||||||
|
if test x${CPPUNIT_CONFIG+set} != xset ; then
|
||||||
|
CPPUNIT_CONFIG=$cppunit_config_prefix/bin/cppunit-config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_PATH_PROG(CPPUNIT_CONFIG, cppunit-config, no)
|
||||||
|
cppunit_version_min=$1
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for Cppunit - version >= $cppunit_version_min)
|
||||||
|
no_cppunit=""
|
||||||
|
if test "$CPPUNIT_CONFIG" = "no" ; then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
no_cppunit=yes
|
||||||
|
else
|
||||||
|
CPPUNIT_CFLAGS=`$CPPUNIT_CONFIG --cflags`
|
||||||
|
CPPUNIT_LIBS=`$CPPUNIT_CONFIG --libs`
|
||||||
|
cppunit_version=`$CPPUNIT_CONFIG --version`
|
||||||
|
|
||||||
|
cppunit_major_version=`echo $cppunit_version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||||
|
cppunit_minor_version=`echo $cppunit_version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||||
|
cppunit_micro_version=`echo $cppunit_version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||||
|
|
||||||
|
cppunit_major_min=`echo $cppunit_version_min | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||||
|
if test "x${cppunit_major_min}" = "x" ; then
|
||||||
|
cppunit_major_min=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
cppunit_minor_min=`echo $cppunit_version_min | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||||
|
if test "x${cppunit_minor_min}" = "x" ; then
|
||||||
|
cppunit_minor_min=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
cppunit_micro_min=`echo $cppunit_version_min | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||||
|
if test "x${cppunit_micro_min}" = "x" ; then
|
||||||
|
cppunit_micro_min=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
cppunit_version_proper=`expr \
|
||||||
|
$cppunit_major_version \> $cppunit_major_min \| \
|
||||||
|
$cppunit_major_version \= $cppunit_major_min \& \
|
||||||
|
$cppunit_minor_version \> $cppunit_minor_min \| \
|
||||||
|
$cppunit_major_version \= $cppunit_major_min \& \
|
||||||
|
$cppunit_minor_version \= $cppunit_minor_min \& \
|
||||||
|
$cppunit_micro_version \>= $cppunit_micro_min `
|
||||||
|
|
||||||
|
if test "$cppunit_version_proper" = "1" ; then
|
||||||
|
AC_MSG_RESULT([$cppunit_major_version.$cppunit_minor_version.$cppunit_micro_version])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
no_cppunit=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$no_cppunit" = x ; then
|
||||||
|
ifelse([$2], , :, [$2])
|
||||||
|
else
|
||||||
|
CPPUNIT_CFLAGS=""
|
||||||
|
CPPUNIT_LIBS=""
|
||||||
|
ifelse([$3], , :, [$3])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(CPPUNIT_CFLAGS)
|
||||||
|
AC_SUBST(CPPUNIT_LIBS)
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -111,4 +111,3 @@ clean-local:
|
||||||
|
|
||||||
#uninstall:
|
#uninstall:
|
||||||
# rm -R -f $(includedir)/final
|
# rm -R -f $(includedir)/final
|
||||||
|
|
||||||
|
|
|
@ -88,9 +88,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
$(top_srcdir)/depcomp $(finalcutinclude_HEADERS)
|
$(top_srcdir)/depcomp $(finalcutinclude_HEADERS)
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
||||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
$(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
@ -222,6 +223,9 @@ CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
|
||||||
|
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
|
||||||
|
CPPUNIT_LIBS = @CPPUNIT_LIBS@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CXXCPP = @CXXCPP@
|
CXXCPP = @CXXCPP@
|
||||||
CXXDEPMODE = @CXXDEPMODE@
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
|
|
@ -690,6 +690,9 @@ uInt FString::getUTF8length() const
|
||||||
uInt len;
|
uInt len;
|
||||||
const char* s;
|
const char* s;
|
||||||
|
|
||||||
|
if ( ! string )
|
||||||
|
return 0;
|
||||||
|
|
||||||
len = 0;
|
len = 0;
|
||||||
s = c_str();
|
s = c_str();
|
||||||
|
|
||||||
|
@ -1523,15 +1526,15 @@ bool FString::operator <= (const char c) const
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::operator == (const FString& s) const
|
bool FString::operator == (const FString& s) const
|
||||||
{
|
{
|
||||||
|
if ( ! (string || s.string) )
|
||||||
|
return true;
|
||||||
|
|
||||||
if ( ! s )
|
if ( ! s )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if ( bool(string) != bool(s.string) )
|
if ( bool(string) != bool(s.string) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if ( ! (string || s.string) )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return ( std::wcscmp(string, s.string) == 0 );
|
return ( std::wcscmp(string, s.string) == 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1580,15 +1583,15 @@ bool FString::operator == (const char c) const
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::operator != (const FString& s) const
|
bool FString::operator != (const FString& s) const
|
||||||
{
|
{
|
||||||
|
if ( ! (string || s.string) )
|
||||||
|
return false;
|
||||||
|
|
||||||
if ( ! s )
|
if ( ! s )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if ( bool(string) != bool(s.string) )
|
if ( bool(string) != bool(s.string) )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if ( ! (string || s.string) )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return ( std::wcscmp(string, s.string) != 0 );
|
return ( std::wcscmp(string, s.string) != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2424,18 +2427,27 @@ const FString& FString::remove (uInt pos, uInt len)
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::includes (const FString& s)
|
bool FString::includes (const FString& s)
|
||||||
{
|
{
|
||||||
|
if ( ! string )
|
||||||
|
return false;
|
||||||
|
|
||||||
return ( std::wcsstr(string, s.string) != 0 );
|
return ( std::wcsstr(string, s.string) != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::includes (const wchar_t s[])
|
bool FString::includes (const wchar_t s[])
|
||||||
{
|
{
|
||||||
|
if ( ! string )
|
||||||
|
return false;
|
||||||
|
|
||||||
return ( std::wcsstr(string, s) != 0 );
|
return ( std::wcsstr(string, s) != 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::includes (const char s[])
|
bool FString::includes (const char s[])
|
||||||
{
|
{
|
||||||
|
if ( ! string )
|
||||||
|
return false;
|
||||||
|
|
||||||
bool ret;
|
bool ret;
|
||||||
const wchar_t* wc_string = c_to_wc_str(s);
|
const wchar_t* wc_string = c_to_wc_str(s);
|
||||||
|
|
||||||
|
@ -2450,6 +2462,9 @@ bool FString::includes (const char s[])
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::includes (const wchar_t c)
|
bool FString::includes (const wchar_t c)
|
||||||
{
|
{
|
||||||
|
if ( ! string )
|
||||||
|
return false;
|
||||||
|
|
||||||
wchar_t s[2];
|
wchar_t s[2];
|
||||||
s[0] = c;
|
s[0] = c;
|
||||||
s[1] = L'\0';
|
s[1] = L'\0';
|
||||||
|
@ -2459,6 +2474,9 @@ bool FString::includes (const wchar_t c)
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FString::includes (const char c)
|
bool FString::includes (const char c)
|
||||||
{
|
{
|
||||||
|
if ( ! string )
|
||||||
|
return false;
|
||||||
|
|
||||||
wchar_t s[2];
|
wchar_t s[2];
|
||||||
s[0] = wchar_t(c & 0xff);
|
s[0] = wchar_t(c & 0xff);
|
||||||
s[1] = L'\0';
|
s[1] = L'\0';
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
# Makefile.am - The Final Cut unit tests programs
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
AM_LDFLAGS = -L$(top_builddir)/src/.libs -lfinal $(CPPUNIT_LIBS)
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include -Wall -Werror
|
||||||
|
|
||||||
|
noinst_PROGRAMS = \
|
||||||
|
fstring_test
|
||||||
|
|
||||||
|
fstring_test_SOURCES = fstring-test.cpp
|
||||||
|
|
||||||
|
if CPPUNIT_TEST
|
||||||
|
TESTS = fstring_test
|
||||||
|
endif
|
||||||
|
|
||||||
|
check_PROGRAMS = $(TESTS)
|
||||||
|
|
||||||
|
test: check
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
-find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete
|
|
@ -0,0 +1,44 @@
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Makefile for Final Cut
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# This is where make install will install the executable
|
||||||
|
BINDIR = /usr/local/bin
|
||||||
|
|
||||||
|
# compiler parameter
|
||||||
|
CXX = clang++
|
||||||
|
SRCS = $(wildcard *.cpp)
|
||||||
|
OBJS = $(SRCS:%.cpp=%)
|
||||||
|
CCXFLAGS = $(OPTIMIZE) $(PROFILE) $(DEBUG)
|
||||||
|
MAKEFILE = -f Makefile.clang
|
||||||
|
LDFLAGS = -L../src -lfinal -lcppunit -ldl
|
||||||
|
INCLUDES = -I../include -I/usr/include/final
|
||||||
|
RM = rm -f
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
OPTIMIZE = -O0 -fsanitize=undefined
|
||||||
|
else
|
||||||
|
OPTIMIZE = -O2
|
||||||
|
endif
|
||||||
|
|
||||||
|
# $@ = name of the targets
|
||||||
|
# $^ = all dependency (without double entries)
|
||||||
|
.cpp:
|
||||||
|
$(CXX) $(CCXFLAGS) $(INCLUDES) $(LDFLAGS) -o $@ $^
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
|
||||||
|
debug:
|
||||||
|
$(MAKE) $(MAKEFILE) DEBUG="-g -D DEBUG -Wall -Wextra -Wpedantic -Wpadded"
|
||||||
|
|
||||||
|
check: test
|
||||||
|
test: debug
|
||||||
|
$(OBJS) | sed -e "s/ OK/\x1b[32m OK\x1b[0m/g" -e "s/ failed/\x1b[31m failed\x1b[0m/g"
|
||||||
|
|
||||||
|
profile:
|
||||||
|
$(MAKE) $(MAKEFILE) PROFILE="-pg"
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(RM) $(SRCS:%.cpp=%) *.gcno *.gcda *.gch *.plist *~
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
# Makefile for Final Cut
|
||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# This is where make install will install the executable
|
||||||
|
BINDIR = /usr/local/bin
|
||||||
|
|
||||||
|
# compiler parameter
|
||||||
|
CXX = g++
|
||||||
|
SRCS = $(wildcard *.cpp)
|
||||||
|
OBJS = $(SRCS:%.cpp=%)
|
||||||
|
CCXFLAGS = $(OPTIMIZE) $(PROFILE) $(DEBUG)
|
||||||
|
MAKEFILE = -f Makefile.gcc
|
||||||
|
LDFLAGS = -L../src -lfinal -lcppunit -ldl
|
||||||
|
INCLUDES = -I../include -I/usr/include/final
|
||||||
|
RM = rm -f
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
OPTIMIZE = -O0
|
||||||
|
else
|
||||||
|
OPTIMIZE = -O2
|
||||||
|
endif
|
||||||
|
|
||||||
|
# $@ = name of the targets
|
||||||
|
# $^ = all dependency (without double entries)
|
||||||
|
.cpp:
|
||||||
|
$(CXX) $(CCXFLAGS) $(INCLUDES) $(LDFLAGS) -o $@ $^
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
|
||||||
|
debug:
|
||||||
|
$(MAKE) $(MAKEFILE) DEBUG="-g -D DEBUG -Wall -Wextra -Wpedantic"
|
||||||
|
|
||||||
|
check: test
|
||||||
|
test: debug
|
||||||
|
$(OBJS) | sed -e "s/ OK/\x1b[32m OK\x1b[0m/g" -e "s/ failed/\x1b[31m failed\x1b[0m/g"
|
||||||
|
|
||||||
|
profile:
|
||||||
|
$(MAKE) $(MAKEFILE) PROFILE="-pg"
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(RM) $(SRCS:%.cpp=%) *.gcno *.gcda *~
|
||||||
|
|
|
@ -0,0 +1,978 @@
|
||||||
|
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
# Makefile.am - The Final Cut unit tests programs
|
||||||
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
VPATH = @srcdir@
|
||||||
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
|
am__make_running_with_option = \
|
||||||
|
case $${target_option-} in \
|
||||||
|
?) ;; \
|
||||||
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||||
|
"target option '$${target_option-}' specified" >&2; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
has_opt=no; \
|
||||||
|
sane_makeflags=$$MAKEFLAGS; \
|
||||||
|
if $(am__is_gnu_make); then \
|
||||||
|
sane_makeflags=$$MFLAGS; \
|
||||||
|
else \
|
||||||
|
case $$MAKEFLAGS in \
|
||||||
|
*\\[\ \ ]*) \
|
||||||
|
bs=\\; \
|
||||||
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||||
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||||
|
esac; \
|
||||||
|
fi; \
|
||||||
|
skip_next=no; \
|
||||||
|
strip_trailopt () \
|
||||||
|
{ \
|
||||||
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||||
|
}; \
|
||||||
|
for flg in $$sane_makeflags; do \
|
||||||
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||||
|
case $$flg in \
|
||||||
|
*=*|--*) continue;; \
|
||||||
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||||
|
-*I?*) strip_trailopt 'I';; \
|
||||||
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||||
|
-*O?*) strip_trailopt 'O';; \
|
||||||
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||||
|
-*l?*) strip_trailopt 'l';; \
|
||||||
|
-[dEDm]) skip_next=yes;; \
|
||||||
|
-[JT]) skip_next=yes;; \
|
||||||
|
esac; \
|
||||||
|
case $$flg in \
|
||||||
|
*$$target_option*) has_opt=yes; break;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
test $$has_opt = yes
|
||||||
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||||
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = @build@
|
||||||
|
host_triplet = @host@
|
||||||
|
noinst_PROGRAMS = fstring_test$(EXEEXT)
|
||||||
|
@CPPUNIT_TEST_TRUE@TESTS = fstring_test$(EXEEXT)
|
||||||
|
check_PROGRAMS = $(am__EXEEXT_1)
|
||||||
|
subdir = src/test
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
|
$(top_srcdir)/depcomp $(top_srcdir)/test-driver
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
|
||||||
|
$(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \
|
||||||
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
||||||
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
||||||
|
$(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
|
CONFIG_CLEAN_FILES =
|
||||||
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
@CPPUNIT_TEST_TRUE@am__EXEEXT_1 = fstring_test$(EXEEXT)
|
||||||
|
PROGRAMS = $(noinst_PROGRAMS)
|
||||||
|
am_fstring_test_OBJECTS = fstring-test.$(OBJEXT)
|
||||||
|
fstring_test_OBJECTS = $(am_fstring_test_OBJECTS)
|
||||||
|
fstring_test_LDADD = $(LDADD)
|
||||||
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
|
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||||
|
am__v_lt_0 = --silent
|
||||||
|
am__v_lt_1 =
|
||||||
|
AM_V_P = $(am__v_P_@AM_V@)
|
||||||
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||||
|
am__v_P_0 = false
|
||||||
|
am__v_P_1 = :
|
||||||
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||||
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||||
|
am__v_GEN_0 = @echo " GEN " $@;
|
||||||
|
am__v_GEN_1 =
|
||||||
|
AM_V_at = $(am__v_at_@AM_V@)
|
||||||
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||||
|
am__v_at_0 = @
|
||||||
|
am__v_at_1 =
|
||||||
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||||
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
|
am__depfiles_maybe = depfiles
|
||||||
|
am__mv = mv -f
|
||||||
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
|
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
|
||||||
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
|
$(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
|
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
||||||
|
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
|
||||||
|
am__v_CXX_0 = @echo " CXX " $@;
|
||||||
|
am__v_CXX_1 =
|
||||||
|
CXXLD = $(CXX)
|
||||||
|
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||||
|
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
||||||
|
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
|
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
|
||||||
|
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
|
||||||
|
am__v_CXXLD_0 = @echo " CXXLD " $@;
|
||||||
|
am__v_CXXLD_1 =
|
||||||
|
SOURCES = $(fstring_test_SOURCES)
|
||||||
|
DIST_SOURCES = $(fstring_test_SOURCES)
|
||||||
|
am__can_run_installinfo = \
|
||||||
|
case $$AM_UPDATE_INFO_DIR in \
|
||||||
|
n|no|NO) false;; \
|
||||||
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
|
esac
|
||||||
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
# *not* preserved.
|
||||||
|
am__uniquify_input = $(AWK) '\
|
||||||
|
BEGIN { nonempty = 0; } \
|
||||||
|
{ items[$$0] = 1; nonempty = 1; } \
|
||||||
|
END { if (nonempty) { for (i in items) print i; }; } \
|
||||||
|
'
|
||||||
|
# Make sure the list of sources is unique. This is necessary because,
|
||||||
|
# e.g., the same source file might be shared among _SOURCES variables
|
||||||
|
# for different programs/libraries.
|
||||||
|
am__define_uniq_tagged_files = \
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | $(am__uniquify_input)`
|
||||||
|
ETAGS = etags
|
||||||
|
CTAGS = ctags
|
||||||
|
am__tty_colors_dummy = \
|
||||||
|
mgn= red= grn= lgn= blu= brg= std=; \
|
||||||
|
am__color_tests=no
|
||||||
|
am__tty_colors = { \
|
||||||
|
$(am__tty_colors_dummy); \
|
||||||
|
if test "X$(AM_COLOR_TESTS)" = Xno; then \
|
||||||
|
am__color_tests=no; \
|
||||||
|
elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
|
||||||
|
am__color_tests=yes; \
|
||||||
|
elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
|
||||||
|
am__color_tests=yes; \
|
||||||
|
fi; \
|
||||||
|
if test $$am__color_tests = yes; then \
|
||||||
|
red='[0;31m'; \
|
||||||
|
grn='[0;32m'; \
|
||||||
|
lgn='[1;32m'; \
|
||||||
|
blu='[1;34m'; \
|
||||||
|
mgn='[0;35m'; \
|
||||||
|
brg='[1m'; \
|
||||||
|
std='[m'; \
|
||||||
|
fi; \
|
||||||
|
}
|
||||||
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
|
am__vpath_adj = case $$p in \
|
||||||
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
*) f=$$p;; \
|
||||||
|
esac;
|
||||||
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||||
|
am__install_max = 40
|
||||||
|
am__nobase_strip_setup = \
|
||||||
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||||
|
am__nobase_strip = \
|
||||||
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||||
|
am__nobase_list = $(am__nobase_strip_setup); \
|
||||||
|
for p in $$list; do echo "$$p $$p"; done | \
|
||||||
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||||
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||||
|
if (++n[$$2] == $(am__install_max)) \
|
||||||
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||||
|
END { for (dir in files) print dir, files[dir] }'
|
||||||
|
am__base_list = \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||||
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||||
|
am__uninstall_files_from_dir = { \
|
||||||
|
test -z "$$files" \
|
||||||
|
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||||
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||||
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||||
|
}
|
||||||
|
am__recheck_rx = ^[ ]*:recheck:[ ]*
|
||||||
|
am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
|
||||||
|
am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
|
||||||
|
# A command that, given a newline-separated list of test names on the
|
||||||
|
# standard input, print the name of the tests that are to be re-run
|
||||||
|
# upon "make recheck".
|
||||||
|
am__list_recheck_tests = $(AWK) '{ \
|
||||||
|
recheck = 1; \
|
||||||
|
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
|
||||||
|
{ \
|
||||||
|
if (rc < 0) \
|
||||||
|
{ \
|
||||||
|
if ((getline line2 < ($$0 ".log")) < 0) \
|
||||||
|
recheck = 0; \
|
||||||
|
break; \
|
||||||
|
} \
|
||||||
|
else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
|
||||||
|
{ \
|
||||||
|
recheck = 0; \
|
||||||
|
break; \
|
||||||
|
} \
|
||||||
|
else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
|
||||||
|
{ \
|
||||||
|
break; \
|
||||||
|
} \
|
||||||
|
}; \
|
||||||
|
if (recheck) \
|
||||||
|
print $$0; \
|
||||||
|
close ($$0 ".trs"); \
|
||||||
|
close ($$0 ".log"); \
|
||||||
|
}'
|
||||||
|
# A command that, given a newline-separated list of test names on the
|
||||||
|
# standard input, create the global log from their .trs and .log files.
|
||||||
|
am__create_global_log = $(AWK) ' \
|
||||||
|
function fatal(msg) \
|
||||||
|
{ \
|
||||||
|
print "fatal: making $@: " msg | "cat >&2"; \
|
||||||
|
exit 1; \
|
||||||
|
} \
|
||||||
|
function rst_section(header) \
|
||||||
|
{ \
|
||||||
|
print header; \
|
||||||
|
len = length(header); \
|
||||||
|
for (i = 1; i <= len; i = i + 1) \
|
||||||
|
printf "="; \
|
||||||
|
printf "\n\n"; \
|
||||||
|
} \
|
||||||
|
{ \
|
||||||
|
copy_in_global_log = 1; \
|
||||||
|
global_test_result = "RUN"; \
|
||||||
|
while ((rc = (getline line < ($$0 ".trs"))) != 0) \
|
||||||
|
{ \
|
||||||
|
if (rc < 0) \
|
||||||
|
fatal("failed to read from " $$0 ".trs"); \
|
||||||
|
if (line ~ /$(am__global_test_result_rx)/) \
|
||||||
|
{ \
|
||||||
|
sub("$(am__global_test_result_rx)", "", line); \
|
||||||
|
sub("[ ]*$$", "", line); \
|
||||||
|
global_test_result = line; \
|
||||||
|
} \
|
||||||
|
else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
|
||||||
|
copy_in_global_log = 0; \
|
||||||
|
}; \
|
||||||
|
if (copy_in_global_log) \
|
||||||
|
{ \
|
||||||
|
rst_section(global_test_result ": " $$0); \
|
||||||
|
while ((rc = (getline line < ($$0 ".log"))) != 0) \
|
||||||
|
{ \
|
||||||
|
if (rc < 0) \
|
||||||
|
fatal("failed to read from " $$0 ".log"); \
|
||||||
|
print line; \
|
||||||
|
}; \
|
||||||
|
printf "\n"; \
|
||||||
|
}; \
|
||||||
|
close ($$0 ".trs"); \
|
||||||
|
close ($$0 ".log"); \
|
||||||
|
}'
|
||||||
|
# Restructured Text title.
|
||||||
|
am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
|
||||||
|
# Solaris 10 'make', and several other traditional 'make' implementations,
|
||||||
|
# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
|
||||||
|
# by disabling -e (using the XSI extension "set +e") if it's set.
|
||||||
|
am__sh_e_setup = case $$- in *e*) set +e;; esac
|
||||||
|
# Default flags passed to test drivers.
|
||||||
|
am__common_driver_flags = \
|
||||||
|
--color-tests "$$am__color_tests" \
|
||||||
|
--enable-hard-errors "$$am__enable_hard_errors" \
|
||||||
|
--expect-failure "$$am__expect_failure"
|
||||||
|
# To be inserted before the command running the test. Creates the
|
||||||
|
# directory for the log if needed. Stores in $dir the directory
|
||||||
|
# containing $f, in $tst the test, in $log the log. Executes the
|
||||||
|
# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
|
||||||
|
# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
|
||||||
|
# will run the test scripts (or their associated LOG_COMPILER, if
|
||||||
|
# thy have one).
|
||||||
|
am__check_pre = \
|
||||||
|
$(am__sh_e_setup); \
|
||||||
|
$(am__vpath_adj_setup) $(am__vpath_adj) \
|
||||||
|
$(am__tty_colors); \
|
||||||
|
srcdir=$(srcdir); export srcdir; \
|
||||||
|
case "$@" in \
|
||||||
|
*/*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
|
||||||
|
*) am__odir=.;; \
|
||||||
|
esac; \
|
||||||
|
test "x$$am__odir" = x"." || test -d "$$am__odir" \
|
||||||
|
|| $(MKDIR_P) "$$am__odir" || exit $$?; \
|
||||||
|
if test -f "./$$f"; then dir=./; \
|
||||||
|
elif test -f "$$f"; then dir=; \
|
||||||
|
else dir="$(srcdir)/"; fi; \
|
||||||
|
tst=$$dir$$f; log='$@'; \
|
||||||
|
if test -n '$(DISABLE_HARD_ERRORS)'; then \
|
||||||
|
am__enable_hard_errors=no; \
|
||||||
|
else \
|
||||||
|
am__enable_hard_errors=yes; \
|
||||||
|
fi; \
|
||||||
|
case " $(XFAIL_TESTS) " in \
|
||||||
|
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
|
||||||
|
am__expect_failure=yes;; \
|
||||||
|
*) \
|
||||||
|
am__expect_failure=no;; \
|
||||||
|
esac; \
|
||||||
|
$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
|
||||||
|
# A shell command to get the names of the tests scripts with any registered
|
||||||
|
# extension removed (i.e., equivalently, the names of the test logs, with
|
||||||
|
# the '.log' extension removed). The result is saved in the shell variable
|
||||||
|
# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
|
||||||
|
# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
|
||||||
|
# since that might cause problem with VPATH rewrites for suffix-less tests.
|
||||||
|
# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
|
||||||
|
am__set_TESTS_bases = \
|
||||||
|
bases='$(TEST_LOGS)'; \
|
||||||
|
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
|
||||||
|
bases=`echo $$bases`
|
||||||
|
RECHECK_LOGS = $(TEST_LOGS)
|
||||||
|
AM_RECURSIVE_TARGETS = check recheck
|
||||||
|
TEST_SUITE_LOG = test-suite.log
|
||||||
|
TEST_EXTENSIONS = @EXEEXT@ .test
|
||||||
|
LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
|
||||||
|
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
|
||||||
|
am__set_b = \
|
||||||
|
case '$@' in \
|
||||||
|
*/*) \
|
||||||
|
case '$*' in \
|
||||||
|
*/*) b='$*';; \
|
||||||
|
*) b=`echo '$@' | sed 's/\.log$$//'`; \
|
||||||
|
esac;; \
|
||||||
|
*) \
|
||||||
|
b='$*';; \
|
||||||
|
esac
|
||||||
|
am__test_logs1 = $(TESTS:=.log)
|
||||||
|
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
|
||||||
|
TEST_LOGS = $(am__test_logs2:.test.log=.log)
|
||||||
|
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
|
||||||
|
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
|
||||||
|
$(TEST_LOG_FLAGS)
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AM_CXXFLAGS = @AM_CXXFLAGS@
|
||||||
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||||
|
AR = @AR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CPPUNIT_CFLAGS = @CPPUNIT_CFLAGS@
|
||||||
|
CPPUNIT_CONFIG = @CPPUNIT_CONFIG@
|
||||||
|
CPPUNIT_LIBS = @CPPUNIT_LIBS@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
CXXFLAGS = @CXXFLAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DLLTOOL = @DLLTOOL@
|
||||||
|
DSYMUTIL = @DSYMUTIL@
|
||||||
|
DUMPBIN = @DUMPBIN@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
FGREP = @FGREP@
|
||||||
|
GREP = @GREP@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LD = @LD@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||||
|
LIPO = @LIPO@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
NM = @NM@
|
||||||
|
NMEDIT = @NMEDIT@
|
||||||
|
OBJDUMP = @OBJDUMP@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
OTOOL = @OTOOL@
|
||||||
|
OTOOL64 = @OTOOL64@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_URL = @PACKAGE_URL@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SED = @SED@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
SO_VERSION = @SO_VERSION@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
ac_ct_AR = @ac_ct_AR@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_CXX = @ac_ct_CXX@
|
||||||
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
runstatedir = @runstatedir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_build_prefix = @top_build_prefix@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
AM_LDFLAGS = -L$(top_builddir)/src/.libs -lfinal $(CPPUNIT_LIBS)
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include -Wall -Werror
|
||||||
|
fstring_test_SOURCES = fstring-test.cpp
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
.SUFFIXES: .cpp .lo .log .o .obj .test .test$(EXEEXT) .trs
|
||||||
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||||
|
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/test/Makefile'; \
|
||||||
|
$(am__cd) $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnu src/test/Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(am__configure_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
|
clean-checkPROGRAMS:
|
||||||
|
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||||
|
echo " rm -f" $$list; \
|
||||||
|
rm -f $$list || exit $$?; \
|
||||||
|
test -n "$(EXEEXT)" || exit 0; \
|
||||||
|
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
|
||||||
|
echo " rm -f" $$list; \
|
||||||
|
rm -f $$list
|
||||||
|
|
||||||
|
clean-noinstPROGRAMS:
|
||||||
|
@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||||
|
echo " rm -f" $$list; \
|
||||||
|
rm -f $$list || exit $$?; \
|
||||||
|
test -n "$(EXEEXT)" || exit 0; \
|
||||||
|
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
|
||||||
|
echo " rm -f" $$list; \
|
||||||
|
rm -f $$list
|
||||||
|
|
||||||
|
fstring_test$(EXEEXT): $(fstring_test_OBJECTS) $(fstring_test_DEPENDENCIES) $(EXTRA_fstring_test_DEPENDENCIES)
|
||||||
|
@rm -f fstring_test$(EXEEXT)
|
||||||
|
$(AM_V_CXXLD)$(CXXLINK) $(fstring_test_OBJECTS) $(fstring_test_LDADD) $(LIBS)
|
||||||
|
|
||||||
|
mostlyclean-compile:
|
||||||
|
-rm -f *.$(OBJEXT)
|
||||||
|
|
||||||
|
distclean-compile:
|
||||||
|
-rm -f *.tab.c
|
||||||
|
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstring-test.Po@am__quote@
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
|
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||||
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
|
.cpp.obj:
|
||||||
|
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||||
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||||
|
|
||||||
|
.cpp.lo:
|
||||||
|
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
|
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||||
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||||
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
|
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
|
||||||
|
ID: $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||||
|
tags: tags-am
|
||||||
|
TAGS: tags
|
||||||
|
|
||||||
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
set x; \
|
||||||
|
here=`pwd`; \
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
shift; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
if test $$# -gt 0; then \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
"$$@" $$unique; \
|
||||||
|
else \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$unique; \
|
||||||
|
fi; \
|
||||||
|
fi
|
||||||
|
ctags: ctags-am
|
||||||
|
|
||||||
|
CTAGS: ctags
|
||||||
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||||
|
$(am__define_uniq_tagged_files); \
|
||||||
|
test -z "$(CTAGS_ARGS)$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& $(am__cd) $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||||
|
cscopelist: cscopelist-am
|
||||||
|
|
||||||
|
cscopelist-am: $(am__tagged_files)
|
||||||
|
list='$(am__tagged_files)'; \
|
||||||
|
case "$(srcdir)" in \
|
||||||
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||||
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||||
|
esac; \
|
||||||
|
for i in $$list; do \
|
||||||
|
if test -f "$$i"; then \
|
||||||
|
echo "$(subdir)/$$i"; \
|
||||||
|
else \
|
||||||
|
echo "$$sdir/$$i"; \
|
||||||
|
fi; \
|
||||||
|
done >> $(top_builddir)/cscope.files
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
|
# Recover from deleted '.trs' file; this should ensure that
|
||||||
|
# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
|
||||||
|
# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
|
||||||
|
# to avoid problems with "make -n".
|
||||||
|
.log.trs:
|
||||||
|
rm -f $< $@
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) $<
|
||||||
|
|
||||||
|
# Leading 'am--fnord' is there to ensure the list of targets does not
|
||||||
|
# expand to empty, as could happen e.g. with make check TESTS=''.
|
||||||
|
am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
|
||||||
|
am--force-recheck:
|
||||||
|
@:
|
||||||
|
|
||||||
|
$(TEST_SUITE_LOG): $(TEST_LOGS)
|
||||||
|
@$(am__set_TESTS_bases); \
|
||||||
|
am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
|
||||||
|
redo_bases=`for i in $$bases; do \
|
||||||
|
am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
|
||||||
|
done`; \
|
||||||
|
if test -n "$$redo_bases"; then \
|
||||||
|
redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
|
||||||
|
redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
|
||||||
|
if $(am__make_dryrun); then :; else \
|
||||||
|
rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
if test -n "$$am__remaking_logs"; then \
|
||||||
|
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
|
||||||
|
"recursion detected" >&2; \
|
||||||
|
else \
|
||||||
|
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
|
||||||
|
fi; \
|
||||||
|
if $(am__make_dryrun); then :; else \
|
||||||
|
st=0; \
|
||||||
|
errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
|
||||||
|
for i in $$redo_bases; do \
|
||||||
|
test -f $$i.trs && test -r $$i.trs \
|
||||||
|
|| { echo "$$errmsg $$i.trs" >&2; st=1; }; \
|
||||||
|
test -f $$i.log && test -r $$i.log \
|
||||||
|
|| { echo "$$errmsg $$i.log" >&2; st=1; }; \
|
||||||
|
done; \
|
||||||
|
test $$st -eq 0 || exit 1; \
|
||||||
|
fi
|
||||||
|
@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
|
||||||
|
ws='[ ]'; \
|
||||||
|
results=`for b in $$bases; do echo $$b.trs; done`; \
|
||||||
|
test -n "$$results" || results=/dev/null; \
|
||||||
|
all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
|
||||||
|
pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
|
||||||
|
fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
|
||||||
|
skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
|
||||||
|
xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
|
||||||
|
xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
|
||||||
|
error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
|
||||||
|
if test `expr $$fail + $$xpass + $$error` -eq 0; then \
|
||||||
|
success=true; \
|
||||||
|
else \
|
||||||
|
success=false; \
|
||||||
|
fi; \
|
||||||
|
br='==================='; br=$$br$$br$$br$$br; \
|
||||||
|
result_count () \
|
||||||
|
{ \
|
||||||
|
if test x"$$1" = x"--maybe-color"; then \
|
||||||
|
maybe_colorize=yes; \
|
||||||
|
elif test x"$$1" = x"--no-color"; then \
|
||||||
|
maybe_colorize=no; \
|
||||||
|
else \
|
||||||
|
echo "$@: invalid 'result_count' usage" >&2; exit 4; \
|
||||||
|
fi; \
|
||||||
|
shift; \
|
||||||
|
desc=$$1 count=$$2; \
|
||||||
|
if test $$maybe_colorize = yes && test $$count -gt 0; then \
|
||||||
|
color_start=$$3 color_end=$$std; \
|
||||||
|
else \
|
||||||
|
color_start= color_end=; \
|
||||||
|
fi; \
|
||||||
|
echo "$${color_start}# $$desc $$count$${color_end}"; \
|
||||||
|
}; \
|
||||||
|
create_testsuite_report () \
|
||||||
|
{ \
|
||||||
|
result_count $$1 "TOTAL:" $$all "$$brg"; \
|
||||||
|
result_count $$1 "PASS: " $$pass "$$grn"; \
|
||||||
|
result_count $$1 "SKIP: " $$skip "$$blu"; \
|
||||||
|
result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
|
||||||
|
result_count $$1 "FAIL: " $$fail "$$red"; \
|
||||||
|
result_count $$1 "XPASS:" $$xpass "$$red"; \
|
||||||
|
result_count $$1 "ERROR:" $$error "$$mgn"; \
|
||||||
|
}; \
|
||||||
|
{ \
|
||||||
|
echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
|
||||||
|
$(am__rst_title); \
|
||||||
|
create_testsuite_report --no-color; \
|
||||||
|
echo; \
|
||||||
|
echo ".. contents:: :depth: 2"; \
|
||||||
|
echo; \
|
||||||
|
for b in $$bases; do echo $$b; done \
|
||||||
|
| $(am__create_global_log); \
|
||||||
|
} >$(TEST_SUITE_LOG).tmp || exit 1; \
|
||||||
|
mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
|
||||||
|
if $$success; then \
|
||||||
|
col="$$grn"; \
|
||||||
|
else \
|
||||||
|
col="$$red"; \
|
||||||
|
test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
|
||||||
|
fi; \
|
||||||
|
echo "$${col}$$br$${std}"; \
|
||||||
|
echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
|
||||||
|
echo "$${col}$$br$${std}"; \
|
||||||
|
create_testsuite_report --maybe-color; \
|
||||||
|
echo "$$col$$br$$std"; \
|
||||||
|
if $$success; then :; else \
|
||||||
|
echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
|
||||||
|
if test -n "$(PACKAGE_BUGREPORT)"; then \
|
||||||
|
echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
|
||||||
|
fi; \
|
||||||
|
echo "$$col$$br$$std"; \
|
||||||
|
fi; \
|
||||||
|
$$success || exit 1
|
||||||
|
|
||||||
|
check-TESTS:
|
||||||
|
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
|
||||||
|
@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
|
||||||
|
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
|
||||||
|
@set +e; $(am__set_TESTS_bases); \
|
||||||
|
log_list=`for i in $$bases; do echo $$i.log; done`; \
|
||||||
|
trs_list=`for i in $$bases; do echo $$i.trs; done`; \
|
||||||
|
log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
|
||||||
|
exit $$?;
|
||||||
|
recheck: all $(check_PROGRAMS)
|
||||||
|
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
|
||||||
|
@set +e; $(am__set_TESTS_bases); \
|
||||||
|
bases=`for i in $$bases; do echo $$i; done \
|
||||||
|
| $(am__list_recheck_tests)` || exit 1; \
|
||||||
|
log_list=`for i in $$bases; do echo $$i.log; done`; \
|
||||||
|
log_list=`echo $$log_list`; \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
|
||||||
|
am__force_recheck=am--force-recheck \
|
||||||
|
TEST_LOGS="$$log_list"; \
|
||||||
|
exit $$?
|
||||||
|
fstring_test.log: fstring_test$(EXEEXT)
|
||||||
|
@p='fstring_test$(EXEEXT)'; \
|
||||||
|
b='fstring_test'; \
|
||||||
|
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
|
||||||
|
--log-file $$b.log --trs-file $$b.trs \
|
||||||
|
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||||
|
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
|
.test.log:
|
||||||
|
@p='$<'; \
|
||||||
|
$(am__set_b); \
|
||||||
|
$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
|
||||||
|
--log-file $$b.log --trs-file $$b.trs \
|
||||||
|
$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
|
||||||
|
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
|
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
|
||||||
|
@am__EXEEXT_TRUE@ @p='$<'; \
|
||||||
|
@am__EXEEXT_TRUE@ $(am__set_b); \
|
||||||
|
@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
|
||||||
|
@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
|
||||||
|
@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
|
||||||
|
@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d "$(distdir)/$$file"; then \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||||
|
fi; \
|
||||||
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f "$(distdir)/$$file" \
|
||||||
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
check-am: all-am
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
|
||||||
|
check: check-am
|
||||||
|
all-am: Makefile $(PROGRAMS)
|
||||||
|
installdirs:
|
||||||
|
install: install-am
|
||||||
|
install-exec: install-exec-am
|
||||||
|
install-data: install-data-am
|
||||||
|
uninstall: uninstall-am
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-am
|
||||||
|
install-strip:
|
||||||
|
if test -z '$(STRIP)'; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
install; \
|
||||||
|
else \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||||
|
fi
|
||||||
|
mostlyclean-generic:
|
||||||
|
-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
|
||||||
|
-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
|
||||||
|
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-am
|
||||||
|
|
||||||
|
clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
|
||||||
|
clean-noinstPROGRAMS mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-am
|
||||||
|
-rm -rf ./$(DEPDIR)
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
|
distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-am
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-am
|
||||||
|
|
||||||
|
html-am:
|
||||||
|
|
||||||
|
info: info-am
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am:
|
||||||
|
|
||||||
|
install-dvi: install-dvi-am
|
||||||
|
|
||||||
|
install-dvi-am:
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-html: install-html-am
|
||||||
|
|
||||||
|
install-html-am:
|
||||||
|
|
||||||
|
install-info: install-info-am
|
||||||
|
|
||||||
|
install-info-am:
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-am
|
||||||
|
|
||||||
|
install-pdf-am:
|
||||||
|
|
||||||
|
install-ps: install-ps-am
|
||||||
|
|
||||||
|
install-ps-am:
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-am
|
||||||
|
-rm -rf ./$(DEPDIR)
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-am
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||||
|
mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-am
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-am
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am:
|
||||||
|
|
||||||
|
.MAKE: check-am install-am install-strip
|
||||||
|
|
||||||
|
.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
|
||||||
|
clean-checkPROGRAMS clean-generic clean-libtool clean-local \
|
||||||
|
clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
|
||||||
|
distclean-compile distclean-generic distclean-libtool \
|
||||||
|
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||||
|
install install-am install-data install-data-am install-dvi \
|
||||||
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
|
install-html-am install-info install-info-am install-man \
|
||||||
|
install-pdf install-pdf-am install-ps install-ps-am \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||||
|
pdf pdf-am ps ps-am recheck tags tags-am uninstall \
|
||||||
|
uninstall-am
|
||||||
|
|
||||||
|
|
||||||
|
test: check
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
-find . \( -name "*.gcda" -o -name "*.gcno" -o -name "*.gcov" \) -delete
|
||||||
|
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
|
@ -0,0 +1,158 @@
|
||||||
|
/***********************************************************************
|
||||||
|
* fstring-test.cpp - FString unit tests *
|
||||||
|
* *
|
||||||
|
* This file is part of the Final Cut widget toolkit *
|
||||||
|
* *
|
||||||
|
* Copyright 2018 Markus Gans *
|
||||||
|
* *
|
||||||
|
* The Final Cut is free software; you can redistribute it and/or *
|
||||||
|
* modify it under the terms of the GNU Lesser General Public License *
|
||||||
|
* as published by the Free Software Foundation; either version 3 of *
|
||||||
|
* the License, or (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
* The Final Cut is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU Lesser General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU Lesser General Public *
|
||||||
|
* License along with this program. If not, see *
|
||||||
|
* <http://www.gnu.org/licenses/>. *
|
||||||
|
***********************************************************************/
|
||||||
|
|
||||||
|
#include <langinfo.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include <clocale>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include <final/final.h>
|
||||||
|
|
||||||
|
#include <cppunit/BriefTestProgressListener.h>
|
||||||
|
#include <cppunit/CompilerOutputter.h>
|
||||||
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
|
#include <cppunit/TestFixture.h>
|
||||||
|
#include <cppunit/TestResult.h>
|
||||||
|
#include <cppunit/TestResultCollector.h>
|
||||||
|
#include <cppunit/TestRunner.h>
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// class FStringTest
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma pack(push)
|
||||||
|
#pragma pack(1)
|
||||||
|
|
||||||
|
class FStringTest : public CPPUNIT_NS::TestFixture
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void setUp();
|
||||||
|
void tearDown();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void NoArgument();
|
||||||
|
void equalTest();
|
||||||
|
void exceptionTest();
|
||||||
|
|
||||||
|
private:
|
||||||
|
FString* s;
|
||||||
|
|
||||||
|
// Adds code needed to register the test suite
|
||||||
|
CPPUNIT_TEST_SUITE (FStringTest);
|
||||||
|
|
||||||
|
CPPUNIT_TEST (NoArgument);
|
||||||
|
CPPUNIT_TEST (equalTest);
|
||||||
|
CPPUNIT_TEST (exceptionTest);
|
||||||
|
|
||||||
|
// End of test suite definition
|
||||||
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
};
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void FStringTest::setUp()
|
||||||
|
{
|
||||||
|
s = new FString('c');
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void FStringTest::tearDown()
|
||||||
|
{
|
||||||
|
delete s;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void FStringTest::NoArgument()
|
||||||
|
{
|
||||||
|
FString empty;
|
||||||
|
CPPUNIT_ASSERT ( empty.isNull() );
|
||||||
|
CPPUNIT_ASSERT ( empty.isEmpty() );
|
||||||
|
CPPUNIT_ASSERT ( empty.getLength() == 0 );
|
||||||
|
CPPUNIT_ASSERT ( empty.getUTF8length() == 0 );
|
||||||
|
CPPUNIT_ASSERT ( empty.wc_str() == 0 );
|
||||||
|
CPPUNIT_ASSERT ( empty.c_str() == 0 );
|
||||||
|
CPPUNIT_ASSERT_EQUAL ( empty.toString(), std::string() );
|
||||||
|
|
||||||
|
char* cstr = empty.c_str();
|
||||||
|
CPPUNIT_ASSERT ( cstr == 0 );
|
||||||
|
wchar_t* wcstr = empty.wc_str();
|
||||||
|
CPPUNIT_ASSERT ( wcstr == 0 );
|
||||||
|
std::string str = empty.toString();
|
||||||
|
CPPUNIT_ASSERT ( str.length() == 0 );
|
||||||
|
CPPUNIT_ASSERT ( str.size() == 0 );
|
||||||
|
CPPUNIT_ASSERT ( str.empty() );
|
||||||
|
FString fstr = str;
|
||||||
|
CPPUNIT_ASSERT ( fstr == empty );
|
||||||
|
CPPUNIT_ASSERT ( empty == '\0' );
|
||||||
|
CPPUNIT_ASSERT ( empty == L'\0' );
|
||||||
|
cstr = 0;
|
||||||
|
CPPUNIT_ASSERT ( empty == cstr );
|
||||||
|
wcstr = 0;
|
||||||
|
CPPUNIT_ASSERT ( empty == std::string() );
|
||||||
|
CPPUNIT_ASSERT ( empty == std::wstring() );
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes('A') );
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes(L'A') );
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes("123") );
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes(L"123") );
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes(std::string("123")) );
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes(std::wstring(L"123")) );
|
||||||
|
CPPUNIT_ASSERT ( ! empty.includes(FString("123")) );
|
||||||
|
|
||||||
|
std::stringstream out;
|
||||||
|
out << empty;
|
||||||
|
CPPUNIT_ASSERT ( out.str() == "" );
|
||||||
|
|
||||||
|
// Fill the empty string with "123"
|
||||||
|
empty << "123";
|
||||||
|
CPPUNIT_ASSERT_EQUAL ( empty, FString(L"123") );
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void FStringTest::equalTest()
|
||||||
|
{
|
||||||
|
// std::string -> FString -> std::string
|
||||||
|
std::string s1;
|
||||||
|
FString s2 = s1;
|
||||||
|
std::string s3 = s2.toString();
|
||||||
|
CPPUNIT_ASSERT ( s1 == s3 );
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT ( s->getLength() == 1 );
|
||||||
|
CPPUNIT_ASSERT ( s->c_str()[0] == 'c');
|
||||||
|
CPPUNIT_ASSERT ( s->c_str()[0] != 's');
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void FStringTest::exceptionTest()
|
||||||
|
{
|
||||||
|
CPPUNIT_ASSERT_THROW ( FString("abc").toULong()
|
||||||
|
, std::invalid_argument );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Put the test suite in the registry
|
||||||
|
CPPUNIT_TEST_SUITE_REGISTRATION (FStringTest);
|
||||||
|
|
||||||
|
// The general unit test main part
|
||||||
|
#include <main-test.inc>
|
|
@ -0,0 +1,31 @@
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// main part
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
int main (int, char**)
|
||||||
|
{
|
||||||
|
// Informs test listeners about test results
|
||||||
|
CPPUNIT_NS::TestResult testresult;
|
||||||
|
|
||||||
|
// Registering listeners to collect test results
|
||||||
|
CPPUNIT_NS::TestResultCollector collectedresults;
|
||||||
|
testresult.addListener (&collectedresults);
|
||||||
|
|
||||||
|
// Listener to output the results of individual tests
|
||||||
|
CPPUNIT_NS::BriefTestProgressListener progress;
|
||||||
|
testresult.addListener (&progress);
|
||||||
|
|
||||||
|
// Inserting a test suite via the registry in the test-runner
|
||||||
|
CPPUNIT_NS::TestRunner testrunner;
|
||||||
|
testrunner.addTest (CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());
|
||||||
|
testrunner.run (testresult);
|
||||||
|
|
||||||
|
// Outputting results in compiler format
|
||||||
|
CPPUNIT_NS::CompilerOutputter compileroutputter ( &collectedresults
|
||||||
|
, std::cerr );
|
||||||
|
compileroutputter.write();
|
||||||
|
|
||||||
|
// Feedback whether tests were successful
|
||||||
|
return collectedresults.wasSuccessful() ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
make test
|
|
@ -0,0 +1,139 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# test-driver - basic testsuite driver script.
|
||||||
|
|
||||||
|
scriptversion=2013-07-13.22; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# This file is maintained in Automake, please report
|
||||||
|
# bugs to <bug-automake@gnu.org> or send patches to
|
||||||
|
# <automake-patches@gnu.org>.
|
||||||
|
|
||||||
|
# Make unconditional expansion of undefined variables an error. This
|
||||||
|
# helps a lot in preventing typo-related bugs.
|
||||||
|
set -u
|
||||||
|
|
||||||
|
usage_error ()
|
||||||
|
{
|
||||||
|
echo "$0: $*" >&2
|
||||||
|
print_usage >&2
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
print_usage ()
|
||||||
|
{
|
||||||
|
cat <<END
|
||||||
|
Usage:
|
||||||
|
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
|
||||||
|
[--expect-failure={yes|no}] [--color-tests={yes|no}]
|
||||||
|
[--enable-hard-errors={yes|no}] [--]
|
||||||
|
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
|
||||||
|
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
|
||||||
|
END
|
||||||
|
}
|
||||||
|
|
||||||
|
test_name= # Used for reporting.
|
||||||
|
log_file= # Where to save the output of the test script.
|
||||||
|
trs_file= # Where to save the metadata of the test run.
|
||||||
|
expect_failure=no
|
||||||
|
color_tests=no
|
||||||
|
enable_hard_errors=yes
|
||||||
|
while test $# -gt 0; do
|
||||||
|
case $1 in
|
||||||
|
--help) print_usage; exit $?;;
|
||||||
|
--version) echo "test-driver $scriptversion"; exit $?;;
|
||||||
|
--test-name) test_name=$2; shift;;
|
||||||
|
--log-file) log_file=$2; shift;;
|
||||||
|
--trs-file) trs_file=$2; shift;;
|
||||||
|
--color-tests) color_tests=$2; shift;;
|
||||||
|
--expect-failure) expect_failure=$2; shift;;
|
||||||
|
--enable-hard-errors) enable_hard_errors=$2; shift;;
|
||||||
|
--) shift; break;;
|
||||||
|
-*) usage_error "invalid option: '$1'";;
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
missing_opts=
|
||||||
|
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
|
||||||
|
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
|
||||||
|
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
|
||||||
|
if test x"$missing_opts" != x; then
|
||||||
|
usage_error "the following mandatory options are missing:$missing_opts"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
usage_error "missing argument"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $color_tests = yes; then
|
||||||
|
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
|
||||||
|
red='[0;31m' # Red.
|
||||||
|
grn='[0;32m' # Green.
|
||||||
|
lgn='[1;32m' # Light green.
|
||||||
|
blu='[1;34m' # Blue.
|
||||||
|
mgn='[0;35m' # Magenta.
|
||||||
|
std='[m' # No color.
|
||||||
|
else
|
||||||
|
red= grn= lgn= blu= mgn= std=
|
||||||
|
fi
|
||||||
|
|
||||||
|
do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
|
||||||
|
trap "st=129; $do_exit" 1
|
||||||
|
trap "st=130; $do_exit" 2
|
||||||
|
trap "st=141; $do_exit" 13
|
||||||
|
trap "st=143; $do_exit" 15
|
||||||
|
|
||||||
|
# Test script is run here.
|
||||||
|
"$@" >$log_file 2>&1
|
||||||
|
estatus=$?
|
||||||
|
if test $enable_hard_errors = no && test $estatus -eq 99; then
|
||||||
|
estatus=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $estatus:$expect_failure in
|
||||||
|
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
|
||||||
|
0:*) col=$grn res=PASS recheck=no gcopy=no;;
|
||||||
|
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
|
||||||
|
99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
|
||||||
|
*:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
|
||||||
|
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Report outcome to console.
|
||||||
|
echo "${col}${res}${std}: $test_name"
|
||||||
|
|
||||||
|
# Register the test result, and other relevant metadata.
|
||||||
|
echo ":test-result: $res" > $trs_file
|
||||||
|
echo ":global-test-result: $res" >> $trs_file
|
||||||
|
echo ":recheck: $recheck" >> $trs_file
|
||||||
|
echo ":copy-in-global-log: $gcopy" >> $trs_file
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
Loading…
Reference in New Issue