diff options
author | Daniele Palmas <dnlplm@gmail.com> | 2025-05-09 11:31:21 +0200 |
---|---|---|
committer | Dan Williams <dan@ioncontrol.co> | 2025-05-19 08:59:00 -0500 |
commit | b0589932d790a4b5e4af16199c95333158aa469e (patch) | |
tree | 7c80eb2fe1dba9b4869b11c61a9f3fd820c59c3a /src/tests/test-modem-helpers.c | |
parent | ec218e7052b7fd85302d1f5c9b01086ef3e562d9 (diff) |
broadband-modem: support +CGEREP values different than 2
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
Diffstat (limited to 'src/tests/test-modem-helpers.c')
-rw-r--r-- | src/tests/test-modem-helpers.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c index a6755b0a..5ed5721d 100644 --- a/src/tests/test-modem-helpers.c +++ b/src/tests/test-modem-helpers.c @@ -2261,6 +2261,47 @@ test_cind_response_moto_v3m (void *f, gpointer d) } /*****************************************************************************/ +/* Test CGEREP test responses */ + +static void +test_cgerep_response (const gchar *str, + MM3gppCgerepMode expected_modes) +{ + gboolean ret; + MM3gppCgerepMode modes = MM_3GPP_CGEREP_MODE_NONE; + GError *error = NULL; + + ret = mm_3gpp_parse_cgerep_test_response (str, NULL, &modes, &error); + g_assert_no_error (error); + g_assert (ret); + + g_assert_cmpuint (modes, ==, expected_modes); +} + +static void +test_cgerep_response_telit_le910q1 (void) +{ + static const gchar *str = "+CGEREP: (0,1),(0)"; + static const MM3gppCgerepMode expected_modes = ( \ + MM_3GPP_CGEREP_MODE_DISCARD_URCS | \ + MM_3GPP_CGEREP_MODE_DISCARD_URCS_IF_LINK_RESERVED); + + test_cgerep_response (str, expected_modes); +} + +static void +test_cgerep_response_telit_ln920 (void) +{ + static const gchar *str = "+CGEREP: (0-2),(0,1)"; + static const MM3gppCgerepMode expected_modes = ( \ + MM_3GPP_CGEREP_MODE_DISCARD_URCS | \ + MM_3GPP_CGEREP_MODE_DISCARD_URCS_IF_LINK_RESERVED | \ + MM_3GPP_CGEREP_MODE_BUFFER_URCS_IF_LINK_RESERVED); + + test_cgerep_response (str, expected_modes); +} + +/*****************************************************************************/ /* Test +CGEV indication parsing */ typedef struct { @@ -5194,6 +5235,9 @@ int main (int argc, char **argv) g_test_suite_add (suite, TESTCASE (test_cind_response_linktop_lw273, NULL)); g_test_suite_add (suite, TESTCASE (test_cind_response_moto_v3m, NULL)); + g_test_suite_add (suite, TESTCASE (test_cgerep_response_telit_le910q1, NULL)); + g_test_suite_add (suite, TESTCASE (test_cgerep_response_telit_ln920, NULL)); + g_test_suite_add (suite, TESTCASE (test_cgev_indication, NULL)); g_test_suite_add (suite, TESTCASE (test_iccid_parse_quoted_swap_19_digit, NULL)); |