[PATCH wayland-protocols] test: add make check
Quentin Glidic
sardemff7+wayland at sardemff7.net
Tue Dec 22 11:15:30 PST 2015
On 22/12/2015 19:19, Derek Foreman wrote:
> 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 at osg.samsung.com>
> ---
> Changes from v1:
> Use #~/bin/sh -e and drop the && from each line in the script
> Discover the scanner's location and use it
>
> .gitignore | 3 +++
> Makefile.am | 7 +++++++
> configure.ac | 6 ++++++
> tests/scan.sh | 5 +++++
> 4 files changed, 21 insertions(+)
> create mode 100755 tests/scan.sh
>
> diff --git a/.gitignore b/.gitignore
> index e6f85d0..ca19ecf 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -9,3 +9,6 @@ missing
> *.pc
> autom4te.cache
> aclocal.m4
> +*.trs
> +*.log
> +test-driver
> diff --git a/Makefile.am b/Makefile.am
> index 5926a41..dc44c28 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -16,3 +16,10 @@ dist_noinst_DATA = \
> $(NULL)
>
> noarch_pkgconfig_DATA = wayland-protocols.pc
> +
> +EXTRA_DIST = tests/scan.sh
dist_check_SCRIPTS maybe? :-)
> +
> +TESTS = $(unstable_protocols)
Why not all the variables already?
> +TEST_EXTENSIONS = .xml
> +AM_TESTS_ENVIRONMENT = SCANNER='$(wayland_scanner)'; export SCANNER;
> +XML_LOG_COMPILER = $(srcdir)/tests/scan.sh
> diff --git a/configure.ac b/configure.ac
> index c51b7fc..dc5d899 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -15,6 +15,12 @@ AC_CONFIG_MACRO_DIR([m4])
>
> AC_SUBST([WAYLAND_PROTOCOLS_VERSION], [wayland_protocols_version])
>
> +AC_PATH_PROG([wayland_scanner], [wayland-scanner])
It makes me wonder… Do we expect wayland-scanner to generate
arch-independent code? If so, it’s ok. If not, it should be AC_PATH_TOOL.
> +if test x$wayland_scanner = x; then
> + PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
> + wayland_scanner=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
Ok, this is a good idea (and maybe am I the one originally writing it
like that, or reviewing something similar) but it can lead to strange
situations while cross-compiling.
If you cross-compile from x86 to arm64, with no scanner installed for
x86, it will try to run the arm64 scanner, which is not possible.
I see the need for it in the “$HOME testing environment” but then we
should at least check that $host == $build.
> +fi
> +
> AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz])
>
> AM_SILENT_RULES([yes])
> diff --git a/tests/scan.sh b/tests/scan.sh
> new file mode 100755
> index 0000000..fd92bec
> --- /dev/null
> +++ b/tests/scan.sh
> @@ -0,0 +1,5 @@
> +#!/bin/sh -e
> +
> +$SCANNER client-header $1 /dev/null
> +$SCANNER server-header $1 /dev/null
> +$SCANNER code $1 /dev/null
>
--
Quentin “Sardem FF7” Glidic
More information about the wayland-devel
mailing list