From 8f7435e4553916e6cc431e4b5316cc5861fd9063 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Tue, 27 Jun 2017 12:32:56 +0200 Subject: Add C++ tests for some current issues Issues: https://github.com/Nitrokey/nitrokey-storage-firmware/issues/36 https://github.com/Nitrokey/nitrokey-storage-firmware/issues/31 Signed-off-by: Szczepan Zalega --- unittest/test_issues.cc | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 unittest/test_issues.cc (limited to 'unittest') diff --git a/unittest/test_issues.cc b/unittest/test_issues.cc new file mode 100644 index 0000000..ec3f933 --- /dev/null +++ b/unittest/test_issues.cc @@ -0,0 +1,78 @@ + +const char * const default_admin_pin = "12345678"; +const char * const default_user_pin = "123456"; +const char * const temporary_password = "123456789012345678901234"; +const char * const RFC_SECRET = "12345678901234567890"; +const char * const hidden_volume_pass = "123456789012345"; + +#include "catch.hpp" + +#include + +using namespace std; +using namespace nitrokey; + + +bool test_36(){ + auto i = NitrokeyManager::instance(); + i->set_debug(true); + REQUIRE(i->connect()); + + for (int j = 0; j < 200; ++j) { + i->get_status(); + i->get_status_storage_as_string(); + INFO( "Iteration: " << j); + } + return true; +} + +bool test_31(){ + auto i = NitrokeyManager::instance(); + i->set_debug(true); + REQUIRE(i->connect()); + +// i->unlock_encrypted_volume(default_user_pin); +// i->create_hidden_volume(0, 70, 80, hidden_volume_pass); +// i->lock_device(); + + try{ + i->get_password_safe_slot_status(); + } + catch (...){ + //pass + } + + i->get_status_storage(); + i->get_admin_retry_count(); + i->get_status_storage(); + i->get_user_retry_count(); + i->unlock_encrypted_volume(default_user_pin); + i->get_status_storage(); + i->get_password_safe_slot_status(); + i->get_status_storage(); + i->get_user_retry_count(); + i->get_password_safe_slot_status(); + i->get_status(); + i->get_status_storage(); + i->get_admin_retry_count(); + i->get_status(); + i->get_user_retry_count(); + i->unlock_hidden_volume(hidden_volume_pass); + i->get_status_storage(); + i->get_password_safe_slot_status(); + + + return true; +} + +TEST_CASE("issue 31", "[issue]"){ + for(int i=0; i<20; i++){ + REQUIRE(test_31()); + } +} + + + +TEST_CASE("issue 36", "[issue]"){ + REQUIRE(test_36()); +} -- cgit v1.2.3