From effedda762735aeb0548169223086a84d715f999 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 5 Jun 2013 12:12:32 -0700 Subject: [PATCH] Update tests to use new include path. --- Makefile.am | 1 + configure.ac | 1 + tests/Makefile.am | 4 +- tests/client/buffer_pool.c | 2 +- tests/client/layer_pool.c | 2 +- tests/protocol/instruction_read.c | 8 +- tests/protocol/instruction_write.c | 8 +- tests/protocol/nest_write.c | 8 +- tests/test_libguac | 228 +++++++++++++++++++++++++++++ tests/util/guac_pool.c | 2 +- 10 files changed, 247 insertions(+), 17 deletions(-) create mode 100755 tests/test_libguac diff --git a/Makefile.am b/Makefile.am index 6de5b97a..fb26b4d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -46,6 +46,7 @@ DIST_SUBDIRS = \ src/protocols/spice SUBDIRS = \ + tests \ src/libguac \ src/guacd diff --git a/configure.ac b/configure.ac index 6e546898..e8f7efd3 100644 --- a/configure.ac +++ b/configure.ac @@ -150,6 +150,7 @@ $PACKAGE_NAME version $PACKAGE_VERSION: " AC_CONFIG_FILES([Makefile + tests/Makefile src/libguac/Makefile src/guacd/Makefile src/protocols/rdp/Makefile diff --git a/tests/Makefile.am b/tests/Makefile.am index 6712e6cd..ba5fb76a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -36,7 +36,7 @@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 -AM_CFLAGS = -Werror -Wall -pedantic -I../include +AM_CFLAGS = -Werror -Wall -pedantic $(LIBGUAC_INCLUDE) TESTS = test_libguac check_PROGRAMS = test_libguac @@ -58,5 +58,5 @@ test_libguac_SOURCES = \ util/util_suite.c \ util/guac_pool.c -test_libguac_LDADD = $(top_builddir)/src/libguac.la @CUNIT_LIBS@ +test_libguac_LDADD = $(LIBGUAC_LTLIB) @CUNIT_LIBS@ diff --git a/tests/client/buffer_pool.c b/tests/client/buffer_pool.c index eaf54566..9757f991 100644 --- a/tests/client/buffer_pool.c +++ b/tests/client/buffer_pool.c @@ -37,7 +37,7 @@ #include -#include "client.h" +#include #include "client_suite.h" void test_buffer_pool() { diff --git a/tests/client/layer_pool.c b/tests/client/layer_pool.c index 0a5b9b76..85a1af78 100644 --- a/tests/client/layer_pool.c +++ b/tests/client/layer_pool.c @@ -37,7 +37,7 @@ #include -#include "client.h" +#include #include "client_suite.h" void test_layer_pool() { diff --git a/tests/protocol/instruction_read.c b/tests/protocol/instruction_read.c index a4eb5720..7645e0fc 100644 --- a/tests/protocol/instruction_read.c +++ b/tests/protocol/instruction_read.c @@ -40,10 +40,10 @@ #include #include -#include "error.h" -#include "instruction.h" -#include "protocol.h" -#include "socket.h" +#include +#include +#include +#include #include "suite.h" diff --git a/tests/protocol/instruction_write.c b/tests/protocol/instruction_write.c index 2592bb45..c7880e9b 100644 --- a/tests/protocol/instruction_write.c +++ b/tests/protocol/instruction_write.c @@ -40,10 +40,10 @@ #include #include -#include "error.h" -#include "instruction.h" -#include "protocol.h" -#include "socket.h" +#include +#include +#include +#include #include "suite.h" diff --git a/tests/protocol/nest_write.c b/tests/protocol/nest_write.c index a360560f..36249d33 100644 --- a/tests/protocol/nest_write.c +++ b/tests/protocol/nest_write.c @@ -40,10 +40,10 @@ #include #include -#include "error.h" -#include "instruction.h" -#include "protocol.h" -#include "socket.h" +#include +#include +#include +#include #include "suite.h" diff --git a/tests/test_libguac b/tests/test_libguac new file mode 100755 index 00000000..9fea8f6f --- /dev/null +++ b/tests/test_libguac @@ -0,0 +1,228 @@ +#! /bin/bash + +# test_libguac - temporary wrapper script for .libs/test_libguac +# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu2 +# +# The test_libguac program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/zhz/guacamole/native/guacamole-server/tests; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games; export PATH; gcc -std=gnu99 -Werror -Wall -pedantic -I../src/libguac -g -O2 -o \$progdir/\$file test_libguac.o client_suite.o buffer_pool.o layer_pool.o suite.o instruction_read.o instruction_write.o nest_write.o util_suite.o guac_pool.o ../src/libguac/.libs/libguac.so -lcunit /usr/lib/x86_64-linux-gnu/libcairo.so -lpng -ldl -Wl,-rpath -Wl,/home/zhz/guacamole/native/guacamole-server/src/libguac/.libs)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.4.2' + notinst_deplibs=' ../src/libguac/libguac.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + file="$0" + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + ECHO="printf %s\\n" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ which is used only on +# windows platforms, and (c) all begin with the string --lt- +# (application programs are unlikely to have options which match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's ../libtool value, followed by no. +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=$0 + shift + for lt_opt + do + case "$lt_opt" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%/[^/]*$%%'` + test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=. + lt_dump_F=`$ECHO "X$lt_script_arg0" | /bin/sed -e 's/^X//' -e 's%^.*/%%'` + cat "$lt_dump_D/$lt_dump_F" + exit 0 + ;; + --lt-*) + $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n "$lt_option_debug"; then + echo "test_libguac:test_libguac:${LINENO}: libtool wrapper (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu2" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + $ECHO "test_libguac:test_libguac:${LINENO}: newargv[$lt_dump_args_N]: $lt_arg" + lt_dump_args_N=`expr $lt_dump_args_N + 1` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ + + if test -n "$lt_option_debug"; then + $ECHO "test_libguac:test_libguac:${LINENO}: newargv[0]: $progdir/$program" 1>&2 + func_lt_dump_args ${1+"$@"} 1>&2 + fi + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from $@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case " $* " in + *\ --lt-*) + for lt_wr_arg + do + case $lt_wr_arg in + --lt-*) ;; + *) set x "$@" "$lt_wr_arg"; shift;; + esac + shift + done ;; + esac + func_exec_program_core ${1+"$@"} +} + + # Parse options + func_parse_lt_options "$0" ${1+"$@"} + + # Find the directory that this script lives in. + thisdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "$file" | /bin/sed 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "$file" | /bin/sed 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /bin/sed 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'test_libguac' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + printf %s\n "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + func_exec_program ${1+"$@"} + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + $ECHO "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tests/util/guac_pool.c b/tests/util/guac_pool.c index c4fba37e..a276431e 100644 --- a/tests/util/guac_pool.c +++ b/tests/util/guac_pool.c @@ -37,7 +37,7 @@ #include -#include "pool.h" +#include #include "util_suite.h" #define UNSEEN 0