diff options
Diffstat (limited to 'unittest')
-rw-r--r-- | unittest/Makefile | 28 | ||||
-rw-r--r-- | unittest/test.cc | 35 |
2 files changed, 63 insertions, 0 deletions
diff --git a/unittest/Makefile b/unittest/Makefile new file mode 100644 index 0000000..6e504e8 --- /dev/null +++ b/unittest/Makefile @@ -0,0 +1,28 @@ +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)/%) + +$(BUILD)/%: %.cc + $(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/test.cc b/unittest/test.cc new file mode 100644 index 0000000..652d909 --- /dev/null +++ b/unittest/test.cc @@ -0,0 +1,35 @@ +#include <iostream> +#include <string.h> +#include "device_proto.h" +#include "device.h" + +using namespace std; + +using namespace device; +using namespace proto; +using namespace proto::stick10::command; + +int main() { + Stick20 stick; + cout << stick.connect() << endl; + + { + auto resp = GetStatus::CommandTransaction::run(stick); + cout << resp.firmware_version << endl; + } + + { + FirstAuthenticate::CommandTransaction::CommandPayload authreq; + strcpy((char *)(authreq.card_password), "12345678"); + FirstAuthenticate::CommandTransaction::run(stick, authreq); + } + + { + for (int i=0; i<32; i++) { + GetSlotName::CommandTransaction::CommandPayload slotname_req; + slotname_req.slot_number=i; + auto slot_resp = GetSlotName::CommandTransaction::run(stick); + cout << slot_resp.slot_name << endl; + } + } +} |