From 34e327e314e5ab88eae2cea0167223b74ba70d5e Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 3 Sep 2020 18:18:26 -0400 Subject: util: add unittests for constant bases Make sure that base 8/10/16 constants work. Bug: None Test: `make check` passes Change-Id: I6047959e8bda706b07aba92eaf0131fde8908246 --- util_unittest.cc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/util_unittest.cc b/util_unittest.cc index f84df8e2..35a99e5d 100644 --- a/util_unittest.cc +++ b/util_unittest.cc @@ -160,6 +160,27 @@ TEST(environment, copy_and_modify) { minijail_free_env(env); } +TEST(parse_single_constant, formats) { + char *end; + long int c = 0; + std::string constant; + + // Check base 10 works. + constant = "1234"; + c = parse_constant(const_cast(constant.data()), &end); + EXPECT_EQ(1234, c); + + // Check base 16 works. + constant = "0x1234"; + c = parse_constant(const_cast(constant.data()), &end); + EXPECT_EQ(0x1234, c); + + // Check base 8 works. + constant = "01234"; + c = parse_constant(const_cast(constant.data()), &end); + EXPECT_EQ(01234, c); +} + TEST(parse_constant, unsigned) { char *end; long int c = 0; -- cgit v1.2.3