test: add make check

We can now test all the protocol files by running make check (or distcheck)
which will pass them through the scanner.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Quentin Glidic <sardemff7+git@sardemff7.net>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
Derek Foreman 2016-01-12 21:12:37 +01:00 committed by Jonas Ådahl
parent a5585f3de3
commit d8cb9c2a8b
4 changed files with 37 additions and 0 deletions

3
.gitignore vendored
View file

@ -9,3 +9,6 @@ missing
*.pc
autom4te.cache
aclocal.m4
*.trs
*.log
test-driver

View file

@ -7,6 +7,9 @@ unstable_protocols = \
unstable/xdg-shell/xdg-shell-unstable-v5.xml \
$(NULL)
stable_protocols = \
$(NULL)
nobase_dist_pkgdata_DATA = \
$(unstable_protocols) \
$(NULL)
@ -16,3 +19,10 @@ dist_noinst_DATA = \
$(NULL)
noarch_pkgconfig_DATA = wayland-protocols.pc
dist_check_SCRIPTS = tests/scan.sh
TESTS = $(unstable_protocols) $(stable_protocols)
TEST_EXTENSIONS = .xml
AM_TESTS_ENVIRONMENT = SCANNER='$(wayland_scanner)'; export SCANNER;
XML_LOG_COMPILER = $(srcdir)/tests/scan.sh

View file

@ -15,6 +15,20 @@ AC_CONFIG_MACRO_DIR([m4])
AC_SUBST([WAYLAND_PROTOCOLS_VERSION], [wayland_protocols_version])
AC_CANONICAL_HOST
AC_CANONICAL_BUILD
AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable])
AC_PATH_PROG([wayland_scanner], [wayland-scanner])
if test x$wayland_scanner = x; then
if test x$host = x$build; then
PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
wayland_scanner=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
else
AC_MSG_WARN([You are cross compiling without wayland-scanner in your path. make check will fail.])
fi
fi
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])
AM_SILENT_RULES([yes])

10
tests/scan.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh -e
if [ "x$SCANNER" = "x" ] ; then
echo "No scanner present, test skipped." 1>&2
exit 77
fi
$SCANNER client-header $1 /dev/null
$SCANNER server-header $1 /dev/null
$SCANNER code $1 /dev/null