Oh, really sorry for that, I didn't realize it. Fixing it and re-submitting
Carlo On 10 March 2016 at 14:19, Aleksander Morgado <[email protected]> wrote: > On Thu, Mar 10, 2016 at 12:41 PM, Carlo Lobrano <[email protected]> > wrote: > > --- > > > > Hello, > > > > I fixed the usage of mm_base_at_command_finish and the other changes > > required in the previous code review. Hope everything is fine now. > > > > Looks like this version of the patch is introducing quite some > unrelated reindentations? > > Also, ExecStart modified in ModemManager.service.in? :) > > > > Thanks, > > Carlo > > > > --- > > data/ModemManager.service.in | 2 +- > > plugins/telit/mm-broadband-modem-telit.c | 294 > +++++++++++++++------- > > plugins/telit/mm-modem-helpers-telit.c | 85 +++++++ > > plugins/telit/mm-modem-helpers-telit.h | 1 + > > plugins/telit/tests/test-mm-modem-helpers-telit.c | 191 ++++++++++++++ > > 5 files changed, 484 insertions(+), 89 deletions(-) > > > > diff --git a/data/ModemManager.service.in b/data/ModemManager.service.in > > index 9fe3a3b..81923e8 100644 > > --- a/data/ModemManager.service.in > > +++ b/data/ModemManager.service.in > > @@ -5,7 +5,7 @@ After=syslog.target > > [Service] > > Type=dbus > > BusName=org.freedesktop.ModemManager1 > > -ExecStart=@sbindir@/ModemManager > > +ExecStart=@sbindir@/ModemManager --debug --log-level=DEBUG > --log-file=/tmp/modemmanager.log > > StandardError=null > > Restart=on-abort > > > > diff --git a/plugins/telit/mm-broadband-modem-telit.c > b/plugins/telit/mm-broadband-modem-telit.c > > index 0127314..47a4d7b 100644 > > --- a/plugins/telit/mm-broadband-modem-telit.c > > +++ b/plugins/telit/mm-broadband-modem-telit.c > > @@ -30,6 +30,7 @@ > > #include "mm-base-modem-at.h" > > #include "mm-iface-modem.h" > > #include "mm-iface-modem-3gpp.h" > > +#include "mm-common-helpers.h" > > #include "mm-broadband-modem-telit.h" > > #include "mm-modem-helpers-telit.h" > > > > @@ -43,6 +44,121 @@ G_DEFINE_TYPE_EXTENDED (MMBroadbandModemTelit, > mm_broadband_modem_telit, MM_TYPE > > G_IMPLEMENT_INTERFACE > (MM_TYPE_IFACE_MODEM_3GPP, iface_modem_3gpp_init)); > > > > > /*****************************************************************************/ > > +/* Set current bands (Modem interface) */ > > + > > +static gboolean > > +modem_set_current_bands_finish (MMIfaceModem *self, > > + GAsyncResult *res, > > + GError **error) > > +{ > > + return !g_simple_async_result_propagate_error > (G_SIMPLE_ASYNC_RESULT (res), error); > > +} > > + > > +static void > > +modem_set_current_bands_ready (MMIfaceModem *self, > > + GAsyncResult *res, > > + GSimpleAsyncResult *simple) > > +{ > > + GError *error = NULL; > > + > > + mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error); > > + if (error) { > > + g_simple_async_result_take_error (simple, error); > > + } else { > > + g_simple_async_result_set_op_res_gboolean (simple, TRUE); > > + } > > + > > + g_simple_async_result_complete (simple); > > + g_object_unref (simple); > > +} > > + > > +static void > > +modem_set_current_bands (MMIfaceModem *self, > > + GArray *bands_array, > > + GAsyncReadyCallback callback, > > + gpointer user_data) > > +{ > > + gchar *cmd; > > + gint flag2g; > > + gint flag3g; > > + gint flag4g; > > + gboolean is_2g; > > + gboolean is_3g; > > + gboolean is_4g; > > + GSimpleAsyncResult *res; > > + > > + mm_telit_get_band_flag (bands_array, &flag2g, &flag3g, &flag4g); > > + > > + is_2g = mm_iface_modem_is_2g (self); > > + is_3g = mm_iface_modem_is_3g (self); > > + is_4g = mm_iface_modem_is_4g (self); > > + > > + if (is_2g && flag2g == -1) { > > + g_simple_async_report_error_in_idle (G_OBJECT (self), > > + callback, > > + user_data, > > + MM_CORE_ERROR, > > + MM_CORE_ERROR_NOT_FOUND, > > + "None or invalid 2G bands > combination in the provided list"); > > + return; > > + } > > + > > + if (is_3g && flag3g == -1) { > > + g_simple_async_report_error_in_idle (G_OBJECT (self), > > + callback, > > + user_data, > > + MM_CORE_ERROR, > > + MM_CORE_ERROR_NOT_FOUND, > > + "None or invalid 3G bands > combination in the provided list"); > > + return; > > + } > > + > > + if (is_4g && flag4g == -1) { > > + g_simple_async_report_error_in_idle (G_OBJECT (self), > > + callback, > > + user_data, > > + MM_CORE_ERROR, > > + MM_CORE_ERROR_NOT_FOUND, > > + "None or invalid 4G bands > combination in the provided list"); > > + return; > > + } > > + > > + cmd = NULL; > > + if (is_2g && !is_3g && !is_4g) > > + cmd = g_strdup_printf ("AT#BND=%d", flag2g); > > + else if (is_2g && is_3g && !is_4g) > > + cmd = g_strdup_printf ("AT#BND=%d,%d", flag2g, flag3g); > > + else if (is_2g && is_3g && is_4g) > > + cmd = g_strdup_printf ("AT#BND=%d,%d,%d", flag2g, flag3g, > flag4g); > > + else if (!is_2g && !is_3g && is_4g) > > + cmd = g_strdup_printf ("AT#BND=0,0,%d", flag4g); > > + else if (!is_2g && is_3g && is_4g) > > + cmd = g_strdup_printf ("AT#BND=0,%d,%d", flag3g, flag4g); > > + else if (is_2g && !is_3g && is_4g) > > + cmd = g_strdup_printf ("AT#BND=%d,0,%d", flag2g, flag4g); > > + else { > > + g_simple_async_report_error_in_idle (G_OBJECT (self), > > + callback, > > + user_data, > > + MM_CORE_ERROR, > > + MM_CORE_ERROR_FAILED, > > + "Unexpectd error: could > not compose AT#BND command"); > > + return; > > + } > > + res = g_simple_async_result_new (G_OBJECT (self), > > + callback, > > + user_data, > > + modem_set_current_bands); > > + mm_base_modem_at_command (MM_BASE_MODEM (self), > > + cmd, > > + 20, > > + FALSE, > > + > (GAsyncReadyCallback)modem_set_current_bands_ready, > > + res); > > + g_free (cmd); > > +} > > + > > > +/*****************************************************************************/ > > /* Load current bands (Modem interface) */ > > > > typedef struct { > > @@ -72,7 +188,7 @@ modem_load_bands_finish (MMIfaceModem *self, > > return NULL; > > > > return (GArray *) g_array_ref > (g_simple_async_result_get_op_res_gpointer ( > > - G_SIMPLE_ASYNC_RESULT (res))); > > + > G_SIMPLE_ASYNC_RESULT (res))); > > } > > > > static void > > @@ -209,7 +325,7 @@ modem_load_unlock_retries_finish (MMIfaceModem *self, > > return NULL; > > > > return (MMUnlockRetries*) g_object_ref > (g_simple_async_result_get_op_res_gpointer ( > > - G_SIMPLE_ASYNC_RESULT > (res))); > > + > G_SIMPLE_ASYNC_RESULT (res))); > > } > > > > static void > > @@ -436,20 +552,20 @@ response_processor_psnt_ignore_at_errors > (MMBaseModem *self, > > mode = strchr (psnt, ','); > > if (mode) { > > switch (atoi (++mode)) { > > - case 0: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_GPRS); > > - return TRUE; > > - case 1: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_EDGE); > > - return TRUE; > > - case 2: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_UMTS); > > - return TRUE; > > - case 3: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_HSDPA); > > - return TRUE; > > - default: > > - break; > > + case 0: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_GPRS); > > + return TRUE; > > + case 1: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_EDGE); > > + return TRUE; > > + case 2: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_UMTS); > > + return TRUE; > > + case 3: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_HSDPA); > > + return TRUE; > > + default: > > + break; > > } > > } > > > > @@ -484,17 +600,17 @@ response_processor_service_ignore_at_errors > (MMBaseModem *self, > > mode = strchr (service, ','); > > if (mode) { > > switch (atoi (++mode)) { > > - case 1: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_1XRTT); > > - return TRUE; > > - case 2: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_EVDO0); > > - return TRUE; > > - case 3: > > - *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_EVDOA); > > - return TRUE; > > - default: > > - break; > > + case 1: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_1XRTT); > > + return TRUE; > > + case 2: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_EVDO0); > > + return TRUE; > > + case 3: > > + *result = g_variant_new_uint32 > (MM_MODEM_ACCESS_TECHNOLOGY_EVDOA); > > + return TRUE; > > + default: > > + break; > > } > > } > > > > @@ -519,12 +635,12 @@ load_access_technologies (MMIfaceModem *self, > > { > > mm_dbg ("loading access technology (Telit)..."); > > mm_base_modem_at_sequence ( > > - MM_BASE_MODEM (self), > > - access_tech_commands, > > - NULL, /* response_processor_context */ > > - NULL, /* response_processor_context_free */ > > - callback, > > - user_data); > > + MM_BASE_MODEM (self), > > + access_tech_commands, > > + NULL, /* response_processor_context */ > > + NULL, /* response_processor_context_free > */ > > + callback, > > + user_data); > > } > > > > > /*****************************************************************************/ > > @@ -549,11 +665,11 @@ setup_flow_control (MMIfaceModem *self, > > guint flow_control = 1; /* Default flow control: XON/XOFF */ > > > > switch (mm_base_modem_get_product_id (MM_BASE_MODEM (self)) & > 0xFFFF) { > > - case 0x0021: > > - flow_control = 2; /* Telit IMC modems support only RTS/CTS mode > */ > > - break; > > - default: > > - break; > > + case 0x0021: > > + flow_control = 2; /* Telit IMC modems support only RTS/CTS > mode */ > > + break; > > + default: > > + break; > > } > > > > cmd = g_strdup_printf ("+IFC=%u,%u", flow_control, flow_control); > > @@ -604,32 +720,32 @@ load_current_modes_finish (MMIfaceModem *self, > > > > *preferred = MM_MODEM_MODE_NONE; > > switch (a) { > > - case 12: > > - *allowed = MM_MODEM_MODE_2G; > > - return TRUE; > > - case 22: > > - *allowed = MM_MODEM_MODE_3G; > > - return TRUE; > > - case 25: > > - if (mm_iface_modem_is_3gpp_lte (self)) > > - *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | > MM_MODEM_MODE_4G); > > - else > > + case 12: > > + *allowed = MM_MODEM_MODE_2G; > > + return TRUE; > > + case 22: > > + *allowed = MM_MODEM_MODE_3G; > > + return TRUE; > > + case 25: > > + if (mm_iface_modem_is_3gpp_lte (self)) > > + *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_3G | > MM_MODEM_MODE_4G); > > + else > > + *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_3G); > > + return TRUE; > > + case 28: > > + *allowed = MM_MODEM_MODE_4G; > > + return TRUE; > > + case 29: > > *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_3G); > > - return TRUE; > > - case 28: > > - *allowed = MM_MODEM_MODE_4G; > > - return TRUE; > > - case 29: > > - *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_3G); > > - return TRUE; > > - case 30: > > - *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_4G); > > - return TRUE; > > - case 31: > > - *allowed = (MM_MODEM_MODE_3G | MM_MODEM_MODE_4G); > > - return TRUE; > > - default: > > - break; > > + return TRUE; > > + case 30: > > + *allowed = (MM_MODEM_MODE_2G | MM_MODEM_MODE_4G); > > + return TRUE; > > + case 31: > > + *allowed = (MM_MODEM_MODE_3G | MM_MODEM_MODE_4G); > > + return TRUE; > > + default: > > + break; > > } > > > > g_set_error (error, > > @@ -740,12 +856,12 @@ set_current_modes (MMIfaceModem *self, > > > > command = g_strdup_printf ("AT+WS46=%d", ws46_mode); > > mm_base_modem_at_command ( > > - MM_BASE_MODEM (self), > > - command, > > - 10, > > - FALSE, > > - (GAsyncReadyCallback)ws46_set_ready, > > - result); > > + MM_BASE_MODEM (self), > > + command, > > + 10, > > + FALSE, > > + (GAsyncReadyCallback)ws46_set_ready, > > + result); > > g_free (command); > > } > > > > @@ -839,12 +955,12 @@ load_supported_modes (MMIfaceModem *self, > > { > > /* Run parent's loading */ > > iface_modem_parent->load_supported_modes ( > > - MM_IFACE_MODEM (self), > > - (GAsyncReadyCallback)parent_load_supported_modes_ready, > > - g_simple_async_result_new (G_OBJECT (self), > > - callback, > > - user_data, > > - load_supported_modes)); > > + MM_IFACE_MODEM (self), > > + > (GAsyncReadyCallback)parent_load_supported_modes_ready, > > + g_simple_async_result_new > (G_OBJECT (self), > > + > callback, > > + > user_data, > > + > load_supported_modes)); > > } > > > > > /*****************************************************************************/ > > @@ -855,7 +971,7 @@ modem_3gpp_enable_unsolicited_events_finish > (MMIfaceModem3gpp *self, > > GAsyncResult *res, > > GError **error) > > { > > - /* Ignore errors */ > > + /* Ignore errors */ > > mm_base_modem_at_sequence_full_finish (MM_BASE_MODEM (self), > > res, > > NULL, > > @@ -877,24 +993,24 @@ modem_3gpp_enable_unsolicited_events > (MMIfaceModem3gpp *self, > > gpointer user_data) > > { > > mm_base_modem_at_sequence_full ( > > - MM_BASE_MODEM (self), > > - mm_base_modem_peek_port_secondary (MM_BASE_MODEM (self)), > > - unsolicited_enable_sequence, > > - NULL, /* response_processor_context */ > > - NULL, /* response_processor_context_free */ > > - NULL, /* cancellable */ > > - callback, > > - user_data); > > + MM_BASE_MODEM (self), > > + mm_base_modem_peek_port_secondary > (MM_BASE_MODEM (self)), > > + unsolicited_enable_sequence, > > + NULL, /* > response_processor_context */ > > + NULL, /* > response_processor_context_free */ > > + NULL, /* cancellable */ > > + callback, > > + user_data); > > } > > > > > /*****************************************************************************/ > > > > MMBroadbandModemTelit * > > mm_broadband_modem_telit_new (const gchar *device, > > - const gchar **drivers, > > - const gchar *plugin, > > - guint16 vendor_id, > > - guint16 product_id) > > + const gchar **drivers, > > + const gchar *plugin, > > + guint16 vendor_id, > > + guint16 product_id) > > { > > return g_object_new (MM_TYPE_BROADBAND_MODEM_TELIT, > > MM_BASE_MODEM_DEVICE, device, > > @@ -915,6 +1031,8 @@ iface_modem_init (MMIfaceModem *iface) > > { > > iface_modem_parent = g_type_interface_peek_parent (iface); > > > > + iface->set_current_bands = modem_set_current_bands; > > + iface->set_current_bands_finish = modem_set_current_bands_finish; > > iface->load_current_bands = modem_load_current_bands; > > iface->load_current_bands_finish = modem_load_bands_finish; > > iface->load_supported_bands = modem_load_supported_bands; > > diff --git a/plugins/telit/mm-modem-helpers-telit.c > b/plugins/telit/mm-modem-helpers-telit.c > > index ae7f8e7..80065fb 100644 > > --- a/plugins/telit/mm-modem-helpers-telit.c > > +++ b/plugins/telit/mm-modem-helpers-telit.c > > @@ -26,6 +26,91 @@ > > #include "mm-modem-helpers.h" > > #include "mm-modem-helpers-telit.h" > > > > + > > > +/*****************************************************************************/ > > +/* Set current bands helpers */ > > + > > +void > > +mm_telit_get_band_flag (GArray *bands_array, > > + gint *flag2g, > > + gint *flag3g, > > + gint *flag4g) > > +{ > > + guint mask_2g = 0; > > + guint mask3g = 0; > > + guint mask4g = 0; > > + guint found4g = FALSE; > > + guint i; > > + > > + for (i = 0; i < bands_array->len; i++) { > > + MMModemBand band = g_array_index(bands_array, MMModemBand, i); > > + > > + if (flag2g != NULL && > > + band > MM_MODEM_BAND_UNKNOWN && band <= MM_MODEM_BAND_G850) > { > > + mask_2g += 1 << band; > > + } > > + > > + if (flag3g != NULL && > > + band >= MM_MODEM_BAND_U2100 && band <= MM_MODEM_BAND_U2600) > { > > + mask3g += 1 << band; > > + } > > + > > + if (flag4g != NULL && > > + band >= MM_MODEM_BAND_EUTRAN_I && band <= > MM_MODEM_BAND_EUTRAN_XLIV) { > > + mask4g += 1 << (band - MM_MODEM_BAND_EUTRAN_I); > > + found4g = TRUE; > > + } > > + } > > + > > + /* Get 2G flag */ > > + if (flag2g != NULL) { > > + if (mask_2g == ((1 << MM_MODEM_BAND_EGSM) + (1 << > MM_MODEM_BAND_DCS))) > > + *flag2g = 0; > > + else if (mask_2g == ((1 << MM_MODEM_BAND_EGSM) + (1 << > MM_MODEM_BAND_PCS))) > > + *flag2g = 1; > > + else if (mask_2g == ((1 << MM_MODEM_BAND_G850) + (1 << > MM_MODEM_BAND_DCS))) > > + *flag2g = 2; > > + else if (mask_2g == ((1 << MM_MODEM_BAND_G850) + (1 << > MM_MODEM_BAND_PCS))) > > + *flag2g = 3; > > + else > > + *flag2g = -1; > > + } > > + > > + /* Get 3G flag */ > > + if (flag3g != NULL) { > > + if (mask3g == (1 << MM_MODEM_BAND_U2100)) > > + *flag3g = 0; > > + else if (mask3g == (1 << MM_MODEM_BAND_U1900)) > > + *flag3g = 1; > > + else if (mask3g == (1 << MM_MODEM_BAND_U850)) > > + *flag3g = 2; > > + else if (mask3g == ((1 << MM_MODEM_BAND_U2100) + > > + (1 << MM_MODEM_BAND_U1900) + > > + (1 << MM_MODEM_BAND_U850))) > > + *flag3g = 3; > > + else if (mask3g == ((1 << MM_MODEM_BAND_U1900) + > > + (1 << MM_MODEM_BAND_U850))) > > + *flag3g = 4; > > + else if (mask3g == (1 << MM_MODEM_BAND_U900)) > > + *flag3g = 5; > > + else if (mask3g == ((1 << MM_MODEM_BAND_U2100) + > > + (1 << MM_MODEM_BAND_U900))) > > + *flag3g = 6; > > + else if (mask3g == (1 << MM_MODEM_BAND_U17IV)) > > + *flag3g = 7; > > + else > > + *flag3g = -1; > > + } > > + > > + /* 4G flag correspond to the mask */ > > + if (flag4g != NULL) { > > + if (found4g) > > + *flag4g = mask4g; > > + else > > + *flag4g = -1; > > + } > > +} > > + > > > /*****************************************************************************/ > > /* +CSIM response parser */ > > > > diff --git a/plugins/telit/mm-modem-helpers-telit.h > b/plugins/telit/mm-modem-helpers-telit.h > > index a7e250e..75bd6ad 100644 > > --- a/plugins/telit/mm-modem-helpers-telit.h > > +++ b/plugins/telit/mm-modem-helpers-telit.h > > @@ -97,4 +97,5 @@ gboolean mm_telit_update_2g_bands(gchar *band_list, > GMatchInfo **match_info, GAr > > gboolean mm_telit_update_3g_bands(gchar *band_list, GMatchInfo > **match_info, GArray **bands, GError **error); > > gboolean mm_telit_update_4g_bands(GArray** bands, GMatchInfo > *match_info, GError **error); > > > > +void mm_telit_get_band_flag (GArray *bands_array, gint *flag_2g, gint > *flag_3g, gint *flag_4g); > > #endif /* MM_MODEM_HELPERS_TELIT_H */ > > diff --git a/plugins/telit/tests/test-mm-modem-helpers-telit.c > b/plugins/telit/tests/test-mm-modem-helpers-telit.c > > index cac10fb..bfdde89 100644 > > --- a/plugins/telit/tests/test-mm-modem-helpers-telit.c > > +++ b/plugins/telit/tests/test-mm-modem-helpers-telit.c > > @@ -313,8 +313,196 @@ test_parse_current_bands_response (void) { > > } > > } > > > > +static void > > +test_telit_get_2g_bnd_flag (void) > > +{ > > + GArray *bands_array; > > + gint flag2g; > > + MMModemBand egsm = MM_MODEM_BAND_EGSM; > > + MMModemBand dcs = MM_MODEM_BAND_DCS; > > + MMModemBand pcs = MM_MODEM_BAND_PCS; > > + MMModemBand g850 = MM_MODEM_BAND_G850; > > + > > + /* Test Flag 0 */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, egsm); > > + g_array_append_val (bands_array, dcs); > > + > > + mm_telit_get_band_flag (bands_array, &flag2g, NULL, NULL); > > + g_assert_cmpuint (flag2g, ==, 0); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 1 */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, egsm); > > + g_array_append_val (bands_array, pcs); > > + > > + mm_telit_get_band_flag (bands_array, &flag2g, NULL, NULL); > > + g_assert_cmpuint (flag2g, ==, 1); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 2 */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, g850); > > + g_array_append_val (bands_array, dcs); > > + > > + mm_telit_get_band_flag (bands_array, &flag2g, NULL, NULL); > > + g_assert_cmpuint (flag2g, ==, 2); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 3 */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, g850); > > + g_array_append_val (bands_array, pcs); > > + > > + mm_telit_get_band_flag (bands_array, &flag2g, NULL, NULL); > > + g_assert_cmpuint (flag2g, ==, 3); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test invalid band array */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, g850); > > + g_array_append_val (bands_array, egsm); > > + > > + mm_telit_get_band_flag (bands_array, &flag2g, NULL, NULL); > > + g_assert_cmpuint (flag2g, ==, -1); > > + g_array_free (bands_array, TRUE); > > +} > > > > > > +static void > > +test_telit_get_3g_bnd_flag (void) > > +{ > > + GArray *bands_array; > > + MMModemBand u2100 = MM_MODEM_BAND_U2100; > > + MMModemBand u1900 = MM_MODEM_BAND_U1900; > > + MMModemBand u850 = MM_MODEM_BAND_U850; > > + MMModemBand u900 = MM_MODEM_BAND_U900; > > + MMModemBand u17iv = MM_MODEM_BAND_U17IV; > > + MMModemBand u17ix = MM_MODEM_BAND_U17IX; > > + gint flag; > > + > > + /* Test flag 0 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, u2100); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 0); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 1 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, u1900); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 1); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 2 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, u850); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 2); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 3 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 3); > > + g_array_append_val (bands_array, u2100); > > + g_array_append_val (bands_array, u1900); > > + g_array_append_val (bands_array, u850); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 3); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 4 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, u1900); > > + g_array_append_val (bands_array, u850); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 4); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 5 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, u900); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 5); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 6 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, u2100); > > + g_array_append_val (bands_array, u900); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 6); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 7 */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, u17iv); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, 7); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test invalid band array */ > > + flag = -1; > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, u17ix); > > + > > + mm_telit_get_band_flag (bands_array, NULL, &flag, NULL); > > + g_assert_cmpint (flag, ==, -1); > > + g_array_free (bands_array, TRUE); > > +} > > + > > +static void > > +test_telit_get_4g_bnd_flag (void) > > +{ > > + GArray *bands_array; > > + MMModemBand eutran_i = MM_MODEM_BAND_EUTRAN_I; > > + MMModemBand eutran_ii = MM_MODEM_BAND_EUTRAN_II; > > + MMModemBand egsm = MM_MODEM_BAND_EGSM; > > + gint flag = -1; > > + > > + /* Test flag 1 */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, eutran_i); > > + > > + mm_telit_get_band_flag (bands_array, NULL, NULL, &flag); > > + g_assert_cmpint (flag, ==, 1); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test flag 3 */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 2); > > + g_array_append_val (bands_array, eutran_i); > > + g_array_append_val (bands_array, eutran_ii); > > + > > + mm_telit_get_band_flag (bands_array, NULL, NULL, &flag); > > + g_assert_cmpint (flag, ==, 3); > > + g_array_free (bands_array, TRUE); > > + > > + /* Test invalid bands array */ > > + bands_array = g_array_sized_new (FALSE, FALSE, sizeof > (MMModemBand), 1); > > + g_array_append_val (bands_array, egsm); > > + > > + mm_telit_get_band_flag (bands_array, NULL, NULL, &flag); > > + g_assert_cmpint (flag, ==, -1); > > + g_array_free (bands_array, TRUE); > > +} > > + > > int main (int argc, char **argv) > > { > > setlocale (LC_ALL, ""); > > @@ -327,5 +515,8 @@ int main (int argc, char **argv) > > g_test_add_func ("/MM/telit/bands/supported/parse_band_flag", > test_parse_band_flag_str); > > g_test_add_func ("/MM/telit/bands/supported/parse_bands_response", > test_parse_supported_bands_response); > > g_test_add_func ("/MM/telit/bands/current/parse_bands_response", > test_parse_current_bands_response); > > + g_test_add_func ("/MM/telit/bands/current/set_bands/2g", > test_telit_get_2g_bnd_flag); > > + g_test_add_func ("/MM/telit/bands/current/set_bands/3g", > test_telit_get_3g_bnd_flag); > > + g_test_add_func ("/MM/telit/bands/current/set_bands/4g", > test_telit_get_4g_bnd_flag); > > return g_test_run (); > > } > > -- > > 2.1.4 > > > > _______________________________________________ > > ModemManager-devel mailing list > > [email protected] > > https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel > > > > -- > Aleksander > https://aleksander.es >
_______________________________________________ ModemManager-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel
