mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 23:16:14 +01:00
Merge branch 'ci-meson-0-48' into 'master'
Ci meson 0 48 See merge request GNOME/glib!347
This commit is contained in:
commit
0e117cffa5
@ -1,4 +1,4 @@
|
||||
image: registry.gitlab.gnome.org/gnome/glib/master:v7
|
||||
image: registry.gitlab.gnome.org/gnome/glib/master:v8
|
||||
|
||||
stages:
|
||||
- build
|
||||
@ -12,6 +12,7 @@ cache:
|
||||
variables:
|
||||
MESON_TEST_TIMEOUT_MULTIPLIER: 2
|
||||
G_MESSAGES_DEBUG: all
|
||||
MESON_COMMON_OPTIONS: "--buildtype debug --fatal-meson-warnings"
|
||||
|
||||
fedora-x86_64:
|
||||
stage: build
|
||||
@ -20,7 +21,7 @@ fedora-x86_64:
|
||||
variables:
|
||||
CFLAGS: "-coverage -ftest-coverage -fprofile-arcs"
|
||||
script:
|
||||
- meson --buildtype debug --werror -Dsystemtap=true -Ddtrace=true -Dfam=true _build .
|
||||
- meson ${MESON_COMMON_OPTIONS} --werror -Dsystemtap=true -Ddtrace=true -Dfam=true _build
|
||||
- ninja -C _build
|
||||
- mkdir -p _coverage
|
||||
- lcov --rc lcov_branch_coverage=1 --directory _build --capture --initial --output-file "_coverage/${CI_JOB_NAME}-baseline.lcov"
|
||||
@ -76,21 +77,21 @@ cross-android_api21_arm64:
|
||||
<<: *cross-template
|
||||
script:
|
||||
# FIXME: add --werror
|
||||
- meson --cross-file=/opt/cross_file_android_arm64_21.txt -Diconv=gnu -Dinternal_pcre=true --buildtype debug _build
|
||||
- meson ${MESON_COMMON_OPTIONS} --cross-file=/opt/cross_file_android_arm64_21.txt -Diconv=gnu -Dinternal_pcre=true _build
|
||||
- ninja -C _build
|
||||
|
||||
cross-android_api28_arm64:
|
||||
<<: *cross-template
|
||||
script:
|
||||
# FIXME: add --werror
|
||||
- meson --cross-file=/opt/cross_file_android_arm64_28.txt -Dinternal_pcre=true --buildtype debug _build
|
||||
- meson ${MESON_COMMON_OPTIONS} --cross-file=/opt/cross_file_android_arm64_28.txt -Dinternal_pcre=true _build
|
||||
- ninja -C _build
|
||||
|
||||
cross-mingw64:
|
||||
<<: *cross-template
|
||||
script:
|
||||
# FIXME: Add --werror
|
||||
- meson --cross-file=/opt/cross_file_mingw64.txt --buildtype debug _build
|
||||
- meson ${MESON_COMMON_OPTIONS} --cross-file=/opt/cross_file_mingw64.txt _build
|
||||
- ninja -C _build
|
||||
|
||||
msys2-mingw32:
|
||||
@ -150,7 +151,7 @@ freebsd-11-x86_64:
|
||||
# FreeBSD iconv doesn't handle transliteration, so we use GNU libiconv here.
|
||||
# FreeBSD supports xattr, but its API is different from Linux xattr.
|
||||
# FIXME: extattr(2) support: https://gitlab.gnome.org/GNOME/glib/issues/1404
|
||||
- meson -Db_lundef=false -Diconv=gnu -Dxattr=false --buildtype debug _build
|
||||
- meson ${MESON_COMMON_OPTIONS} -Db_lundef=false -Diconv=gnu -Dxattr=false _build
|
||||
- ninja -C _build
|
||||
- meson test -C _build --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}"
|
||||
# FIXME: Remove this when we have a stable FreeBSD runner
|
||||
@ -191,7 +192,7 @@ dist-job:
|
||||
only:
|
||||
- tags
|
||||
script:
|
||||
- meson --buildtype release -Dgtk_doc=true -Dman=true _build
|
||||
- meson --buildtype release --fatal-meson-warnings -Dgtk_doc=true -Dman=true _build
|
||||
- cd _build
|
||||
- ninja dist
|
||||
- ninja glib-doc gobject-doc gio-doc
|
||||
|
@ -52,7 +52,7 @@ RUN rm -rf $ANDROID_NDK_PATH
|
||||
|
||||
COPY cross_file_mingw64.txt /opt
|
||||
|
||||
RUN pip3 install meson==0.47.0
|
||||
RUN pip3 install meson==0.48.0
|
||||
|
||||
ARG HOST_USER_ID=5555
|
||||
ENV HOST_USER_ID ${HOST_USER_ID}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
set -e
|
||||
|
||||
TAG="registry.gitlab.gnome.org/gnome/glib/master:v7"
|
||||
TAG="registry.gitlab.gnome.org/gnome/glib/master:v8"
|
||||
|
||||
docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \
|
||||
--file "Dockerfile" .
|
||||
|
@ -5,7 +5,7 @@ call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary
|
||||
@echo on
|
||||
|
||||
:: FIXME: make warnings fatal
|
||||
pip3 install --upgrade --user meson==0.47.0 || goto :error
|
||||
pip3 install --upgrade --user meson==0.48.0 || goto :error
|
||||
meson _build || goto :error
|
||||
ninja -C _build || goto :error
|
||||
|
||||
|
@ -33,7 +33,7 @@ mkdir -p _coverage
|
||||
mkdir -p _ccache
|
||||
export CCACHE_BASEDIR="$(pwd)"
|
||||
export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
||||
pip3 install --upgrade --user meson==0.47.0
|
||||
pip3 install --upgrade --user meson==0.48.0
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export CFLAGS="-coverage -ftest-coverage -fprofile-arcs"
|
||||
DIR="$(pwd)"
|
||||
|
@ -19,9 +19,7 @@ giotypefuncs_inc = custom_target(
|
||||
command: [gengiotypefuncs_prog, '@OUTPUT@', '@INPUT@'])
|
||||
|
||||
# Test programs buildable on all platforms
|
||||
# FIXME: We are using list of dictionnaries until we can depend on Meson 0.48.0
|
||||
# that supports '+=' operator on dictionnaries.
|
||||
gio_tests = [{
|
||||
gio_tests = {
|
||||
'appmonitor' : {},
|
||||
'async-close-output-stream' : {},
|
||||
'async-splice-output-stream' : {},
|
||||
@ -73,15 +71,13 @@ gio_tests = [{
|
||||
'tls-certificate' : {'extra_sources' : ['gtesttlsbackend.c']},
|
||||
'tls-interaction' : {'extra_sources' : ['gtesttlsbackend.c']},
|
||||
'tls-database' : {'extra_sources' : ['gtesttlsbackend.c']},
|
||||
}]
|
||||
}
|
||||
|
||||
# FIXME: We are using list of dictionnaries until we can depend on Meson 0.48.0
|
||||
# that supports '+=' operator on dictionnaries.
|
||||
test_extra_programs = [{
|
||||
test_extra_programs = {
|
||||
'gdbus-connection-flush-helper' : {},
|
||||
'gdbus-testserver' : {},
|
||||
'gsubprocess-testprog' : {},
|
||||
}]
|
||||
}
|
||||
|
||||
test_env = environment()
|
||||
test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
|
||||
@ -114,17 +110,17 @@ endif
|
||||
if dbus1_dep.found()
|
||||
glib_conf.set('HAVE_DBUS1', 1)
|
||||
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'gdbus-serialization' : {
|
||||
'extra_sources' : ['gdbus-tests.c'],
|
||||
'dependencies' : [dbus1_dep],
|
||||
}
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
# Test programs buildable on UNIX only
|
||||
if host_machine.system() != 'windows'
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'file' : {},
|
||||
'gdbus-peer' : {'dependencies' : [libgdbus_example_objectmanager_dep]},
|
||||
'gdbus-peer-object-manager' : {},
|
||||
@ -137,12 +133,12 @@ if host_machine.system() != 'windows'
|
||||
'g-file-info-filesystem-readonly' : {},
|
||||
'gschema-compile' : {'install' : false},
|
||||
'trash' : {},
|
||||
}]
|
||||
}
|
||||
|
||||
# Uninstalled because of the check-for-executable logic in DesktopAppInfo
|
||||
# unable to find the installed executable
|
||||
if not glib_have_cocoa
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'appinfo' : {
|
||||
'install' : false,
|
||||
'is_parallel' : false,
|
||||
@ -151,22 +147,22 @@ if host_machine.system() != 'windows'
|
||||
'install' : false,
|
||||
'is_parallel' : false,
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
test_extra_programs += [{
|
||||
test_extra_programs += {
|
||||
'basic-application' : {},
|
||||
'dbus-launch' : {},
|
||||
'appinfo-test' : {},
|
||||
}]
|
||||
}
|
||||
|
||||
if not glib_have_cocoa
|
||||
test_extra_programs += [{
|
||||
test_extra_programs += {
|
||||
'apps' : {},
|
||||
}]
|
||||
gio_tests += [{
|
||||
}
|
||||
gio_tests += {
|
||||
'mimeapps' : {},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
# Test programs that need to bring up a session bus (requires dbus-daemon)
|
||||
@ -197,7 +193,7 @@ if host_machine.system() != 'windows'
|
||||
|
||||
extra_sources = ['gdbus-sessionbus.c', 'gdbus-tests.c']
|
||||
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'actions' : {
|
||||
'extra_sources' : extra_sources,
|
||||
'suite' : ['slow'],
|
||||
@ -244,14 +240,14 @@ if host_machine.system() != 'windows'
|
||||
},
|
||||
'gapplication' : {'extra_sources' : extra_sources},
|
||||
'gdbus-unix-addresses' : {},
|
||||
}]
|
||||
}
|
||||
|
||||
if not glib_have_cocoa
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'dbus-appinfo' : {
|
||||
'extra_sources' : extra_sources,
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
endif # have_dbus_daemon
|
||||
|
||||
@ -262,44 +258,44 @@ if host_machine.system() != 'windows'
|
||||
install_dir : installed_tests_execdir,
|
||||
install : installed_tests_enabled)
|
||||
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'gdbus-connection-flush' : {
|
||||
'extra_sources' : ['test-io-stream.c', 'test-pipe-unix.c'],
|
||||
},
|
||||
'gdbus-non-socket' : {
|
||||
'extra_sources' : ['gdbus-tests.c', 'test-io-stream.c', 'test-pipe-unix.c'],
|
||||
},
|
||||
}]
|
||||
}
|
||||
|
||||
# Generate test.mo from de.po using msgfmt
|
||||
msgfmt = find_program('msgfmt', required : false)
|
||||
if msgfmt.found()
|
||||
subdir('de/LC_MESSAGES')
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'gsettings' : {
|
||||
'extra_sources' : [test_mo],
|
||||
'c_args' : ['-DSRCDIR="@0@"'.format(meson.current_source_dir()),
|
||||
'-DTEST_LOCALE_PATH="@0@"'.format(test_mo_dir)],
|
||||
'install' : false,
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
endif # unix
|
||||
|
||||
# Test programs buildable on Windows only
|
||||
if host_machine.system() == 'windows'
|
||||
gio_tests += [{'win32-streams' : {}}]
|
||||
gio_tests += {'win32-streams' : {}}
|
||||
endif
|
||||
|
||||
if cc.get_id() != 'msvc'
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'autoptr-gio' : {
|
||||
'source' : 'autoptr.c',
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
test_extra_programs += [{
|
||||
test_extra_programs += {
|
||||
'gio-du' : {'install' : false},
|
||||
'echo-server' : {'install' : false},
|
||||
'filter-cat' : {'install' : false},
|
||||
@ -331,10 +327,10 @@ test_extra_programs += [{
|
||||
'extra_sources' : ['gtlsconsoleinteraction.c'],
|
||||
'install' : false,
|
||||
},
|
||||
}]
|
||||
}
|
||||
|
||||
if cc.get_id() != 'msvc'
|
||||
test_extra_programs += [{
|
||||
test_extra_programs += {
|
||||
# These three are manual-run tests because they need a session bus but don't bring one up themselves
|
||||
# FIXME: these build but don't seem to work!
|
||||
'gdbus-example-objectmanager-client' : {
|
||||
@ -349,15 +345,15 @@ if cc.get_id() != 'msvc'
|
||||
'dependencies' : [libgdbus_example_objectmanager_dep],
|
||||
'install' : false,
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
if host_machine.system() != 'windows'
|
||||
test_extra_programs += [{
|
||||
test_extra_programs += {
|
||||
'gdbus-example-unix-fd-client' : {
|
||||
'install' : false,
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
if installed_tests_enabled
|
||||
@ -447,16 +443,15 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
||||
copy : true,
|
||||
install : false)
|
||||
|
||||
gio_tests += [{
|
||||
gio_tests += {
|
||||
'resources' : {
|
||||
'extra_sources' : [test_gresource, test_resources_c, test_resources2_c,
|
||||
test_resources2_h],
|
||||
},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
foreach test_dict : gio_tests
|
||||
foreach test_name, extra_args : test_dict
|
||||
foreach test_name, extra_args : gio_tests
|
||||
source = extra_args.get('source', test_name + '.c')
|
||||
extra_sources = extra_args.get('extra_sources', [])
|
||||
install = installed_tests_enabled and extra_args.get('install', true)
|
||||
@ -489,11 +484,9 @@ foreach test_dict : gio_tests
|
||||
args : ['--tap'],
|
||||
is_parallel : extra_args.get('is_parallel', true),
|
||||
)
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
foreach program_dict : test_extra_programs
|
||||
foreach program_name, extra_args : program_dict
|
||||
foreach program_name, extra_args : test_extra_programs
|
||||
source = extra_args.get('source', program_name + '.c')
|
||||
extra_sources = extra_args.get('extra_sources', [])
|
||||
install = installed_tests_enabled and extra_args.get('install', true)
|
||||
@ -503,7 +496,6 @@ foreach program_dict : test_extra_programs
|
||||
install_dir : installed_tests_execdir,
|
||||
install : install,
|
||||
)
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
# FIXME: subdir('services')
|
||||
|
@ -1,6 +1,6 @@
|
||||
project('glib', 'c', 'cpp',
|
||||
version : '2.59.0',
|
||||
meson_version : '>= 0.47.0',
|
||||
meson_version : '>= 0.48.0',
|
||||
default_options : [
|
||||
'buildtype=debugoptimized',
|
||||
'warning_level=1',
|
||||
|
@ -26,9 +26,7 @@ testmarshal_c = custom_target('testmarshal_c',
|
||||
],
|
||||
)
|
||||
|
||||
# FIXME: We are using list of dictionnaries until we can depend on Meson 0.48.0
|
||||
# that supports '+=' operator on dictionnaries.
|
||||
gobject_tests = [{
|
||||
gobject_tests = {
|
||||
'gvalue-test' : {'tap' : true},
|
||||
'paramspec-test' : {'tap' : true},
|
||||
'deftype' : {},
|
||||
@ -46,19 +44,18 @@ gobject_tests = [{
|
||||
'accumulator' : {
|
||||
'extra_sources' : [testmarshal_c, testmarshal_h],
|
||||
},
|
||||
}]
|
||||
}
|
||||
|
||||
if host_system != 'windows'
|
||||
gobject_tests += [{
|
||||
gobject_tests += {
|
||||
'timeloop-closure' : {},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS']
|
||||
common_deps = [libm, thread_dep, libglib_dep, libgobject_dep]
|
||||
|
||||
foreach test_dict : gobject_tests
|
||||
foreach test_name, extra_args : test_dict
|
||||
foreach test_name, extra_args : gobject_tests
|
||||
source = extra_args.get('source', test_name + '.c')
|
||||
extra_sources = extra_args.get('extra_sources', [])
|
||||
install = installed_tests_enabled and extra_args.get('install', true)
|
||||
@ -90,7 +87,6 @@ foreach test_dict : gobject_tests
|
||||
# FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
|
||||
test(test_name, exe, env : test_env, timeout : timeout, suite : suite,
|
||||
args : test_command_args)
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
# Don't install these ones, and keep them out of 'make check' because they take too long...
|
||||
|
@ -15,9 +15,7 @@ test_cargs = ['-DG_LOG_DOMAIN="GLib"']
|
||||
subdir('gobject')
|
||||
subdir('refcount')
|
||||
|
||||
# FIXME: We are using list of dictionnaries until we can depend on Meson 0.48.0
|
||||
# that supports '+=' operator on dictionnaries.
|
||||
tests = [{
|
||||
tests = {
|
||||
'testglib' : {'tap' : true},
|
||||
'testgdate' : {},
|
||||
'datetime' : {},
|
||||
@ -54,7 +52,7 @@ tests = [{
|
||||
'include_directories' : gmoduleinc,
|
||||
'dependencies' : [libgio_dep],
|
||||
},
|
||||
}]
|
||||
}
|
||||
|
||||
test_extra_programs = {
|
||||
'slice-test' : {
|
||||
@ -68,11 +66,11 @@ test_extra_programs = {
|
||||
}
|
||||
|
||||
if host_machine.system() != 'windows'
|
||||
tests += [{
|
||||
tests += {
|
||||
'timeloop' : {},
|
||||
'spawn-test' : {},
|
||||
'iochannel-test' : {},
|
||||
}]
|
||||
}
|
||||
endif
|
||||
|
||||
if installed_tests_enabled
|
||||
@ -96,8 +94,7 @@ endforeach
|
||||
common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS']
|
||||
common_deps = [libm, thread_dep, libglib_dep]
|
||||
|
||||
foreach test_dict : tests
|
||||
foreach test_name, extra_args : test_dict
|
||||
foreach test_name, extra_args : tests
|
||||
source = extra_args.get('source', test_name + '.c')
|
||||
extra_sources = extra_args.get('extra_sources', [])
|
||||
install = installed_tests_enabled and extra_args.get('install', true)
|
||||
@ -131,7 +128,6 @@ foreach test_dict : tests
|
||||
# FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
|
||||
test(test_name, exe, env : test_env, timeout : timeout, suite : suite,
|
||||
args : test_command_args)
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
foreach program_name, extra_args : test_extra_programs
|
||||
|
Loading…
Reference in New Issue
Block a user