From f5a95804af1bcf04f3e9d3e863243531fd77373b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 31 May 2015 12:42:52 -0400 Subject: [PATCH] unittest_ceph_argparse: test float parsing Signed-off-by: Sage Weil --- src/test/ceph_argparse.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/test/ceph_argparse.cc b/src/test/ceph_argparse.cc index f48f387f9ffb6..f846db7291890 100644 --- a/src/test/ceph_argparse.cc +++ b/src/test/ceph_argparse.cc @@ -280,6 +280,30 @@ TEST(CephArgParse, WithDashesAndUnderscores) { ASSERT_EQ(found_baz, ""); } +TEST(CephArgParse, WithFloat) { + const char *BAZSTUFF1[] = { "./myprog", "--foo", "50.5", "--bar", "52", NULL }; + + VectorContainer bazstuff1(BAZSTUFF1); + ostringstream err; + float foo; + int bar = -1; + for (std::vector::iterator i = bazstuff1.arr.begin(); + i != bazstuff1.arr.end(); ) + { + if (ceph_argparse_double_dash(bazstuff1.arr, i)) { + break; + } else if (ceph_argparse_witharg(bazstuff1.arr, i, &foo, err, "--foo", (char*)NULL)) { + ASSERT_EQ(string(""), err.str()); + } else if (ceph_argparse_witharg(bazstuff1.arr, i, &bar, err, "--bar", (char*)NULL)) { + ASSERT_EQ(string(""), err.str()); + } + else { + ++i; + } + } + ASSERT_EQ(foo, 50.5); + ASSERT_EQ(bar, 52); +} TEST(CephArgParse, WithInt) { const char *BAZSTUFF1[] = { "./myprog", "--foo", "50", "--bar", "52", NULL }; -- 2.39.5