[Qemu-devel] [PATCH 12/24] tests/test-cutils: Cover qemu_strtosz() with trailing crap

Markus Armbruster posted 24 patches 8 years, 11 months ago
There is a newer version of this series
[Qemu-devel] [PATCH 12/24] tests/test-cutils: Cover qemu_strtosz() with trailing crap
Posted by Markus Armbruster 8 years, 11 months ago
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 tests/test-cutils.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tests/test-cutils.c b/tests/test-cutils.c
index 3dcd4c1..ec65d27 100644
--- a/tests/test-cutils.c
+++ b/tests/test-cutils.c
@@ -1463,6 +1463,23 @@ static void test_qemu_strtosz_invalid(void)
     g_assert(endptr == str);
 }
 
+static void test_qemu_strtosz_trailing(void)
+{
+    const char *str;
+    char *endptr = NULL;
+    int64_t res;
+
+    str = "123xxx";
+    res = qemu_strtosz(str, &endptr);
+    g_assert_cmpint(res, ==, 123 * M_BYTE);
+    g_assert(endptr == str + 3);
+
+    str = "1kiB";
+    res = qemu_strtosz(str, &endptr);
+    g_assert_cmpint(res, ==, 1024);
+    g_assert(endptr == str + 2);
+}
+
 static void test_qemu_strtosz_erange(void)
 {
     const char *str = "10E";
@@ -1676,6 +1693,8 @@ int main(int argc, char **argv)
                     test_qemu_strtosz_float);
     g_test_add_func("/cutils/strtosz/invalid",
                     test_qemu_strtosz_invalid);
+    g_test_add_func("/cutils/strtosz/trailing",
+                    test_qemu_strtosz_trailing);
     g_test_add_func("/cutils/strtosz/erange",
                     test_qemu_strtosz_erange);
     g_test_add_func("/cutils/strtosz/suffix-unit",
-- 
2.7.4


Re: [Qemu-devel] [PATCH 12/24] tests/test-cutils: Cover qemu_strtosz() with trailing crap
Posted by Eric Blake 8 years, 11 months ago
On 02/14/2017 04:25 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  tests/test-cutils.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

> diff --git a/tests/test-cutils.c b/tests/test-cutils.c
> index 3dcd4c1..ec65d27 100644
> --- a/tests/test-cutils.c
> +++ b/tests/test-cutils.c
> @@ -1463,6 +1463,23 @@ static void test_qemu_strtosz_invalid(void)
>      g_assert(endptr == str);
>  }
>  
> +static void test_qemu_strtosz_trailing(void)
> +{
> +    const char *str;
> +    char *endptr = NULL;
> +    int64_t res;
> +
> +    str = "123xxx";
> +    res = qemu_strtosz(str, &endptr);
> +    g_assert_cmpint(res, ==, 123 * M_BYTE);
> +    g_assert(endptr == str + 3);
> +
> +    str = "1kiB";

Personally, I think this one would be useful to support, but agree that
right now it should be handled as trailing garbage.

> +    res = qemu_strtosz(str, &endptr);
> +    g_assert_cmpint(res, ==, 1024);
> +    g_assert(endptr == str + 2);
> +}
> +


-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org