test work

This commit is contained in:
John Smith
2022-12-01 14:32:02 -05:00
parent e1be2bac67
commit e2153a34e4
13 changed files with 55 additions and 40 deletions

View File

@@ -14,7 +14,7 @@ default = []
rt-async-std = [ "async-std", "async-std-resolver", "async_executors/async_std", "rtnetlink?/smol_socket", "veilid-tools/rt-async-std" ]
rt-tokio = [ "tokio", "tokio-util", "tokio-stream", "trust-dns-resolver/tokio-runtime", "async_executors/tokio_tp", "async_executors/tokio_io", "async_executors/tokio_timer", "rtnetlink?/tokio_socket", "veilid-tools/rt-tokio" ]
veilid_core_android_tests = [ "dep:tracing-android" ]
veilid_core_android_tests = [ "dep:paranoid-android" ]
veilid_core_ios_tests = [ "dep:tracing-oslog" ]
tracking = []
@@ -130,7 +130,7 @@ jni = "^0"
jni-sys = "^0"
ndk = { version = "^0.7" }
ndk-glue = { version = "^0.7", features = ["logger"] }
tracing-android = { version = "^0", optional = true }
paranoid-android = { version = "^0", optional = true }
# Dependenices for all Unix (Linux, Android, MacOS, iOS)
[target.'cfg(unix)'.dependencies]

View File

@@ -201,8 +201,7 @@ impl VeilidCoreContext {
) -> Result<VeilidCoreContext, VeilidAPIError> {
cfg_if! {
if #[cfg(target_os = "android")] {
if crate::intf::utils::android::ANDROID_GLOBALS.lock().is_none() {
error!("Android globals are not set up");
if !crate::intf::android::is_android_ready() {
apibail_internal!("Android globals are not set up");
}
}

View File

@@ -1,5 +1,7 @@
use super::*;
use jni::objects::JString;
#[allow(dead_code)]
pub fn get_files_dir() -> String {
let aglock = ANDROID_GLOBALS.lock();
let ag = aglock.as_ref().unwrap();
@@ -24,6 +26,7 @@ pub fn get_files_dir() -> String {
.unwrap()
}
#[allow(dead_code)]
pub fn get_cache_dir() -> String {
let aglock = ANDROID_GLOBALS.lock();
let ag = aglock.as_ref().unwrap();

View File

@@ -29,6 +29,10 @@ pub fn veilid_core_setup_android(env: JNIEnv, ctx: JObject) {
});
}
pub fn is_android_ready() -> bool {
ANDROID_GLOBALS.lock().is_some()
}
pub fn get_android_globals() -> (JavaVM, GlobalRef) {
let globals_locked = ANDROID_GLOBALS.lock();
let globals = globals_locked.as_ref().unwrap();

View File

@@ -55,7 +55,7 @@ impl ProtectedStore {
// Attempt to open the secure keyring
cfg_if! {
if #[cfg(target_os = "android")] {
inner.keyring_manager = KeyringManager::new_secure(&c.program_name, intf::native::utils::android::get_android_globals()).ok();
inner.keyring_manager = KeyringManager::new_secure(&c.program_name, crate::intf::android::get_android_globals()).ok();
} else {
inner.keyring_manager = KeyringManager::new_secure(&c.program_name).ok();
}

View File

@@ -59,7 +59,7 @@ pub fn veilid_version() -> (u32, u32, u32) {
}
#[cfg(target_os = "android")]
pub use intf::utils::android::veilid_core_setup_android;
pub use intf::android::veilid_core_setup_android;
pub static DEFAULT_LOG_IGNORE_LIST: [&str; 21] = [
"mio",

View File

@@ -1,12 +1,9 @@
use super::native::*;
use crate::*;
use backtrace::Backtrace;
use jni::{
objects::GlobalRef, objects::JClass, objects::JObject, objects::JString, JNIEnv, JavaVM,
};
use lazy_static::*;
use jni::{objects::JClass, objects::JObject, JNIEnv};
use std::panic;
use tracing_subscriber::{filter, fmt, prelude::*};
use tracing_subscriber::prelude::*;
#[no_mangle]
#[allow(non_snake_case)]
@@ -15,7 +12,7 @@ pub extern "system" fn Java_com_veilid_veilid_1core_1android_1tests_MainActivity
_class: JClass,
ctx: JObject,
) {
crate::intf::utils::android::veilid_core_setup_android_tests(env, ctx);
veilid_core_setup_android_tests(env, ctx);
block_on(async {
run_all_tests().await;
})
@@ -24,10 +21,9 @@ pub extern "system" fn Java_com_veilid_veilid_1core_1android_1tests_MainActivity
pub fn veilid_core_setup_android_tests(env: JNIEnv, ctx: JObject) {
// Set up subscriber and layers
let filter = VeilidLayerFilter::new(VeilidConfigLogLevel::Trace, None);
let layer = tracing_android::layer("veilid-core").expect("failed to set up android logging");
let layer = paranoid_android::layer("veilid-core");
tracing_subscriber::registry()
.with(filter)
.with(layer)
.with(layer.with_filter(filter))
.init();
// Set up panic hook for backtraces

View File

@@ -22,6 +22,9 @@ public class MainActivity extends AppCompatActivity {
}
public void run() {
run_tests(this.context);
((MainActivity)this.context).finish();
System.exit(0);
}
}
@@ -30,6 +33,7 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
run_tests(this.context);
this.testThread = new TestThread(this);
this.testThread.start();
}
}

View File

@@ -85,7 +85,7 @@ cfg_if! {
fn get_data_dir() -> PathBuf {
cfg_if! {
if #[cfg(target_os = "android")] {
PathBuf::from(intf::utils::android::get_files_dir())
PathBuf::from(crate::intf::android::get_files_dir())
} else {
use directories::*;