From 29dd6cf10d96ca2c7a8b03c0ce048853ef98a60a Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 13 Nov 2020 14:29:25 +0100 Subject: [PATCH] WiP! rsync: use genode.shells --- tests/rsync.nix | 65 +++++-------------------------------------------- 1 file changed, 6 insertions(+), 59 deletions(-) diff --git a/tests/rsync.nix b/tests/rsync.nix index b168526..9b3895a 100644 --- a/tests/rsync.nix +++ b/tests/rsync.nix @@ -16,64 +16,11 @@ }; client = { pkgs, ... }: { - imports = [ ../nixos-modules/hardware.nix ]; - networking.interfaces.eth1.genode.stack = "lwip"; - genode.init.children.rsync = { - inputs = with pkgs; [ rsync ]; - configFile = pkgs.writeText "rsync-client.dhall" '' - let Genode = env:DHALL_GENODE - - let Init = Genode.Init - - let Child = Init.Child - - in Child.flat - Child.Attributes::{ - , binary = "rsync" - , exitPropagate = True - , resources = Genode.Init.Resources::{ - , caps = 500 - , ram = Genode.units.MiB 16 - } - , routes = - [ Init.ServiceRoute.child "File_system" "eth1.sockets" ] - , config = Init.Config::{ - , content = - let XML = Genode.Prelude.XML - - let VFS = Genode.VFS - - in [ XML.leaf - { name = "libc" - , attributes = toMap - { stdin = "/dev/null" - , stdout = "/dev/log" - , stderr = "/dev/log" - , socket = "/dev/sockets" - } - } - , VFS.vfs - [ VFS.dir - "dev" - [ VFS.leaf "log" - , VFS.leaf "null" - , VFS.dir - "sockets" - [ VFS.fs VFS.FS::{ label = "eth1.sockets" } ] - ] - ] - ] - # Genode.Prelude.List.map - Text - XML.Type - ( λ(x : Text) → - XML.leaf - { name = "arg", attributes = toMap { value = x } } - ) - [ "rsync", "-rvvv", "192.168.1.2::" ] - } - } - ''; + imports = [ ../nixos-modules/hardware.nix ../nixos-modules/shell.nix ]; + genode.shells.rsync = { + environmentVariables.PATH = with pkgs; [ "${rsync}/bin" ]; + nic = "eth1"; + script = "rsync -rvvv 192.168.1.2::"; }; }; @@ -83,6 +30,6 @@ server.start() server.wait_until_serial_output('lwIP Nic interface up address=192.168.1.2') client.start() - client.wait_until_serial_output('child "rsync" exited') + client.wait_until_serial_output('child "rsync.shell" exited') ''; }