From 82686cfb9f48326ec0932ee0a7873df727c209b7 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Mon, 28 Feb 2022 12:29:02 -0500 Subject: [PATCH] JNI for test coverage #3965 --- .../test/java/com/rusefi/native_/JniSandbox.java | 12 +++++++++++- unit_tests/native/native_impl.cpp | 14 ++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/java_console/io/src/test/java/com/rusefi/native_/JniSandbox.java b/java_console/io/src/test/java/com/rusefi/native_/JniSandbox.java index 3811d8626d..143490ff48 100644 --- a/java_console/io/src/test/java/com/rusefi/native_/JniSandbox.java +++ b/java_console/io/src/test/java/com/rusefi/native_/JniSandbox.java @@ -1,13 +1,23 @@ package com.rusefi.native_; +import java.io.File; +import java.util.Arrays; + /** * Following VM option is needed to launch: * -Djava.library.path=../unit_tests/build */ public class JniSandbox { + + private static final String LIBNAME = "lib_rusefi_test"; + public static void main(String[] args) { - System.loadLibrary("lib_rusefi_test"); + String[] list = new File(".").list((dir, name) -> name.startsWith(LIBNAME)); + System.out.println(" " + Arrays.toString(list)); + System.loadLibrary(LIBNAME); + EngineLogic engineLogic = new EngineLogic(); System.out.println(engineLogic.getVersion()); + engineLogic.setConfiguration(new byte[4], 24, 14); } } diff --git a/unit_tests/native/native_impl.cpp b/unit_tests/native/native_impl.cpp index 303d20feea..7fd55a83fe 100644 --- a/unit_tests/native/native_impl.cpp +++ b/unit_tests/native/native_impl.cpp @@ -8,10 +8,24 @@ #include "pch.h" #include "com_rusefi_native__EngineLogic.h" +//static EngineTestHelper eth(TEST_ENGINE); + JNIEXPORT jstring JNICALL Java_com_rusefi_native_1_EngineLogic_getVersion(JNIEnv * env, jobject) { const char msg[60] = "Hello from unit tests"; const char* fileName = msg; jstring result = env->NewStringUTF(msg); + printf("[native] hello\n"); return result; } +JNIEXPORT jbyteArray JNICALL Java_com_rusefi_native_1_EngineLogic_getConfiguration(JNIEnv *env, jobject) { + return nullptr; +} + + +JNIEXPORT void JNICALL Java_com_rusefi_native_1_EngineLogic_setConfiguration(JNIEnv *env, jobject instance, + jbyteArray data, jint offset, jint size) { + + printf("[native] setConfiguration %d %d\n", offset, size); +// printf("[native] engine %d %d\n", engineConfiguration->engineType); +}