Private
Public Access
2
0

initio: Handle no-conversion case in mraa_atoi_x

If strtol fails to process any characters, return a failure.

Added protocol chunk string to each parse_xxx method for completeness
when printing to syslog.

Added more tests - passing and failing cases.

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2018-07-23 11:42:53 -07:00
parent 6fe510a27f
commit e772aec69d
2 changed files with 145 additions and 85 deletions

View File

@@ -43,30 +43,34 @@ class mraa_initio_h_unit : public ::testing::Test
virtual void TearDown() {}
};
/* Test for a successful AIO init. */
TEST_F(mraa_initio_h_unit, test_aio_init)
/* Test for an invalid AIO init. */
TEST_F(mraa_initio_h_unit, test_aio_init_invalid)
{
mraa_io_descriptor* desc;
mraa_result_t status;
status = mraa_io_init("a:0:10", &desc);
ASSERT_EQ(status, MRAA_SUCCESS);
status = mraa_io_close(desc);
ASSERT_EQ(status, MRAA_SUCCESS);
ASSERT_EQ(MRAA_ERROR_INVALID_HANDLE, mraa_io_init("a:bogus:10", &desc));
}
/* Test for a successful GPIO init. */
TEST_F(mraa_initio_h_unit, test_gpio_init)
/* Test for a valid AIO init. */
TEST_F(mraa_initio_h_unit, test_aio_init_valid)
{
mraa_io_descriptor* desc;
mraa_result_t status;
ASSERT_EQ(MRAA_SUCCESS, mraa_io_init("a:0:10", &desc));
ASSERT_EQ(MRAA_SUCCESS, mraa_io_close(desc));
}
status = mraa_io_init("g:0:1", &desc);
ASSERT_EQ(status, MRAA_SUCCESS);
/* Test for an invalid GPIO init. */
TEST_F(mraa_initio_h_unit, test_gpio_init_invalid)
{
mraa_io_descriptor* desc;
ASSERT_EQ(MRAA_ERROR_INVALID_HANDLE, mraa_io_init("g:0:34", &desc));
}
status = mraa_io_close(desc);
ASSERT_EQ(status, MRAA_SUCCESS);
/* Test for a valid GPIO init. */
TEST_F(mraa_initio_h_unit, test_gpio_init_valid)
{
mraa_io_descriptor* desc;
ASSERT_EQ(MRAA_SUCCESS, mraa_io_init("g:0:1", &desc));
ASSERT_EQ(MRAA_SUCCESS, mraa_io_close(desc));
}
/* Test for a successful I2C init. */