about summary refs log tree commit diff
path: root/users/Profpatsch/netstring/tests.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/Profpatsch/netstring/tests.nix')
-rw-r--r--users/Profpatsch/netstring/tests.nix33
1 files changed, 24 insertions, 9 deletions
diff --git a/users/Profpatsch/netstring/tests.nix b/users/Profpatsch/netstring/tests.nix
index 0d4cee52766b..23141472d6a8 100644
--- a/users/Profpatsch/netstring/tests.nix
+++ b/users/Profpatsch/netstring/tests.nix
@@ -1,14 +1,9 @@
-{ depot, lib, pkgs, python-netstring, toNetstring, toNetstringKeyVal }:
+{ depot, lib, pkgs, python-netstring, rust-netstring, toNetstring, toNetstringKeyVal }:
 
 let
-  imports = {
-    inherit (depot.users.Profpatsch)
-      writers
-      ;
-  };
-
-  python-netstring-test = imports.writers.python3 {
-    name = "python-netstring";
+
+  python-netstring-test = depot.users.Profpatsch.writers.python3 {
+    name = "python-netstring-test";
     libraries = p: [
       python-netstring
     ];
@@ -36,11 +31,31 @@ let
       ),
       { b'foo': b'42', b'bar': b'hi' }
     )
+  '';
 
+  rust-netstring-test = depot.users.Profpatsch.writers.rustSimple {
+    name = "rust-netstring-test";
+    dependencies = [
+      rust-netstring
+    ];
+  } ''
+    extern crate netstring;
+
+    fn main() {
+      assert_eq!(
+        std::str::from_utf8(&netstring::to_netstring(b"hello")).unwrap(),
+        r##"${toNetstring "hello"}"##
+      );
+      assert_eq!(
+        std::str::from_utf8(&netstring::to_netstring("こんにちは".as_bytes())).unwrap(),
+        r##"${toNetstring "こんにちは"}"##
+      );
+    }
   '';
 
 in {
   inherit
     python-netstring-test
+    rust-netstring-test
     ;
 }