From 2df8bb7f9da3231cb5a7153401d524feb7409642 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Thu, 1 Feb 2018 12:08:52 +0100 Subject: Add test for enabling firmware update Signed-off-by: Szczepan Zalega --- NK_C_API.h | 5 +++-- unittest/test_storage.py | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/NK_C_API.h b/NK_C_API.h index ba6b7eb..01290d8 100644 --- a/NK_C_API.h +++ b/NK_C_API.h @@ -479,8 +479,9 @@ extern "C" { * When device is in update mode it no longer accepts any HID commands until * firmware is launched (regardless of being updated or not). * Smartcard (through CCID interface) and its all volumes are not visible as well. - * Its VID and PID are changed to factory-default to be detected by flashing software. - * Result of this command can be reversed by using 'launch' command. + * Its VID and PID are changed to factory-default (03eb:2ff1 Atmel Corp.) + * to be detected by flashing software. Result of this command can be reversed + * by using 'launch' command. * For dfu-programmer it would be: 'dfu-programmer at32uc3a3256s launch'. * Storage only * @param update_password 20 characters diff --git a/unittest/test_storage.py b/unittest/test_storage.py index 0f3e04e..67bbf8b 100644 --- a/unittest/test_storage.py +++ b/unittest/test_storage.py @@ -318,6 +318,15 @@ def test_change_update_password(C): assert C.NK_change_update_password(DefaultPasswords.UPDATE_TEMP, DefaultPasswords.UPDATE) == DeviceErrorCode.STATUS_OK +@pytest.mark.skip(reason='no reversing method added yet') +@pytest.mark.update +def test_enable_firmware_update(C): + skip_if_device_version_lower_than({'S': 50}) + wrong_password = b'aaaaaaaaaaa' + assert C.NK_enable_firmware_update(wrong_password) == DeviceErrorCode.WRONG_PASSWORD + assert C.NK_enable_firmware_update(DefaultPasswords.UPDATE) == DeviceErrorCode.STATUS_OK + + @pytest.mark.other def test_send_startup(C): skip_if_device_version_lower_than({'S': 43}) -- cgit v1.2.3