From 4aed814123b2582d3ccdc80c1893da4f72849cb9 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 5 Sep 2014 03:22:26 +0200 Subject: begin on test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- Makefile | 19 +++++++++++++++++-- src/Test.java | 37 +++++++++++++++++++++++++++++++++++++ src/libgamma/Libgamma.java | 7 ++++++- 3 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 src/Test.java diff --git a/Makefile b/Makefile index 0f54e92..c67d5f5 100644 --- a/Makefile +++ b/Makefile @@ -105,16 +105,19 @@ JAVA_OBJ = AdjustmentMethod CRTC CRTCInformation GammaRamps Libgamma Partition S # Java classes with native functions JAVA_H = AdjustmentMethod CRTC GammaRamps LibgammaException Partition Ramp Site +# .so files to create +SO_FILES = bin/libgamma-java.$(SO).$(LIB_VERSION) bin/libgamma-java.$(SO).$(LIB_MAJOR) bin/libgamma-java.$(SO) + .PHONY: all -all: lib +all: lib test .PHONY: lib lib: jar so .PHONY: so -so: bin/libgamma-java.$(SO).$(LIB_VERSION) bin/libgamma-java.$(SO).$(LIB_MAJOR) bin/libgamma-java.$(SO) +so: $(SO_FILES) .PHONY: jar jar: bin/jlibgamma.jar @@ -125,6 +128,9 @@ class: $(foreach O,$(JAVA_OBJ),obj/libgamma/$(O).class) .PHONY: header header: $(foreach H,$(JAVA_H),obj/libgamma_$(H).h) +.PHONY: test +test: bin/Test.class + bin/jlibgamma.jar: $(foreach O,$(JAVA_OBJ),obj/libgamma/$(O).class) @mkdir -p bin @@ -154,8 +160,17 @@ bin/libgamma-java.$(SO): @mkdir -p bin ln -sf libgamma-java.$(SO).$(LIB_VERSION) $@ +bin/Test.class: src/Test.java bin/jlibgamma.jar $(SO_FILES) + @mkdir -p bin + $(JAVAC) $(JAVAC_FLAGS) -cp 'src:bin/jlibgamma.jar' -s src -d bin $< + .PHONY: clean clean: -rm -r obj bin + +.PHONY: run-test +run-test: bin/Test.class + @env LD_LIBRARY_PATH=bin java -cp bin:bin/jlibgamma.jar Test + diff --git a/src/Test.java b/src/Test.java new file mode 100644 index 0000000..6002543 --- /dev/null +++ b/src/Test.java @@ -0,0 +1,37 @@ +/** + * jlibgamma — Display server abstraction layer for gamma ramp and Java + * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this library. If not, see . + */ +import libgamma.*; + + +/** + * jlibgamma test class. + */ +public class Test +{ + /** + * Main test function. + * + * @param args Command line arguments, excluding $0. + */ + public static void main(String[] args) + { + System.out.println(AdjustmentMethod.X_RANDR.is_available()); + } + +} + diff --git a/src/libgamma/Libgamma.java b/src/libgamma/Libgamma.java index 66e9999..dbb9d1c 100644 --- a/src/libgamma/Libgamma.java +++ b/src/libgamma/Libgamma.java @@ -32,7 +32,12 @@ class Libgamma return; Libgamma.initialised = true; - /* TODO load the library */ + try + { System.loadLibrary("gamma-java"); + } + catch (Throwable err) + { throw new Error(err); + } } -- cgit v1.2.3-70-g09d2