diff options
author | Dan Williams <dcbw@redhat.com> | 2010-01-05 15:03:06 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-01-05 15:03:06 -0600 |
commit | c30f23e02c0759ddd333699c7d39fe53bdf159ac (patch) | |
tree | d4823fed69651f1a5745ceba19bff2d266179e06 /src | |
parent | 3988f53d2e9b9aae7eb4f6fb8c46dca55373ba6f (diff) |
gsm: add testcase for invalid +COPS response
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-modem-helpers.c | 3 | ||||
-rw-r--r-- | src/tests/test-modem-helpers.c | 26 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index dbf04d01..1741b5f0 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -50,6 +50,9 @@ save_scan_value (GHashTable *hash, const char *key, GMatchInfo *info, guint32 nu g_hash_table_insert (hash, g_strdup (key), quoted); } +/* If the response was successfully parsed (even if no valid entries were + * found) the pointer array will be returned. + */ GPtrArray * mm_gsm_parse_scan_response (const char *reply, GError **error) { diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c index 8ae27e54..ee2e7ddb 100644 --- a/src/tests/test-modem-helpers.c +++ b/src/tests/test-modem-helpers.c @@ -320,6 +320,30 @@ test_cops_response_n80 (void *f, gpointer d) test_results ("Nokia N80", reply, &expected[0], ARRAY_LEN (expected)); } +static void +test_cops_response_gsm_invalid (void *f, gpointer d) +{ + const char *reply = "+COPS: (0,1,2,3),(1,2,3,4)"; + GPtrArray *results; + GError *error = NULL; + + results = mm_gsm_parse_scan_response (reply, &error); + g_assert (results != NULL); + g_assert (error == NULL); +} + +static void +test_cops_response_umts_invalid (void *f, gpointer d) +{ + const char *reply = "+COPS: (0,1,2,3,4),(1,2,3,4,5)"; + GPtrArray *results; + GError *error = NULL; + + results = mm_gsm_parse_scan_response (reply, &error); + g_assert (results != NULL); + g_assert (error == NULL); +} + typedef void (*TCFunc)(void); @@ -351,6 +375,8 @@ int main (int argc, char **argv) g_test_suite_add (suite, TESTCASE (test_cops_response_f3607gw, NULL)); g_test_suite_add (suite, TESTCASE (test_cops_response_mc8775, NULL)); g_test_suite_add (suite, TESTCASE (test_cops_response_n80, NULL)); + g_test_suite_add (suite, TESTCASE (test_cops_response_gsm_invalid, NULL)); + g_test_suite_add (suite, TESTCASE (test_cops_response_umts_invalid, NULL)); return g_test_run (); } |