[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Running tests under wine.
From: |
Ben Pfaff |
Subject: |
Re: Running tests under wine. |
Date: |
Thu, 24 Mar 2016 09:20:07 -0700 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
To make that really clear, I've now attached this to bug #41004 as
patch3.
On Thu, Mar 24, 2016 at 09:13:55AM -0700, Ben Pfaff wrote:
> This patch is intended as a substitute for John's patch 0001 or my patch
> in bug #41004. It should have the same requirements.
>
> On Thu, Mar 24, 2016 at 02:53:34PM +0100, Harry Thijssen wrote:
> > Hi
> >
> > I will test it in the next days.
> >
> > It is sufficent to run the patch against the source in the tarball?
> >
> > The test for pspp arealready changed in $RUNNER pspp after a change by
> > John. This patch doesn't interfere with that?
> >
> > Have fun
> >
> >
> > 2016-03-24 5:41 GMT+01:00 Ben Pfaff <address@hidden>:
> >
> > > Here's something to try.
> > >
> > > --8<--------------------------cut here-------------------------->8--
> > >
> > > commit f9a7e150e875a23646c4d1b07697e37059c8a088
> > > Author: Ben Pfaff <address@hidden>
> > > Date: Wed Mar 23 21:41:00 2016 -0700
> > >
> > > tests: Add support for generic wrapper.
> > >
> > > With this change, "make check RUNNER='...'" runs all of the binaries
> > > that
> > > PSPP builds under the supervision of $RUNNER, so that, for example,
> > > the
> > > "pspp" binary is run as "$RUNNER pspp". This is useful for wrapping
> > > programs with, for example, "wine", for cross-compiling.
> > >
> > > diff --git a/tests/automake.mk b/tests/automake.mk
> > > index 9284b93..dbbb3d3 100644
> > > --- a/tests/automake.mk
> > > +++ b/tests/automake.mk
> > > @@ -406,7 +406,8 @@ DISTCLEANFILES += tests/atconfig tests/atlocal
> > > $(TESTSUITE)
> > > AUTOTEST_PATH =
> > > tests/data:tests/language/lexer:tests/libpspp:tests/output:src/ui/terminal:utilities
> > >
> > > $(srcdir)/tests/testsuite.at: tests/testsuite.in tests/automake.mk
> > > - $(AM_V_GEN)cp $< $@
> > > + $(AM_V_GEN)printf '\043 Generated automatically -- do not modify!
> > > -*- buffer-read-only: t -*-\n' > $@
> > > + $(AM_V_at)cat $< >> $@
> > > $(AM_V_at)for t in $(TESTSUITE_AT); do \
> > > echo "m4_include([$$t])" >> $@ ;\
> > > done
> > > @@ -414,7 +415,7 @@ EXTRA_DIST += tests/testsuite.at
> > >
> > > CHECK_LOCAL += tests_check
> > > tests_check: tests/atconfig tests/atlocal $(TESTSUITE) $(check_PROGRAMS)
> > > - XTERM_LOCALE='' $(SHELL) '$(TESTSUITE)' -C tests
> > > AUTOTEST_PATH=$(AUTOTEST_PATH) $(TESTSUITEFLAGS)
> > > + XTERM_LOCALE='' $(SHELL) '$(TESTSUITE)' -C tests
> > > AUTOTEST_PATH=$(AUTOTEST_PATH) RUNNER='$(RUNNER)' $(TESTSUITEFLAGS)
> > >
> > > CLEAN_LOCAL += tests_clean
> > > tests_clean:
> > > @@ -437,51 +438,9 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
> > > echo 'm4_define([AT_PACKAGE_BUGREPORT], [$(PACKAGE_BUGREPORT)])'
> > > && \
> > > echo 'm4_define([AT_PACKAGE_URL], [$(PACKAGE_URL)])'; \
> > > } >'$(srcdir)/package.m4'
> > > -
> > > -# valgrind support for Autotest testsuite
> > > -
> > > -valgrind_wrappers = \
> > > - tests/valgrind/datasheet-test \
> > > - tests/valgrind/command-name-test \
> > > - tests/valgrind/scan-test \
> > > - tests/valgrind/segment-test \
> > > - tests/valgrind/abt-test \
> > > - tests/valgrind/bt-test \
> > > - tests/valgrind/encoding-guesser-test \
> > > - tests/valgrind/heap-test \
> > > - tests/valgrind/hmap-test \
> > > - tests/valgrind/hmapx-test \
> > > - tests/valgrind/i18n-test \
> > > - tests/valgrind/ll-test \
> > > - tests/valgrind/llx-test \
> > > - tests/valgrind/range-map-test \
> > > - tests/valgrind/range-set-test \
> > > - tests/valgrind/range-tower-test \
> > > - tests/valgrind/sparse-array-test \
> > > - tests/valgrind/sparse-xarray-test \
> > > - tests/valgrind/str-test \
> > > - tests/valgrind/string-map-test \
> > > - tests/valgrind/stringi-map-test \
> > > - tests/valgrind/string-set-test \
> > > - tests/valgrind/stringi-set-test \
> > > - tests/valgrind/tower-test \
> > > - tests/valgrind/u8-istream-test \
> > > - tests/valgrind/render-test \
> > > - tests/valgrind/pspp-convert \
> > > - tests/valgrind/pspp
> > > -
> > > -$(valgrind_wrappers): tests/valgrind-wrapper.in
> > > - @$(MKDIR_P) tests/valgrind
> > > - $(AM_V_GEN)$(SED) -e 's,address@hidden@],$@,' \
> > > - $(top_srcdir)/tests/valgrind-wrapper.in > address@hidden
> > > - $(AM_V_at)chmod +x address@hidden
> > > - $(AM_V_at)mv address@hidden $@
> > > -CLEANFILES += $(valgrind_wrappers)
> > > -EXTRA_DIST += tests/valgrind-wrapper.in
> > >
> > > -VALGRIND = $(SHELL) $(abs_top_builddir)/libtool --mode=execute valgrind
> > > --log-file=valgrind.%p --leak-check=full --num-callers=20
> > > -check-valgrind: all tests/atconfig tests/atlocal $(TESTSUITE)
> > > $(valgrind_wrappers)
> > > - XTERM_LOCALE='' $(SHELL) '$(TESTSUITE)' -C tests
> > > VALGRIND='$(VALGRIND)' AUTOTEST_PATH='tests/valgrind:$(AUTOTEST_PATH)' -d
> > > $(TESTSUITEFLAGS)
> > > +check-valgrind:
> > > + $(MAKE) check RUNNER='$(SHELL) $(abs_top_builddir)/libtool
> > > --mode=execute valgrind --log-file=valgrind.%p --leak-check=full
> > > --num-callers=20' TESTSUITEFLAGS='$(TESTSUITEFLAGS) -d'
> > > @echo
> > > @echo '--------------------------------'
> > > @echo 'Valgrind output is in:'
> > > diff --git a/tests/testsuite.in b/tests/testsuite.in
> > > index 738ffea..95673dc 100644
> > > --- a/tests/testsuite.in
> > > +++ b/tests/testsuite.in
> > > @@ -6,3 +6,41 @@ m4_ifndef([AT_SKIP_IF],
> > > [AT_CHECK([($1) \
> > > && exit 77 || exit 0], [0], [ignore], [ignore])])])
> > >
> > > +m4_divert_text([PREPARE_TESTS], [dnl
> > > +if test X"$RUNNER" != X; then
> > > + wrapper_dir=`pwd`/wrappers
> > > + rm "$wrapper_dir"/*
> > > + test -d "$wrapper_dir" || mkdir "$wrapper_dir"
> > > +
> > > + wrap_dir () {
> > > + test -d "$1" || return
> > > + for file in "$1"/*; do
> > > + if test -x "$file" && test -f "$file"; then
> > > + base=`basename $file`
> > > + wrapper=$wrapper_dir/$base
> > > + if test ! -e "$wrapper"; then
> > > + echo "exec $RUNNER $file \"address@hidden"" > $wrapper
> > > + chmod +x $wrapper
> > > + fi
> > > + fi
> > > + done
> > > + }
> > > +
> > > + save_IFS=$IFS; IFS=$PATH_SEPARATOR
> > > + for dir in $AUTOTEST_PATH; do
> > > + IFS=$save_IFS
> > > + test X"$dir" = X && dir=.
> > > + case $dir in
> > > + [\\/]* | ?:[\\/]*)
> > > + wrap_dir "$dir"
> > > + ;;
> > > + *)
> > > + wrap_dir "$abs_top_builddir/$dir"
> > > + wrap_dir "$abs_top_srcdir/$dir"
> > > + ;;
> > > + esac
> > > + done
> > > + IFS=$save_IFS
> > > + PATH=$wrapper_dir:$PATH
> > > +fi
> > > +])
> > > diff --git a/tests/valgrind-wrapper.in b/tests/valgrind-wrapper.in
> > > deleted file mode 100755
> > > index a60cd9e..0000000
> > > --- a/tests/valgrind-wrapper.in
> > > +++ /dev/null
> > > @@ -1,38 +0,0 @@
> > > -#! /bin/sh
> > > -
> > > -program=`basename "$0"`
> > > -
> > > -new_PATH=
> > > -save_IFS=$IFS
> > > -IFS=:
> > > -found=no
> > > -for dir in $PATH; do
> > > - IFS=$save_IFS
> > > - if test "X$dir" = X; then
> > > - dir=.
> > > - fi
> > > - if test -x "$dir/$program"; then
> > > - if test $found = no; then
> > > - found=yes
> > > - continue
> > > - else
> > > - if test "X$next_program" = X; then
> > > - next_program=$dir/$program
> > > - fi
> > > - fi
> > > - fi
> > > -done
> > > -IFS=$save_IFS
> > > -
> > > -if test $found = no; then
> > > - echo "$0: $program not found in PATH ($PATH)" >&2
> > > - exit 1
> > > -elif test "X$next_program" = X; then
> > > - echo "$0: $program found only once in PATH ($PATH)" >&2
> > > - exit 1
> > > -fi
> > > -
> > > -: ${VALGRIND:=libtool --mode=execute valgrind --log-file=valgrind.%p
> > > --leak-check=full --num-callers=20}
> > > -exec $VALGRIND $next_program "$@"
> > > -echo "$0: $VALGRIND $wrap_program $* failed" >&2
> > > -exit 1
> > >
- Re: Running tests under wine., (continued)
Re: Running tests under wine., Harry Thijssen, 2016/03/24