about summary refs log tree commit diff
path: root/tvix/nix-compat/src/nar/writer/test.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/nix-compat/src/nar/writer/test.rs')
-rw-r--r--tvix/nix-compat/src/nar/writer/test.rs103
1 files changed, 49 insertions, 54 deletions
diff --git a/tvix/nix-compat/src/nar/writer/test.rs b/tvix/nix-compat/src/nar/writer/test.rs
index 7b1dd1a2a9..d7f18a49af 100644
--- a/tvix/nix-compat/src/nar/writer/test.rs
+++ b/tvix/nix-compat/src/nar/writer/test.rs
@@ -11,16 +11,14 @@ fn symlink() {
 }
 
 #[cfg(feature = "async")]
-#[test]
-fn symlink_async() {
+#[tokio::test]
+async fn symlink_async() {
     let mut buf = vec![];
 
-    futures::executor::block_on(async {
-        let node = nar::writer::r#async::open(&mut buf).await.unwrap();
-        node.symlink("/nix/store/somewhereelse".as_bytes())
-            .await
-            .unwrap();
-    });
+    let node = nar::writer::r#async::open(&mut buf).await.unwrap();
+    node.symlink("/nix/store/somewhereelse".as_bytes())
+        .await
+        .unwrap();
 
     assert_eq!(include_bytes!("../tests/symlink.nar"), buf.as_slice());
 }
@@ -42,22 +40,22 @@ fn file() {
 }
 
 #[cfg(feature = "async")]
-#[test]
-fn file_async() {
+#[tokio::test]
+async fn file_async() {
+    use std::io::Cursor;
+
     let mut buf = vec![];
 
-    futures::executor::block_on(async {
-        let node = nar::writer::r#async::open(&mut buf).await.unwrap();
+    let node = nar::writer::r#async::open(&mut buf).await.unwrap();
 
-        let file_contents = "Hello World!".to_string();
-        node.file(
-            false,
-            file_contents.len() as u64,
-            &mut futures::io::Cursor::new(file_contents),
-        )
-        .await
-        .unwrap();
-    });
+    let file_contents = "Hello World!".to_string();
+    node.file(
+        false,
+        file_contents.len() as u64,
+        &mut Cursor::new(file_contents),
+    )
+    .await
+    .unwrap();
 
     assert_eq!(include_bytes!("../tests/helloworld.nar"), buf.as_slice());
 }
@@ -93,41 +91,38 @@ fn complicated() {
 }
 
 #[cfg(feature = "async")]
-#[test]
-fn complicated_async() {
+#[tokio::test]
+async fn complicated_async() {
+    use std::io::Cursor;
+
     let mut buf = vec![];
 
-    futures::executor::block_on(async {
-        let node = nar::writer::r#async::open(&mut buf).await.unwrap();
-
-        let mut dir_node = node.directory().await.unwrap();
-
-        let e = dir_node.entry(".keep".as_bytes()).await.unwrap();
-        e.file(false, 0, &mut futures::io::Cursor::new([]))
-            .await
-            .expect("read .keep must succeed");
-
-        let e = dir_node.entry("aa".as_bytes()).await.unwrap();
-        e.symlink("/nix/store/somewhereelse".as_bytes())
-            .await
-            .expect("symlink must succeed");
-
-        let e = dir_node.entry("keep".as_bytes()).await.unwrap();
-        let mut subdir_node = e.directory().await.expect("directory must succeed");
-
-        let e_sub = subdir_node
-            .entry(".keep".as_bytes())
-            .await
-            .expect("subdir entry must succeed");
-        e_sub
-            .file(false, 0, &mut futures::io::Cursor::new([]))
-            .await
-            .unwrap();
-
-        // close the subdir, and then the dir, which is required.
-        subdir_node.close().await.unwrap();
-        dir_node.close().await.unwrap();
-    });
+    let node = nar::writer::r#async::open(&mut buf).await.unwrap();
+
+    let mut dir_node = node.directory().await.unwrap();
+
+    let e = dir_node.entry(".keep".as_bytes()).await.unwrap();
+    e.file(false, 0, &mut Cursor::new([]))
+        .await
+        .expect("read .keep must succeed");
+
+    let e = dir_node.entry("aa".as_bytes()).await.unwrap();
+    e.symlink("/nix/store/somewhereelse".as_bytes())
+        .await
+        .expect("symlink must succeed");
+
+    let e = dir_node.entry("keep".as_bytes()).await.unwrap();
+    let mut subdir_node = e.directory().await.expect("directory must succeed");
+
+    let e_sub = subdir_node
+        .entry(".keep".as_bytes())
+        .await
+        .expect("subdir entry must succeed");
+    e_sub.file(false, 0, &mut Cursor::new([])).await.unwrap();
+
+    // close the subdir, and then the dir, which is required.
+    subdir_node.close().await.unwrap();
+    dir_node.close().await.unwrap();
 
     assert_eq!(include_bytes!("../tests/complicated.nar"), buf.as_slice());
 }