diff --git a/test/Makefile b/test/Makefile index 6f0426a81f63c4b59d7e00d6d898cd408be8d273..ec3b973cbfb61e19eb8fd25b3384f41b8eab1f12 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,8 +1,12 @@ CTEST = test_start_stop test_io test_moberg4simulink PYTEST=test_py +JULIATEST=test_jl CCFLAGS += -Wall -Werror -I$(shell pwd) -g LDFLAGS += -L$(shell pwd)/build/ -lmoberg -ENV_TEST = LD_LIBRARY_PATH=../build XDG_CONFIG_HOME=.config XDG_CONFIG_DIRS=. +ENV_TEST = LD_LIBRARY_PATH=../build \ + XDG_CONFIG_HOME=.config \ + XDG_CONFIG_DIRS=. \ + JULIA_LOAD_PATH=../adaptors/julia LDFLAGS_test_moberg4simulink = -lmoberg4simulink CCFLAGS_test_moberg4simulink = -I../adaptors/matlab -Wall -Werror -I$(shell pwd) -g PYTHON2PATH=$(shell realpath ../adaptors/python/install/usr/lib*/python2*/site-packages) @@ -10,7 +14,7 @@ PYTHON3PATH=$(shell realpath ../adaptors/python/install/usr/lib*/python3*/site-p all: .PHONY: test -test: $(PYTEST:%=run_py_%) $(CTEST:%=run_c_%) +test: $(PYTEST:%=run_py_%) $(JULIATEST:%=run_jl_%) $(CTEST:%=run_c_%) echo Tests run .PHONY: run_c_% @@ -22,6 +26,10 @@ run_py_%: %.py $(ENV_TEST) PYTHONPATH=$(PYTHON2PATH) python2 $*.py $(ENV_TEST) PYTHONPATH=$(PYTHON3PATH) python3 $*.py +.PHONY: run_jl_% +run_jl_%: %.jl + $(ENV_TEST) julia $*.jl + .PRECIOUS: build/% build/%: %.c | build diff --git a/test/test_jl.jl b/test/test_jl.jl new file mode 100644 index 0000000000000000000000000000000000000000..1ecd215b56963403f85645e796b93ae304eef7e8 --- /dev/null +++ b/test/test_jl.jl @@ -0,0 +1,66 @@ +#!/usr/bin/julia + +push!(LOAD_PATH, ".") + +using MobergIO +import MobergIO: read, write + +function test() + m = MobergIO.Moberg() + println(m) + + for v in -10.0:2.0:10 + for i in 0:1 + try + aout = MobergIO.AnalogOut(m, Unsigned(i)) + value = v + i; + write(aout, value) + print("$value ") + catch ex + println("analog_out $i does not exist $(ex)") + end + end + println() + sleep(0.01) + for j in 0:3 + try + ain = MobergIO.AnalogIn(m, Unsigned(j)) + println(read(ain)) + catch ex + println("analog_in $j does not exist $(ex)") + end + end + println() +# GC.gc() + end + for v in false:true + for i in 0:6 + try + dout = MobergIO.DigitalOut(m, Unsigned(i)) + value = xor(v, isodd(i)) + write(dout, value) + print("$value ") + catch ex + println("digital_out $i does not exist $(ex)") + end + end + println() + for i in 0:6 + try + din = MobergIO.DigitalIn(m, Unsigned(i)) + print("$(read(din)) ") + catch ex + println("digital_out $i does not exist $(ex)") + end + end + println() + println() + sleep(0.01) + end +end + +test() + +println("DONE") +GC.gc() +println("Really DONE")