[PATCH wayland-protocols] test: add make check
Derek Foreman
derekf at osg.samsung.com
Tue Dec 22 12:24:39 PST 2015
On 22/12/15 01:15 PM, Quentin Glidic wrote:
> 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? :-)
Sure! :)
>
>> +
>> +TESTS = $(unstable_protocols)
>
> Why not all the variables already?
Sorry to be dense - what other variables should I be using?
>> +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.
Hmm, I think it's supposed to generate the same thing no matter what
architecture it's run on...
>
>> +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.
Stolen from weston, it's half yours and half Emil Velikov with your
review. :)
> 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.
So is this a problem that needs to be fixed in weston too?
>
>> +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
>>
>
>
More information about the wayland-devel
mailing list