mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-18 10:54:37 +00:00
test/dm: add sandbox test for sysinfo_get_data
Adding sysinfo_get_data into sandbox ut test dm_test_sysinfo. Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
This commit is contained in:
parent
dc8053eaee
commit
3914a2e0dc
3 changed files with 26 additions and 0 deletions
|
@ -13,6 +13,7 @@ struct sysinfo_sandbox_priv {
|
|||
bool called_detect;
|
||||
int test_i1;
|
||||
int test_i2;
|
||||
u32 test_data[2];
|
||||
};
|
||||
|
||||
char vacation_spots[][64] = {"R'lyeh", "Dreamlands", "Plateau of Leng",
|
||||
|
@ -24,6 +25,8 @@ int sysinfo_sandbox_detect(struct udevice *dev)
|
|||
|
||||
priv->called_detect = true;
|
||||
priv->test_i2 = 100;
|
||||
priv->test_data[0] = 0xabcdabcd;
|
||||
priv->test_data[1] = 0xdeadbeef;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -79,6 +82,21 @@ int sysinfo_sandbox_get_str(struct udevice *dev, int id, size_t size, char *val)
|
|||
return -ENOENT;
|
||||
}
|
||||
|
||||
int sysinfo_sandbox_get_data(struct udevice *dev, int id, void **buf,
|
||||
size_t *size)
|
||||
{
|
||||
struct sysinfo_sandbox_priv *priv = dev_get_priv(dev);
|
||||
|
||||
switch (id) {
|
||||
case DATA_TEST:
|
||||
*buf = priv->test_data;
|
||||
*size = sizeof(priv->test_data);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
static const struct udevice_id sysinfo_sandbox_ids[] = {
|
||||
{ .compatible = "sandbox,sysinfo-sandbox" },
|
||||
{ /* sentinel */ }
|
||||
|
@ -89,6 +107,7 @@ static const struct sysinfo_ops sysinfo_sandbox_ops = {
|
|||
.get_bool = sysinfo_sandbox_get_bool,
|
||||
.get_int = sysinfo_sandbox_get_int,
|
||||
.get_str = sysinfo_sandbox_get_str,
|
||||
.get_data = sysinfo_sandbox_get_data,
|
||||
};
|
||||
|
||||
int sysinfo_sandbox_probe(struct udevice *dev)
|
||||
|
|
|
@ -9,4 +9,5 @@ enum {
|
|||
INT_TEST1,
|
||||
INT_TEST2,
|
||||
STR_VACATIONSPOT,
|
||||
DATA_TEST,
|
||||
};
|
||||
|
|
|
@ -19,6 +19,9 @@ static int dm_test_sysinfo(struct unit_test_state *uts)
|
|||
bool called_detect = false;
|
||||
char str[64];
|
||||
int i;
|
||||
void *data = NULL;
|
||||
size_t data_size = 0;
|
||||
u32 gdata[] = {0xabcdabcd, 0xdeadbeef};
|
||||
|
||||
ut_assertok(sysinfo_get(&sysinfo));
|
||||
ut_assert(sysinfo);
|
||||
|
@ -57,6 +60,9 @@ static int dm_test_sysinfo(struct unit_test_state *uts)
|
|||
str));
|
||||
ut_assertok(strcmp(str, "Yuggoth"));
|
||||
|
||||
ut_assertok(sysinfo_get_data(sysinfo, DATA_TEST, &data, &data_size));
|
||||
ut_assertok(memcmp(gdata, data, data_size));
|
||||
|
||||
return 0;
|
||||
}
|
||||
DM_TEST(dm_test_sysinfo, UTF_SCAN_PDATA | UTF_SCAN_FDT);
|
||||
|
|
Loading…
Add table
Reference in a new issue