diff options
Diffstat (limited to 'unittest')
-rw-r--r-- | unittest/Makefile | 32 | ||||
l--------- | unittest/build/libnitrokey.so | 1 | ||||
-rw-r--r-- | unittest/test.cc | 34 |
3 files changed, 67 insertions, 0 deletions
diff --git a/unittest/Makefile b/unittest/Makefile new file mode 100644 index 0000000..fb3f4ef --- /dev/null +++ b/unittest/Makefile @@ -0,0 +1,32 @@ +CC = $(PREFIX)-gcc +CXX = $(PREFIX)-g++ +LD = $(CXX) + +INCLUDE = -I../include +LIB = -L../build +LDLIBS = -lhidapi-libusb -lnitrokey +BUILD = build + +CXXFLAGS = -std=c++14 -fPIC + +CXXSOURCES = $(wildcard *.cc) +TARGETS = $(CXXSOURCES:%.cc=$(BUILD)/%) +DEPENDS = $(CXXSOURCES:%.cc=$(BUILD)/%.d) + +$(BUILD)/%.d: %.cc + $(CXX) -M $< -o $@ $(INCLUDE) $(CXXFLAGS) + +$(BUILD)/%: %.cc $(DEPENDS) + $(CXX) $< -o $@ $(INCLUDE) $(LIB) $(CXXFLAGS) $(LDLIBS) + +all: $(TARGETS) + +clean: + rm -f $(TARGETS) + +mrproper: clean + rm -f $(BUILD)/*.d + +.PHONY: all clean mrproper + +include $(wildcard build/*.d) diff --git a/unittest/build/libnitrokey.so b/unittest/build/libnitrokey.so new file mode 120000 index 0000000..69a5e22 --- /dev/null +++ b/unittest/build/libnitrokey.so @@ -0,0 +1 @@ +../../build/libnitrokey.so
\ No newline at end of file diff --git a/unittest/test.cc b/unittest/test.cc new file mode 100644 index 0000000..c0762a5 --- /dev/null +++ b/unittest/test.cc @@ -0,0 +1,34 @@ +#include <iostream> +#include <string.h> +#include "device_proto.h" +#include "log.h" +#include "stick10_commands.h" + +using namespace std; +using namespace nitrokey::device; +using namespace nitrokey::proto::stick10; +using namespace nitrokey::log; + +int main() { + Stick20 stick; + + Log::instance().set_loglevel(Loglevel::DEBUG); + + { + auto resp = GetStatus::CommandTransaction::run(stick); + } + + { + FirstAuthenticate::CommandTransaction::CommandPayload authreq; + strcpy((char *)(authreq.card_password), "12345678"); + FirstAuthenticate::CommandTransaction::run(stick, authreq); + } + + { + for (int i=0; i<10; i++) { + ReadSlot::CommandTransaction::CommandPayload slot_req; + slot_req.slot_number = i; + auto slot = ReadSlot::CommandTransaction::run(stick, slot_req); + } + } +} |