Skip to content

Commit

Permalink
Add simple CLI tool to enable firmware update mode on NK Storage
Browse files Browse the repository at this point in the history
Signed-off-by: Szczepan Zalega <[email protected]>
  • Loading branch information
szszszsz committed Jun 24, 2019
1 parent 3ede630 commit 77f9214
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
5 changes: 4 additions & 1 deletion unittest/conftest.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
Copyright (c) 2015-2018 Nitrokey UG
Copyright (c) 2015-2019 Nitrokey UG
This file is part of libnitrokey.
Expand Down Expand Up @@ -31,6 +31,9 @@
log = getLogger('conftest')
print = log.debug

def get_device_type():
return device_type


def skip_if_device_version_lower_than(allowed_devices):
global device_type
Expand Down
47 changes: 47 additions & 0 deletions unittest/libnk-tool.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env python3

"""
Copyright (c) 2015-2019 Nitrokey UG
This file is part of libnitrokey.
libnitrokey is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
libnitrokey is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with libnitrokey. If not, see <http://www.gnu.org/licenses/>.
SPDX-License-Identifier: LGPL-3.0
"""

import click

from conftest import get_library, get_device_type
from constants import DefaultPasswords, DeviceErrorCode


@click.group()
def cli():
pass


@click.command()
def update():
libnk = get_library(None)
device_type = get_device_type()
print(device_type)
assert device_type[0] == 'S'
assert libnk.NK_enable_firmware_update(DefaultPasswords.UPDATE) == DeviceErrorCode.STATUS_OK


cli.add_command(update)

if __name__ == '__main__':
cli()

0 comments on commit 77f9214

Please sign in to comment.