tkey: Provide a real tkey device with test.dts
It is sometimes useful to use a real TKey even when running with the test devicetree. Put it first, so it becomes the default. Update tests to select the emulator explicitly. Signed-off-by: Simon Glass <simon.glass@canonical.com>
This commit is contained in:
@@ -1124,6 +1124,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
tkey {
|
||||
compatible = "sandbox,tkey";
|
||||
sandbox,device-path = "/dev/ttyACM0";
|
||||
};
|
||||
|
||||
tkey-emul {
|
||||
compatible = "tkey,emul";
|
||||
};
|
||||
|
||||
@@ -28,10 +28,9 @@ CMD_TEST(cmd_test_tkey_help, UTF_DM | UTF_SCAN_FDT | UTF_CONSOLE);
|
||||
/* Test 'tkey' subcommands with emulator */
|
||||
static int cmd_test_tkey_sandbox(struct unit_test_state *uts)
|
||||
{
|
||||
struct udevice *dev;
|
||||
|
||||
/* TKey device should be available in sandbox */
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
/* Use tkey-emul for predictable test results */
|
||||
ut_assertok(run_command("tkey connect tkey-emul", 0));
|
||||
ut_assert_nextline("Connected to TKey device");
|
||||
|
||||
/* Test info command */
|
||||
ut_assertok(run_command("tkey info", 0));
|
||||
|
||||
@@ -16,8 +16,9 @@ static int dm_test_tkey_find(struct unit_test_state *uts)
|
||||
{
|
||||
struct udevice *dev;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
ut_assertnonnull(dev);
|
||||
ut_asserteq_str("tkey-emul", dev->name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -29,7 +30,7 @@ static int dm_test_tkey_get_udi(struct unit_test_state *uts)
|
||||
u8 udi[TKEY_UDI_SIZE];
|
||||
struct udevice *dev;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
ut_assertok(tkey_get_udi(dev, udi));
|
||||
|
||||
@@ -54,7 +55,7 @@ static int dm_test_tkey_get_name_version(struct unit_test_state *uts)
|
||||
struct udevice *dev;
|
||||
u32 version;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Get name and version */
|
||||
ut_assertok(tkey_get_name_version(dev, name0, name1, &version));
|
||||
@@ -74,7 +75,7 @@ static int dm_test_tkey_in_app_mode(struct unit_test_state *uts)
|
||||
struct udevice *dev;
|
||||
int ret;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Check mode - should be in firmware mode initially */
|
||||
ret = tkey_in_app_mode(dev);
|
||||
@@ -92,7 +93,7 @@ static int dm_test_tkey_load_app(struct unit_test_state *uts)
|
||||
u8 dummy_app[128];
|
||||
int ret;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Create a dummy app */
|
||||
memset(dummy_app, 0x42, sizeof(dummy_app));
|
||||
@@ -118,7 +119,7 @@ static int dm_test_tkey_get_pubkey(struct unit_test_state *uts)
|
||||
u8 dummy_app[128];
|
||||
int i;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Load a dummy app first */
|
||||
memset(dummy_app, 0x42, sizeof(dummy_app));
|
||||
@@ -149,7 +150,7 @@ static int dm_test_tkey_derive_wrapping_key(struct unit_test_state *uts)
|
||||
};
|
||||
struct udevice *dev;
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Derive wrapping key from password */
|
||||
ut_assertok(tkey_derive_wrapping_key(dev, password, wrapping_key));
|
||||
@@ -192,7 +193,7 @@ static int dm_test_tkey_derive_disk_key(struct unit_test_state *uts)
|
||||
struct udevice *dev;
|
||||
u8 dummy_app[128];
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Create a dummy signer app */
|
||||
memset(dummy_app, 0x42, sizeof(dummy_app));
|
||||
@@ -217,7 +218,7 @@ static int dm_test_tkey_udi_app_mode(struct unit_test_state *uts)
|
||||
struct udevice *dev;
|
||||
u8 dummy_app[128];
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Load an app to enter app mode */
|
||||
memset(dummy_app, 0x42, sizeof(dummy_app));
|
||||
@@ -240,7 +241,7 @@ static int dm_test_tkey_load_app_with_uss(struct unit_test_state *uts)
|
||||
u8 dummy_app[128];
|
||||
const char *uss = "my_secret";
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Create a dummy app */
|
||||
memset(dummy_app, 0x55, sizeof(dummy_app));
|
||||
@@ -270,7 +271,7 @@ static int dm_test_tkey_read_write(struct unit_test_state *uts)
|
||||
u8 write_buf[129]; /* Header + command */
|
||||
u8 read_buf[256];
|
||||
|
||||
ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev));
|
||||
ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev));
|
||||
|
||||
/* Prepare a GET_NAME_VERSION command */
|
||||
write_buf[0] = 0x10; /* Header: CMD, FIRMWARE endpoint */
|
||||
|
||||
Reference in New Issue
Block a user