feat(nix): add basic netstring nix generation functions
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
This commit is contained in:
parent
c98dd8b352
commit
7e888c3c7b
4 changed files with 48 additions and 18 deletions
|
|
@ -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 "こんにちは"}"##
|
||||
);
|
||||
}
|
||||
'';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue