tests: add (negative) "." test case for rational conversion
A naive implementation of the parse rational conversion helper could have accepted invalid input. Check for the expected conversion failure.
This commit is contained in:
parent
74d915331a
commit
081aaebfc7
|
@ -125,6 +125,15 @@ static void test_rational(const char *input, struct sr_rational expected)
|
||||||
input, rational.p, rational.q);
|
input, rational.p, rational.q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_rational_fail(const char *input)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
struct sr_rational rational;
|
||||||
|
|
||||||
|
ret = sr_parse_rational(input, &rational);
|
||||||
|
fail_unless(ret != SR_OK, "Unexpected success for '%s'.", input);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_voltage(uint64_t v_p, uint64_t v_q, const char *expected)
|
static void test_voltage(uint64_t v_p, uint64_t v_q, const char *expected)
|
||||||
{
|
{
|
||||||
char *s;
|
char *s;
|
||||||
|
@ -395,6 +404,9 @@ START_TEST(test_fractional)
|
||||||
test_rational("-.1", (struct sr_rational){-1, 10});
|
test_rational("-.1", (struct sr_rational){-1, 10});
|
||||||
test_rational(" .1", (struct sr_rational){1, 10});
|
test_rational(" .1", (struct sr_rational){1, 10});
|
||||||
test_rational("+.1", (struct sr_rational){1, 10});
|
test_rational("+.1", (struct sr_rational){1, 10});
|
||||||
|
test_rational_fail(".");
|
||||||
|
test_rational_fail(".e");
|
||||||
|
test_rational_fail(".e1");
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue