1261616bff
A bunch of writer functions wrapping the `buildRustCrate` functionality of nixpkgs. Can be used to write inline rust code, or rust code read from files with `builtins.readFile`. Change-Id: I9d74e9381b858b485925e4dc3fbb7fc392877c0a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2318 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
46 lines
893 B
Nix
46 lines
893 B
Nix
{ depot, lib, pkgs, python-netstring, toNetstring, toNetstringKeyVal }:
|
|
|
|
let
|
|
imports = {
|
|
inherit (depot.users.Profpatsch)
|
|
writers
|
|
;
|
|
};
|
|
|
|
python-netstring-test = imports.writers.python3 {
|
|
name = "python-netstring";
|
|
libraries = p: [
|
|
python-netstring
|
|
];
|
|
} ''
|
|
import netstring
|
|
|
|
def assEq(left, right):
|
|
assert left == right, "{} /= {}".format(str(left), str(right))
|
|
|
|
assEq(
|
|
netstring.read_netstring(b"""${toNetstring "hi!"}"""),
|
|
(b"hi!", b"")
|
|
)
|
|
|
|
assEq(
|
|
netstring.read_netstring_key_val(
|
|
b"""${toNetstringKeyVal { foo = "42"; }}"""
|
|
),
|
|
(b'foo', b'42', b"")
|
|
)
|
|
|
|
assEq(
|
|
netstring.read_netstring_key_val_list(
|
|
b"""${toNetstringKeyVal { foo = "42"; bar = "hi"; }}"""
|
|
),
|
|
{ b'foo': b'42', b'bar': b'hi' }
|
|
)
|
|
|
|
'';
|
|
|
|
in {
|
|
inherit
|
|
python-netstring-test
|
|
;
|
|
}
|