Marco Trevisan (Treviño)
a106ce4445
gobject/tests/meson: Add support to add extra depends args to python tests
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
eef2b0b39e
gmodule/tests/meson: Make tests depending on loaded libraries and modules
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
82fc49fa10
glib/tests/meson: Add test programs dependencies to single tests
...
Various glib tests (such as the spawn ones) depend on local binaries
being built, this may not happen (especially when not using installed
tests), thus ensure such dependencies via the newly added extra_programs
key
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
495017e2db
glib/tests/meson: Compile tests extra programs using same strategy as gio
...
This allows also to keep track of targets and to make possible for a
test to depend on a particular test program
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
c490e3c522
gio/tests/meson: Add resource plugin as test dependency
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
407c45ddaf
gio/tests/meson: Add fake-service-name as gdbus-names dependency
...
It uses a fake name owner that we didn't depend on
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
ed013f9550
gio/tests/meson: Make giomodule test to depend on built modules
...
These are loaded dynamically so we need to ensure they're available at
test time
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
ff195b6e0d
gio/tests/meson: Add dbus-launch as dependency of gdbus-address-get-session
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
fd2b4e4ca4
gio/tests/meson: Add glib-compile-schemas as dependency for gsettings test
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
0525a32c09
gio/tests/meson: Add fake-document-portal as dependency of dbus-appinfo
...
It uses the portal, but it doesn't depend on it.
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
cb85b26dd2
gio/tests/meson: Add gdbus-connection-flush-helper as dependency of connection tests
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
01349e8e7f
gio/tests/meson: Add gdbus-testserver prog as dependency of GDbus tests
...
Most gdbus tests launch the gdbus-testserver binary, so add it as
dependency of such tests.
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
caf75d8f9c
gio/tests/meson: Add basic-application as prerequisite of gapplication
...
It's currently commented code, but in any case it's better to build it
earlier
2022-11-01 01:56:27 +01:00
Marco Trevisan (Treviño)
97b0e96577
gio/tests/meson: Add gsubprocess-testprog as gsubprocess dependency
...
It launches such binary, so add it as prerequisite.
2022-11-01 01:56:20 +01:00
Marco Trevisan (Treviño)
e1e4084ecb
gio/tests/meson: Add appinfo-test and apps as appinfo tests dependency
...
We need to make sure that such binaries are built and available at test time
or we may fail some tests requiring them (directly or through desktop file).
As per this, and because now generated desktop files are available both
at build and install time, don't skip some tests we were used to, but
actually enforce they are running.
2022-11-01 01:56:10 +01:00
Marco Trevisan (Treviño)
a1a0a9d75a
gio/meson: Make possible for test to depend on extra programs
...
We have some test programs on which some tests depend on, for example
appinfo-test is a tool that is used by the desktop-app-info tests.
So test can now have an 'extra_programs' key where the extra program
names can be included.
This could have been handled manually via 'depends', but this allows
to avoid repeating code and be sure that all is defined when extra
programs targets are checked.
2022-11-01 01:56:09 +01:00
Marco Trevisan (Treviño)
e9cbcfff80
gio/tests/meson: Always generate desktop files for local builds
...
We were generating .desktop files with different content when installed
tests were enabled, and thus making impossible to test some cases
because there was no built file until installed.
To avoid this, always generate both versions of desktop files while
install only the one containing the install path prefix if needed.
2022-11-01 01:31:49 +01:00
Marco Trevisan (Treviño)
359c705fc6
gio/tests/meson: Make desktop-app-info depend on gio-launch-desktop
...
We actually use it to launch applications so it has to be built at test
time
2022-11-01 01:31:49 +01:00
Philip Withnall
cbf17c9422
Merge branch 'wip/3v1n0/support-can-fail-tests' into 'main'
...
meson, ci: Support tests that can fail under certain conditions
See merge request GNOME/glib!2987
2022-10-31 14:28:02 +00:00
Marco Trevisan (Treviño)
584a4f64c9
glib/tests/meson: Ignore another new windows tests failure
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
94273b0ebf
ci: Remove not-printable chars from generated junit file
...
Under windows we get some invalid chars that are causing gitlab not to
be able to parse the xml files
See: https://github.com/mesonbuild/meson/issues/9894
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
be665cdce0
glib,gio/tests: Mark some spawn tests as flaky under windows
...
It a may fail at times, but it generally works:
See: https://gitlab.gnome.org/GNOME/glib/-/jobs/2346261
See: https://gitlab.gnome.org/GNOME/glib/-/jobs/2346262
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
832dd0805a
meson: Add basic summary
...
It can nicely provide information about how glib is configured
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
9e649debbe
meson: Use default test multiplier to define timeouts
...
So that we don't have to care about the default, being always set to 1m
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
3d497b8f5b
ci: Show commands run from the test scripts
...
It allows better debugging in case of failures.
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
3c56d661d8
meson: Use test setup environment instead of repeating it everywhere
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
3e227fb528
glocalfileinfo: Define errsv only if it's used
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
b30430970a
tests: Mark should_fail tests as can_fail
...
Even if they are expected to fail, we should not use an inverse logic
for treating their return codes.
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
8d5ae3ae83
ci: Mark failing mingw tests as can-fail and do not ignore test failures
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
54a9e797fe
ci: Mark failing windows tests as can-fail and do not ignore test failures
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
b9e085537d
meson: Expose library build type as global variables
...
Given that it can be computed using an error-prone strings comparisons it
is better to provide a variable everywhere, so that we don't have the
risk of comparing values that are always false.
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
914bb06ab4
gio: mark codegen test as can-fail in freebsd
...
See: https://gitlab.gnome.org/GNOME/glib/-/issues/2764
2022-10-31 14:08:31 +01:00
Marco Trevisan (Treviño)
62dca6c1cf
meson, ci: Support tests that can fail under certain conditions
...
We have tests that are failing in some environments, but it's
difficult to handle them because:
- for some environments we just allow all the tests to fail: DANGEROUS
- when we don't allow failures we have flacky tests: A CI pain
So, to avoid this and ensure that:
- New failing tests are tracked in all platforms
- gitlab integration on tests reports is working
- coverage is reported also for failing tests
Add support for `can_fail` keyword on tests that would mark the test as
part of the `failing` test suite.
Not adding the suite directly when defining the tests as this is
definitely simpler and allows to define conditions more clearly (see next
commits).
Now, add a default test setup that does not run the failing and flaky tests
by default (not to bother distributors with testing well-known issues) and
eventually run all the tests in CI:
- Non-flaky tests cannot fail in all platforms
- Failing and Flaky tests can fail
In both cases we save the test reports so that gitlab integration is
preserved.
2022-10-31 14:08:29 +01:00
Marco Trevisan
4339df0583
Merge branch 'portal-support-missing-guards' into 'main'
...
portal: Fix broken header guard
See merge request GNOME/glib!3035
2022-10-31 12:31:01 +00:00
Philip Withnall
9931696eca
Merge branch 'wip/3v1n0/sys-64-clang' into 'main'
...
gatomic: Cast the oldval pointer type to the atomic value type, and add msys2-clang64 scheduled CI job
Closes #2798
See merge request GNOME/glib!3031
2022-10-31 12:24:10 +00:00
Robert Ancell
0239417935
portal: Fix broken header guard
...
This wouldn't have caused an issue with the current header contents, but could have triggered a future bug.
2022-10-31 12:08:41 +01:00
Emmanuele Bassi
7457566fb8
Merge branch 'wip/smcv/sized-integers' into 'main'
...
docs: Soft-deprecate sized integer types in favour of (u)intN_t
Closes #1484
See merge request GNOME/glib!3006
2022-10-31 11:05:38 +00:00
Marco Trevisan (Treviño)
dd422a0588
gio/tests/win32-streams: Avoid doing sign casting when we can
...
the offset can be just an unsigned parameter so that we don't have to cast
the sizeof (DATA) result.
2022-10-31 12:02:57 +01:00
Marco Trevisan (Treviño)
69f7aa5747
meson: Ignore -Wstring-plus-int in C
...
It's not really a problem for us, it would be only in c++.
2022-10-31 12:02:57 +01:00
Marco Trevisan (Treviño)
126b822137
gfileutils: Use correct type comparison for length
...
length is defined as an unsigned size value, so can't compare it with a
signed one
2022-10-31 12:02:57 +01:00
Marco Trevisan (Treviño)
7dc19632f3
glib/tests/cxx: Ensure NULL is always casted to a pointer type
...
Otherwise it may not be recognized as valid sentinel
2022-10-31 12:02:55 +01:00
Marco Trevisan (Treviño)
d7a6305ba4
glib/gnulib/meson: Disable some warnings on clang windows builds
...
We have gnulib warnings in windows under clang:
../glib/gnulib/vasnprintf.c:2429:21: warning: variable 'flags' set but not
used [-Wunused-but-set-variable]
int flags = dp->flags;
^
../glib/gnulib/vasnprintf.c:4853:19: warning: unannotated fall-through
between switch labels [-Wimplicit-fallthrough]
case TYPE_LONGINT:
^
See: https://gitlab.gnome.org/3v1n0/glib/-/jobs/2361750
2022-10-31 12:00:53 +01:00
Marco Trevisan (Treviño)
e320149c39
ci: Add an msys2-clang64 job to run only on schedules
...
It has enough particularities to require a job to monitor failures
2022-10-31 12:00:53 +01:00
Marco Trevisan (Treviño)
345fbe0666
ci/test-msys2: use $MINGW_PACKAGE_PREFIX
2022-10-31 12:00:53 +01:00
Marco Trevisan (Treviño)
fdaa8a334a
ci: Set CFLAGS on msys2-mingw32 in yaml file as it happens for other jobs
...
Be consistent, and based on this also perform the lcov job or not
2022-10-31 12:00:53 +01:00
Marco Trevisan (Treviño)
e2560d1681
gatomic: Cast the oldval pointer type to the atomic value type
...
If glib_typeof is defined we can try to cast the old value to the atomic
value type to check if it's compatible with the pointer one.
Closes : #2798
2022-10-31 12:00:53 +01:00
Philip Withnall
6cb10c86c8
Merge branch 'ci-add-issue-bot' into 'main'
...
ci: Open issues when scheduled pipelines fail
See merge request GNOME/glib!3034
2022-10-31 10:10:47 +00:00
Philip Withnall
d2d97ffc48
Merge branch 'always-use-nullptr-in-c++' into 'main'
...
glib/gmacros: Always define NULL as nullptr in C++11 and newer
See merge request GNOME/glib!3033
2022-10-31 10:10:10 +00:00
Marco Trevisan (Treviño)
f8fa9d3a2b
ci: Open issues when scheduled pipelines fails
...
It's hard to track failures on scheduled pipelines, so make gitlab open
an issue for us if that happens.
2022-10-31 02:51:40 +01:00
Marco Trevisan (Treviño)
0ca5254c5d
glib/gmacros: Always define NULL as nullptr in C++11 and newer
2022-10-31 01:00:06 +01:00