From 7eb19add920b2e4d2bd9818cdfa3336ffc55e129 Mon Sep 17 00:00:00 2001 From: Szczepan Zalega Date: Sat, 5 Mar 2016 14:13:04 +0100 Subject: adding first unit tests --- unittest/Makefile | 2 +- unittest/test.cc | 30 ++++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/unittest/Makefile b/unittest/Makefile index 145c738..7606c65 100644 --- a/unittest/Makefile +++ b/unittest/Makefile @@ -2,7 +2,7 @@ CC = $(PREFIX)-gcc CXX = $(PREFIX)-g++ LD = $(CXX) -INCLUDE = -I../include +INCLUDE = -I../include -ICatch/single_include/ LIB = -L../build LDLIBS = -lnitrokey BUILD = build diff --git a/unittest/test.cc b/unittest/test.cc index 7081144..2dfd325 100644 --- a/unittest/test.cc +++ b/unittest/test.cc @@ -1,3 +1,6 @@ +#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() +#include "catch.hpp" + #include #include #include "device_proto.h" @@ -9,9 +12,18 @@ using namespace nitrokey::device; using namespace nitrokey::proto::stick10; using namespace nitrokey::log; -int main() { +//int main() { + +std::string getSlotName(Stick10& stick, int slotNo){ + ReadSlot::CommandTransaction::CommandPayload slot_req; + slot_req.slot_number = slotNo; + auto slot = ReadSlot::CommandTransaction::run(stick, slot_req); + std::string sName(reinterpret_cast(slot.slot_name)); + return sName; +} + +TEST_CASE( "Slot names are correct", "[slotNames]" ) { Stick10 stick; - cout << stick.connect() << endl; Log::instance().set_loglevel(Loglevel::DEBUG_L2); @@ -26,12 +38,14 @@ int main() { } { - for (int i=0x20; i<0x25; i++) { - ReadSlot::CommandTransaction::CommandPayload slot_req; - slot_req.slot_number = i; - auto slot = ReadSlot::CommandTransaction::run(stick, slot_req); - auto resp = GetStatus::CommandTransaction::run(stick); - } + //for (int i=0x20; i<0x23; i++) { + // ReadSlot::CommandTransaction::CommandPayload slot_req; + // slot_req.slot_number = i; + // auto slot = ReadSlot::CommandTransaction::run(stick, slot_req); + //} + REQUIRE( getSlotName(stick, 0x20) == std::string("slot1") ); + REQUIRE( getSlotName(stick, 0x21) == std::string("slot2") ); + REQUIRE( getSlotName(stick, 0x22) == std::string("slot3") ); } stick.disconnect(); } -- cgit v1.2.3