test work
This commit is contained in:
@@ -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]
|
||||
|
@@ -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");
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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",
|
||||
|
@@ -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
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -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::*;
|
||||
|
||||
|
Reference in New Issue
Block a user