commit 7cc9ab4212deb227ce2d5731a4267401bd5e4458
parent bc86814f6b3df8a32c996a2ade5960ad6e66ab1a
Author: Erik Agsjö <erik.agsjo@gmail.com>
Date: Sun, 12 Dec 2021 22:42:17 +0100
Android test cleanup
Diffstat:
8 files changed, 17 insertions(+), 240 deletions(-)
diff --git a/testrig/android/app/build.gradle b/testrig/android/app/build.gradle
@@ -11,7 +11,7 @@ android {
}
defaultConfig {
- applicationId 'com.example.naett'
+ applicationId 'naett.test'
minSdk 26
targetSdk 29
externalNativeBuild {
diff --git a/testrig/android/app/src/androidTest/java/com/example/naett/NaettTests.java b/testrig/android/app/src/androidTest/java/com/example/naett/NaettTests.java
@@ -1,14 +0,0 @@
-package com.example.naett;
-
-import org.junit.Test;
-import static org.junit.Assert.assertTrue;
-
-public class NaettTests {
- @Test
- public void naett_Test() {
- System.loadLibrary("native-activity");
- assertTrue(runTests() != 0);
- }
-
- private native int runTests();
-}
diff --git a/testrig/android/app/src/androidTest/java/naett/test/NaettTests.java b/testrig/android/app/src/androidTest/java/naett/test/NaettTests.java
@@ -0,0 +1,14 @@
+package naett.test;
+
+import org.junit.Test;
+import static org.junit.Assert.assertTrue;
+
+public class NaettTests {
+ @Test
+ public void naett_Test() {
+ System.loadLibrary("native-activity");
+ assertTrue(runTests() != 0);
+ }
+
+ private native int runTests();
+}
diff --git a/testrig/android/app/src/main/AndroidManifest.xml b/testrig/android/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.sedgelake.timogr"
+ package="naett.test"
android:versionCode="1"
android:versionName="1.0">
diff --git a/testrig/android/app/src/main/cpp/CMakeLists.txt b/testrig/android/app/src/main/cpp/CMakeLists.txt
@@ -19,22 +19,12 @@ cmake_minimum_required(VERSION 3.4.1)
set(${CMAKE_C_FLAGS}, "${CMAKE_C_FLAGS}")
add_library(naett STATIC ../../../../../../naett.c ../../../../../test.c)
-# now build app's shared lib
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -Wall -Werror")
-
-# Export ANativeActivity_onCreate(),
-# Refer to: https://github.com/android-ndk/ndk/issues/381.
-set(CMAKE_SHARED_LINKER_FLAGS
- "${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")
-
add_library(native-activity SHARED naettactivity.cpp)
-
target_include_directories(native-activity PRIVATE ../../../../../../)
# add lib dependencies
target_link_libraries(native-activity
naett
android
- EGL
- GLESv3
log)
diff --git a/testrig/android/app/src/main/cpp/jniglue.h b/testrig/android/app/src/main/cpp/jniglue.h
@@ -1,115 +0,0 @@
-#ifndef JNIGLUE_H
-#define JNIGLUE_H
-
-#include "log.h"
-
-class JNIGlue {
- public:
- JNIGlue(JavaVM* vm) {
- vm->GetEnv((void**)&_env, JNI_VERSION_1_6);
- _env->PushLocalFrame(100);
- }
-
- ~JNIGlue() {
- _env->PopLocalFrame(NULL);
- }
-
- jobject callObjectMethod(jclass clazz, const char* method, const char* signature, jobject instance, ...) {
- jmethodID methodID = _env->GetMethodID(clazz, method, signature);
- va_list args;
- va_start(args, instance);
- jobject result = _env->CallObjectMethodV(instance, methodID, args);
- va_end(args);
- checkException();
- return result;
- }
-
- jobject callObjectMethod(const char* className, const char* method, const char* signature, jobject instance, ...) {
- jmethodID methodID = getMethod(className, method, signature);
- va_list args;
- va_start(args, instance);
- jobject result = _env->CallObjectMethodV(instance, methodID, args);
- va_end(args);
- checkException();
- return result;
- }
-
- int callIntMethod(const char* className, const char* method, const char* signature, jobject instance, ...) {
- jmethodID methodID = getMethod(className, method, signature);
- va_list args;
- va_start(args, instance);
- int result = _env->CallIntMethodV(instance, methodID, args);
- va_end(args);
- checkException();
- return result;
- }
-
- void callVoidMethod(jobject instance, const char* method, const char* signature, ...) {
- jclass clazz = _env->GetObjectClass(instance);
- jmethodID methodID = _env->GetMethodID(clazz, method, signature);
- va_list args;
- va_start(args, signature);
- _env->CallVoidMethodV(instance, methodID, args);
- va_end(args);
- checkException();
- }
-
- void callVoidMethod(const char* className, const char* method, const char* signature, jobject instance, ...) {
- jmethodID methodID = getMethod(className, method, signature);
- va_list args;
- va_start(args, instance);
- _env->CallVoidMethodV(instance, methodID, args);
- va_end(args);
- checkException();
- }
-
- void callStaticVoidMethod(jclass clazz, const char* method, const char* signature, ...) {
- jmethodID methodID = _env->GetMethodID(clazz, method, signature);
- va_list args;
- va_start(args, signature);
- _env->CallStaticVoidMethodV(clazz, methodID, args);
- va_end(args);
- checkException();
- }
-
- int getStaticIntField(const char* className, const char* fieldName) {
- jclass clazz = _env->FindClass(className);
- jfieldID fieldID = _env->GetStaticFieldID(clazz, fieldName, "I");
- return _env->GetStaticIntField(clazz, fieldID);
- }
-
- void throwException(const char* message) {
- jclass clazz = _env->FindClass("java/lang/Exception");
- _env->ThrowNew(clazz, message);
- }
-
- private:
- void checkException() {
- if (_env->ExceptionCheck()) {
- jthrowable ex = _env->ExceptionOccurred();
- _env->ExceptionClear();
- jclass clazz = _env->GetObjectClass(ex);
- jmethodID getMessage = _env->GetMethodID(clazz, "getMessage", "()Ljava/lang/String;");
- jstring message = (jstring)_env->CallObjectMethod(ex, getMessage);
- const char* messageChars = _env->GetStringUTFChars(message, NULL);
- LOGE("JNI Exception: %s", messageChars);
- _env->ReleaseStringUTFChars(message, messageChars);
- }
- }
-
- jmethodID getMethod(const char* className, const char* method, const char* signature) {
- jclass clazz = _env->FindClass(className);
- jmethodID methodID = _env->GetMethodID(clazz, method, signature);
- return methodID;
- }
-
- jfieldID getStaticField(const char* className, const char* fieldName, const char* signature) {
- jclass clazz = _env->FindClass(className);
- jfieldID fieldID = _env->GetStaticFieldID(clazz, fieldName, signature);
- return fieldID;
- }
-
- JNIEnv* _env;
-};
-
-#endif // JNIGLUE_H
diff --git a/testrig/android/app/src/main/cpp/log.h b/testrig/android/app/src/main/cpp/log.h
@@ -1,14 +0,0 @@
-#ifndef LOG_H
-#define LOG_H
-
-#include <android/log.h>
-
-#ifndef NDEBUG
-# define LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, "timogr", __VA_ARGS__))
-#else
-# define LOGD(...) ((void)0)
-#endif
-#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "timogr", __VA_ARGS__))
-#define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, "timogr", __VA_ARGS__))
-
-#endif // LOG_H
diff --git a/testrig/android/app/src/main/cpp/naettactivity.cpp b/testrig/android/app/src/main/cpp/naettactivity.cpp
@@ -1,98 +1,14 @@
-#include <android/native_activity.h>
-
-#include "jniglue.h"
-#include "log.h"
#include "naett.h"
-static void onStart(ANativeActivity* activity) {
- LOGD("onStart");
-}
-
-static void onResume(ANativeActivity* activity) {
- LOGD("onResume");
-}
-
-static void* onSaveInstanceState(ANativeActivity* activity, size_t* outSize) {
- LOGD(__func__);
- return NULL;
-}
-
-static void onPause(ANativeActivity* activity) {
- LOGD("onPause");
-}
-
-static void onStop(ANativeActivity* activity) {
- LOGD("onStop");
-}
-
-static void onDestroy(ANativeActivity* activity) {
- LOGD("onDestroy");
-}
-
-static void onWindowFocusChanged(ANativeActivity* activity, int focused) {
-}
-
-static void onNativeWindowCreated(ANativeActivity* activity, ANativeWindow* window) {
- LOGD("onNativeWindowCreated");
-}
-
-static void onNativeWindowDestroyed(ANativeActivity* activity, ANativeWindow* window) {
- LOGD("onNativeWindowDestroyed");
-}
-
-static void onInputQueueCreated(ANativeActivity* activity, AInputQueue* queue) {
- LOGD(__func__);
-}
-
-static void onInputQueueDestroyed(ANativeActivity* activity, AInputQueue* queue) {
- LOGD(__func__);
-}
-
-static void onContentRectChanged(ANativeActivity* activity, const ARect* rect) {
- LOGD(__func__);
-}
-
-static void onConfigurationChanged(ANativeActivity* activity) {
- LOGD(__func__);
-}
-
-static void onLowMemory(ANativeActivity* activity) {
- LOGD(__func__);
-}
-
-JNIEXPORT
-void ANativeActivity_onCreate(ANativeActivity* activity, void* savedState, size_t savedStateSize) {
- LOGD("onCreate");
- activity->callbacks->onStart = onStart;
- activity->callbacks->onResume = onResume;
- activity->callbacks->onSaveInstanceState = onSaveInstanceState;
- activity->callbacks->onPause = onPause;
- activity->callbacks->onStop = onStop;
- activity->callbacks->onDestroy = onDestroy;
- activity->callbacks->onWindowFocusChanged = onWindowFocusChanged;
- activity->callbacks->onNativeWindowCreated = onNativeWindowCreated;
- activity->callbacks->onNativeWindowDestroyed = onNativeWindowDestroyed;
- activity->callbacks->onInputQueueCreated = onInputQueueCreated;
- activity->callbacks->onInputQueueDestroyed = onInputQueueDestroyed;
- activity->callbacks->onContentRectChanged = onContentRectChanged;
- activity->callbacks->onConfigurationChanged = onConfigurationChanged;
- activity->callbacks->onLowMemory = onLowMemory;
- activity->instance = 0;
-
- JNIEnv* env;
- activity->vm->GetEnv((void**)&env, JNI_VERSION_1_6);
-}
-
extern "C" {
int runTests(const char* endpoint);
JNIEXPORT
-int JNICALL Java_com_example_naett_NaettTests_runTests(JNIEnv* env, jobject obj) {
+int JNICALL Java_naett_test_NaettTests_runTests(JNIEnv* env, jobject obj) {
JavaVM* vm = nullptr;
env->GetJavaVM(&vm);
naettInit(vm);
return runTests("http://10.0.2.2:4711");
}
-
}