1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

tests/periph_eeprom: cleanup + add auto tests for clear and set

This commit is contained in:
Alexandre Abadie 2018-12-04 10:28:47 +01:00
parent c97bedcd8b
commit 3e8c113c59

View File

@ -150,7 +150,7 @@ static int cmd_set(int argc, char **argv)
uint32_t count = atoi(argv[3]);
if (strlen(argv[2]) != 1) {
puts("Failed: char must a single digit");
puts("Failed: char must be a single digit");
return 1;
}
@ -216,24 +216,25 @@ static int cmd_test(int argc, char **argv)
return 1;
}
const char *test = "test";
const char *expected = "test";
/* test read/write function */
/* read/write from beginning of EEPROM */
size_t ret = eeprom_write(0, (uint8_t *)test, 4);
size_t ret = eeprom_write(0, (uint8_t *)expected, 4);
assert(ret == 4);
char *expected[4];
ret = eeprom_read(0, (uint8_t *)expected, 4);
assert(strncmp((const char *)expected, (const char *)test, 4) == 0);
char *result[4];
ret = eeprom_read(0, (uint8_t *)result, 4);
assert(strncmp((const char *)result, (const char *)expected, 4) == 0);
assert(ret == 4);
/* read/write at end of EEPROM */
ret = eeprom_write(EEPROM_SIZE - 4, (uint8_t *)test, 4);
ret = eeprom_write(EEPROM_SIZE - 4, (uint8_t *)expected, 4);
assert(ret == 4);
ret = eeprom_read(EEPROM_SIZE - 4, (uint8_t *)expected, 4);
assert(strncmp((const char *)expected, test, 4) == 0);
memset(result, 0, 4);
ret = eeprom_read(EEPROM_SIZE - 4, (uint8_t *)result, 4);
assert(strncmp((const char *)result, expected, 4) == 0);
assert(ret == 4);
/* read/write single byte */
@ -244,6 +245,30 @@ static int cmd_test(int argc, char **argv)
eeprom_write_byte(EEPROM_SIZE / 2, 'A');
assert(eeprom_read_byte(EEPROM_SIZE / 2) == 'A');
/* clear some bytes */
eeprom_clear(0, 4);
memset(result, 0, 4);
ret = eeprom_read(0, (uint8_t *)result, 4);
assert(strncmp((const char *)result, "", 4) == 0);
assert(ret == 4);
eeprom_clear(EEPROM_SIZE - 4, 4);
ret = eeprom_read(EEPROM_SIZE - 4, (uint8_t *)result, 4);
assert(strncmp((const char *)result, "", 4) == 0);
assert(ret == 4);
/* set some bytes */
eeprom_set(0, 'A', 4);
ret = eeprom_read(0, (uint8_t *)result, 4);
assert(strncmp((const char *)result, "AAAA", 4) == 0);
assert(ret == 4);
memset(result, 0, 4);
eeprom_set(EEPROM_SIZE - 4, 'A', 4);
ret = eeprom_read(EEPROM_SIZE - 4, (uint8_t *)result, 4);
assert(strncmp((const char *)result, "AAAA", 4) == 0);
assert(ret == 4);
puts("SUCCESS");
return 0;
}