]> git.proxmox.com Git - proxmox-backup.git/blobdiff - tests/worker-task-abort.rs
api: add world accessible ping dummy endpoint
[proxmox-backup.git] / tests / worker-task-abort.rs
index 733e09f564140392d174ea3ecd6df65c9585e499..360d17da0f10f61e278a49d1489e4ce1caa27d7b 100644 (file)
@@ -1,4 +1,4 @@
-use failure::*;
+use anyhow::{bail, Error};
 
 #[macro_use]
 extern crate proxmox_backup;
@@ -6,9 +6,7 @@ extern crate proxmox_backup;
 extern crate tokio;
 extern crate nix;
 
-use tokio::prelude::future::lazy;
-
-use proxmox::tools::try_block;
+use proxmox::try_block;
 
 use proxmox_backup::server;
 use proxmox_backup::tools;
@@ -41,7 +39,8 @@ fn worker_task_abort() -> Result<(), Error> {
     let errmsg: Arc<Mutex<Option<String>>> = Arc::new(Mutex::new(None));
     let errmsg1 = errmsg.clone();
 
-    tokio::run(lazy(move ||  {
+    let mut rt = tokio::runtime::Runtime::new().unwrap();
+    rt.block_on(async move {
 
         let init_result: Result<(), Error> = try_block!({
             server::create_task_control_socket()?;
@@ -51,25 +50,31 @@ fn worker_task_abort() -> Result<(), Error> {
 
         if let Err(err) = init_result {
             eprintln!("unable to start daemon - {}", err);
-            return Ok(());
+            return;
         }
 
         let errmsg = errmsg1.clone();
-        let res = server::WorkerTask::new_thread("garbage_collection", None, "root@pam", true, move |worker| {
-            println!("WORKER {}", worker);
-
-            let result = garbage_collection(&worker);
-            tools::request_shutdown();
-
-            if let Err(err) = result {
-                println!("got expected error: {}", err);
-            } else {
-                let mut data = errmsg.lock().unwrap();
-                *data = Some(String::from("thread finished - seems abort did not work as expected"));
-            }
-
-            Ok(())
-        });
+        let res = server::WorkerTask::new_thread(
+            "garbage_collection",
+            None,
+            proxmox_backup::api2::types::Userid::root_userid().clone(),
+            true,
+            move |worker| {
+                println!("WORKER {}", worker);
+
+                let result = garbage_collection(&worker);
+                tools::request_shutdown();
+
+                if let Err(err) = result {
+                    println!("got expected error: {}", err);
+                } else {
+                    let mut data = errmsg.lock().unwrap();
+                    *data = Some(String::from("thread finished - seems abort did not work as expected"));
+                }
+
+                Ok(())
+            },
+        );
 
         match res {
             Err(err) => {
@@ -80,10 +85,7 @@ fn worker_task_abort() -> Result<(), Error> {
                 server::abort_worker_async(wid.parse::<server::UPID>().unwrap());
             }
         }
-
-        Ok(())
-    }));
-
+    });
 
     let data = errmsg.lock().unwrap();
     match *data {