diff options
| -rw-r--r-- | CMakeLists.txt | 13 | ||||
| -rw-r--r-- | unittest/test_issues.cc | 78 | 
2 files changed, 86 insertions, 5 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index b1103db..6741b18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,19 +114,22 @@ IF (COMPILE_TESTS)      add_library(catch SHARED unittest/catch_main.cpp )      add_executable (test_C_API unittest/test_C_API.cpp) -    target_link_libraries (test_C_API ${EXTRA_LIBS} ${LIBNAME} catch) +    target_link_libraries (test_C_API ${EXTRA_LIBS} ${LIBNAME}-log catch)      add_executable (test2 unittest/test2.cc) -    target_link_libraries (test2 ${EXTRA_LIBS} ${LIBNAME} catch) +    target_link_libraries (test2 ${EXTRA_LIBS} ${LIBNAME}-log catch)      add_executable (test3 unittest/test3.cc) -    target_link_libraries (test3 ${EXTRA_LIBS} ${LIBNAME} catch) +    target_link_libraries (test3 ${EXTRA_LIBS} ${LIBNAME}-log catch)      add_executable (test_HOTP unittest/test_HOTP.cc) -    target_link_libraries (test_HOTP ${EXTRA_LIBS} ${LIBNAME} catch) +    target_link_libraries (test_HOTP ${EXTRA_LIBS} ${LIBNAME}-log catch)      add_executable (test1 unittest/test.cc) -    target_link_libraries (test1 ${EXTRA_LIBS} ${LIBNAME} catch) +    target_link_libraries (test1 ${EXTRA_LIBS} ${LIBNAME}-log catch) + +    add_executable (test_issues unittest/test_issues.cc) +    target_link_libraries (test_issues ${EXTRA_LIBS} ${LIBNAME}-log catch)      #run with 'make test' or 'ctest'      #needs connected PRO device for success 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 <NitrokeyManager.h> + +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()); +} | 
