diff options
author | Profpatsch <mail@profpatsch.de> | 2021-04-23T17·05+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2021-04-24T09·54+0000 |
commit | 7e888c3c7bb36f6ab6e83d4a6f6a755ff4156791 (patch) | |
tree | 8ba54c21c976545c6d7cb6694aa24a6c425dde56 /users | |
parent | c98dd8b352c4dac33ebb7302eaf527eb4b681502 (diff) |
feat(nix): add basic netstring nix generation functions r/2546
Moving to toplevel so I can use them with `runExecline`. They should be pretty atomic, and are proven to work (tests are still in my user dir, since they test the producers indirectly via the python parser and I don’t want to pull it out right now). Change-Id: Id0baa3adcb2ec646458a104c7868c2889b8c64f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3054 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
Diffstat (limited to 'users')
-rw-r--r-- | users/Profpatsch/netstring/default.nix | 11 | ||||
-rw-r--r-- | users/Profpatsch/netstring/tests/default.nix | 12 |
2 files changed, 5 insertions, 18 deletions
diff --git a/users/Profpatsch/netstring/default.nix b/users/Profpatsch/netstring/default.nix index a1d6a1e77f03..333244a0f701 100644 --- a/users/Profpatsch/netstring/default.nix +++ b/users/Profpatsch/netstring/default.nix @@ -1,14 +1,5 @@ { lib, pkgs, depot, ... }: let - toNetstring = s: - "${toString (builtins.stringLength s)}:${s},"; - - toNetstringKeyVal = attrs: - lib.concatStrings - (lib.mapAttrsToList - (k: v: toNetstring (toNetstring k + toNetstring v)) - attrs); - python-netstring = depot.users.Profpatsch.writers.python3Lib { name = "netstring"; } '' @@ -54,8 +45,6 @@ let in depot.nix.utils.drvTargets { inherit - toNetstring - toNetstringKeyVal python-netstring rust-netstring ; diff --git a/users/Profpatsch/netstring/tests/default.nix b/users/Profpatsch/netstring/tests/default.nix index a9e6c9c688ec..b9fb5835e55a 100644 --- a/users/Profpatsch/netstring/tests/default.nix +++ b/users/Profpatsch/netstring/tests/default.nix @@ -3,8 +3,6 @@ let inherit (depot.users.Profpatsch.netstring) - toNetstring - toNetstringKeyVal python-netstring rust-netstring ; @@ -21,20 +19,20 @@ let assert left == right, "{} /= {}".format(str(left), str(right)) assEq( - netstring.read_netstring(b"""${toNetstring "hi!"}"""), + netstring.read_netstring(b"""${depot.nix.netstring.fromString "hi!"}"""), (b"hi!", b"") ) assEq( netstring.read_netstring_key_val( - b"""${toNetstringKeyVal { foo = "42"; }}""" + b"""${depot.nix.netstring.attrsToKeyValList { foo = "42"; }}""" ), (b'foo', b'42', b"") ) assEq( netstring.read_netstring_key_val_list( - b"""${toNetstringKeyVal { foo = "42"; bar = "hi"; }}""" + b"""${depot.nix.netstring.attrsToKeyValList { foo = "42"; bar = "hi"; }}""" ), { b'foo': b'42', b'bar': b'hi' } ) @@ -51,11 +49,11 @@ let fn main() { assert_eq!( std::str::from_utf8(&netstring::to_netstring(b"hello")).unwrap(), - r##"${toNetstring "hello"}"## + r##"${depot.nix.netstring.fromString "hello"}"## ); assert_eq!( std::str::from_utf8(&netstring::to_netstring("こんにちは".as_bytes())).unwrap(), - r##"${toNetstring "こんにちは"}"## + r##"${depot.nix.netstring.fromString "こんにちは"}"## ); } ''; |