[Spice-devel] [PATCH spice-server 2/3] meson: Use dictionaries addition feature

Frediano Ziglio fziglio at redhat.com
Wed Jan 30 13:25:40 UTC 2019


> 
> Since meson 0.48 it is possible to 'add' to dictionaries as well. Make
> use of this feature in our build.
> 
> http://mesonbuild.com/Release-notes-for-0-48-0.html#dictionary-addition
> 
> Signed-off-by: Eduardo Lima (Etrunko) <etrunko at redhat.com>
> ---
>  meson.build              |  2 +-
>  server/tests/meson.build | 54 +++++++++++++++++++---------------------
>  2 files changed, 26 insertions(+), 30 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 811099c6..29af6b04 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -4,7 +4,7 @@
>  project('spice', 'c',
>          version : run_command('build-aux/git-version-gen',
>          '${MESON_SOURCE_ROOT}/.tarball-version', check :
>          true).stdout().strip(),
>          license : 'LGPLv2.1',
> -        meson_version : '>= 0.47.2')
> +        meson_version : '>= 0.48.0')
>  
>  message('Updating submodules')
>  run_command('build-aux/meson/check-spice-common', check : true)
> diff --git a/server/tests/meson.build b/server/tests/meson.build
> index b79b1108..37c94120 100644
> --- a/server/tests/meson.build
> +++ b/server/tests/meson.build
> @@ -31,45 +31,41 @@ foreach lib, params : stat_test_libs
>                                install : false)
>  endforeach
>  
> -tests = [
> -  ['test-codecs-parsing', true],
> -  ['test-options', true],
> -  ['test-stat', true],
> -  ['test-stream', true],
> -  ['test-agent-msg-filter', true],
> -  ['test-loop', true],
> -  ['test-qxl-parsing', true],
> -  ['test-stat-file', true],
> -  ['test-leaks', true],
> -  ['test-vdagent', true],
> -  ['test-fail-on-null-core-interface', true],
> -  ['test-empty-success', true],
> -  ['test-channel', true],
> -  ['test-stream-device', true],
> -  ['test-listen', true],
> -  ['test-record', true],
> -  ['test-display-no-ssl', false],
> -  ['test-display-streaming', false],
> -  ['test-playback', false],
> -  ['test-display-resolution-changes', false],
> -  ['test-two-servers', false],
> -  ['test-display-width-stride', false],
> -]
> +tests = {'test-codecs-parsing' : true,
> +         'test-options' : true,
> +         'test-stat' : true,
> +         'test-stream' : true,
> +         'test-agent-msg-filter' : true,
> +         'test-loop' : true,
> +         'test-qxl-parsing' : true,
> +         'test-stat-file' : true,
> +         'test-leaks' : true,
> +         'test-vdagent' : true,
> +         'test-fail-on-null-core-interface' : true,
> +         'test-empty-success' : true,
> +         'test-channel' : true,
> +         'test-stream-device' : true,
> +         'test-listen' : true,
> +         'test-record' : true,
> +         'test-display-no-ssl' : false,
> +         'test-display-streaming' : false,
> +         'test-playback' : false,
> +         'test-display-resolution-changes' : false,
> +         'test-two-servers' : false,
> +         'test-display-width-stride' : false}
>  

About indentation.
Why 2 spaces instead of 4 like all other code?
Why not using this indentation:

tests = {
  'test-codecs-parsing' : true,
  'test-options' : true,
  ...
}

>  if spice_server_has_sasl
> -  tests += [['test-sasl', true]]
> +  tests += {'test-sasl': true}
>  endif
>  
>  if spice_server_has_gstreamer
> -  tests += [['test-gst', false]]
> +  tests += {'test-gst' : false}
>    if get_option('extra-checks')
>      test('video-encoders', files('video-encoders'))
>    endif
>  endif
>  
> -foreach t : tests
> -  test_name = t[0]
> -  is_test = t[1]
> +foreach test_name, is_test : tests
>    exe = executable(test_name,
>                     sources : '@0 at .c'.format(test_name),
>                     link_with : test_libs,


A problem with hash is that the order of the items is not important
while on array it is so is possible that the order of generation
could change based on Meson versions or implementation/optimization.
Is something you have considered?
I would prefer to see test executed in a specific defined order.

Frediano


More information about the Spice-devel mailing list