Merge request !1373 from 'asan-ci'
Fix some leaks and run daemon asan check in CI https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1373
This commit is contained in:
+45
-1
@@ -28,7 +28,7 @@ stages:
|
||||
BUILD_QMI: true
|
||||
BUILD_QRTR: true
|
||||
|
||||
build container:
|
||||
build_container:
|
||||
extends:
|
||||
- .fdo.container-build@ubuntu
|
||||
- .common_variables
|
||||
@@ -73,6 +73,7 @@ verify-dco:
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
needs: []
|
||||
only:
|
||||
- merge_requests
|
||||
script: |
|
||||
@@ -89,6 +90,8 @@ verify-dco:
|
||||
|
||||
build-no-qmi:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -107,6 +110,8 @@ build-no-qmi:
|
||||
|
||||
build-qmi-qrtr-no-mbim:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -124,6 +129,8 @@ build-qmi-qrtr-no-mbim:
|
||||
|
||||
build-qmi-no-qrtr-no-mbim:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -142,6 +149,8 @@ build-qmi-no-qrtr-no-mbim:
|
||||
|
||||
build-no-qmi-no-mbim:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -162,6 +171,8 @@ build-no-qmi-no-mbim:
|
||||
|
||||
build-no-qmi-no-mbim-no-tests:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -181,6 +192,8 @@ build-no-qmi-no-mbim-no-tests:
|
||||
|
||||
build-no-deprecated:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -201,6 +214,8 @@ build-no-deprecated:
|
||||
|
||||
build-no-suspend-resume:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -217,6 +232,8 @@ build-no-suspend-resume:
|
||||
|
||||
build-suspend-resume-powerd:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -233,6 +250,8 @@ build-suspend-resume-powerd:
|
||||
|
||||
build-single-plugins:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -249,6 +268,8 @@ build-single-plugins:
|
||||
|
||||
build-single-plugins-builtin:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -265,6 +286,8 @@ build-single-plugins-builtin:
|
||||
|
||||
build-debug:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -283,6 +306,8 @@ build-debug:
|
||||
|
||||
build-release:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -301,6 +326,8 @@ build-release:
|
||||
|
||||
build-release-builtin:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
@@ -316,3 +343,20 @@ build-release-builtin:
|
||||
- ninja -C build test
|
||||
- ninja -C build install
|
||||
- ninja -C build uninstall
|
||||
|
||||
build-asan:
|
||||
stage: build
|
||||
needs:
|
||||
- build_container
|
||||
extends:
|
||||
- .fdo.distribution-image@ubuntu
|
||||
- .common_variables
|
||||
only:
|
||||
- main
|
||||
- merge_requests
|
||||
- tags
|
||||
- schedules
|
||||
script:
|
||||
- *prepare_deps
|
||||
- meson setup build-asan -Db_sanitize=address -Dwerror=true -Dgtk_doc=false -Dqmi=true -Dqrtr=true -Dmbim=true
|
||||
- meson test -C build-asan --suite=daemon --timeout-multiplier=5 --print-errorlogs
|
||||
|
||||
@@ -766,7 +766,6 @@ static void
|
||||
send_dtmf_context_free (SendDtmfContext *ctx)
|
||||
{
|
||||
send_dtmf_context_clear_timeout (ctx);
|
||||
g_ptr_array_foreach (ctx->dtmfs, (GFunc) g_free, NULL);
|
||||
g_ptr_array_free (ctx->dtmfs, TRUE);
|
||||
g_assert (!ctx->saved_error);
|
||||
g_slice_free (SendDtmfContext, ctx);
|
||||
|
||||
@@ -3162,6 +3162,7 @@ mm_3gpp_parse_cscb_response (const char *response, GError **error)
|
||||
goto out;
|
||||
}
|
||||
|
||||
g_free (str);
|
||||
str = g_match_info_fetch (match_info, 2);
|
||||
intervals = g_strsplit (str, ",", -1);
|
||||
for (i = 0; intervals[i]; i++) {
|
||||
@@ -5895,7 +5896,7 @@ mm_dtmf_split (const gchar *dtmf)
|
||||
const gchar *p = dtmf;
|
||||
GString *cur = NULL;
|
||||
|
||||
array = g_ptr_array_new ();
|
||||
array = g_ptr_array_new_with_free_func (g_free);
|
||||
|
||||
while (*p) {
|
||||
if (*p == MM_CALL_DTMF_PAUSE_CHAR) {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2021 Iñigo Martinez <inigomartinez@gmail.com>
|
||||
|
||||
test_env = environment()
|
||||
test_env.set('ASAN_OPTIONS', 'fast_unwind_on_malloc=0')
|
||||
|
||||
test_units = {
|
||||
'at-serial-port': libport_dep,
|
||||
'cbm-part': libhelpers_dep,
|
||||
@@ -47,7 +50,7 @@ foreach test_unit, test_deps: test_units
|
||||
c_args: c_args,
|
||||
)
|
||||
|
||||
test(test_name, exe)
|
||||
test(test_name, exe, suite: 'daemon', env: test_env)
|
||||
endforeach
|
||||
|
||||
# base call test
|
||||
@@ -59,7 +62,7 @@ exe = executable(
|
||||
c_args: c_args,
|
||||
)
|
||||
|
||||
test('test-base-call', exe)
|
||||
test('test-base-call', exe, suite: 'daemon', env: test_env)
|
||||
|
||||
|
||||
if get_option('fuzzer')
|
||||
|
||||
@@ -4491,7 +4491,7 @@ static void
|
||||
common_test_cscb_response (const gchar *response, TestCscb *expected)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GArray *result;
|
||||
g_autoptr(GArray) result = NULL;
|
||||
|
||||
g_debug ("Testing '%s'", response);
|
||||
result = mm_3gpp_parse_cscb_response (response, &error);
|
||||
@@ -4726,7 +4726,7 @@ test_emergency_numbers (void)
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (emergency_numbers_tests); i++) {
|
||||
GStrv numbers;
|
||||
GError *error = NULL;
|
||||
g_autoptr(GError) error = NULL;
|
||||
guint j;
|
||||
|
||||
g_debug (" testing %s...", emergency_numbers_tests[i].raw);
|
||||
@@ -5138,7 +5138,7 @@ static void
|
||||
test_dtmf_split (gpointer user_data)
|
||||
{
|
||||
DtmfTestData *td = user_data;
|
||||
GPtrArray *split;
|
||||
g_autoptr(GPtrArray) split = NULL;
|
||||
guint expected_len;
|
||||
guint i;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user