diff --git a/tests/default.nix b/tests/default.nix index 8961842..7a784ae 100644 --- a/tests/default.nix +++ b/tests/default.nix @@ -9,6 +9,7 @@ let testSpecs = map (p: import p) [ ./bash.nix + ./execve.nix ./hello.nix ./log.nix ./networking.nix diff --git a/tests/execve.dhall b/tests/execve.dhall new file mode 100644 index 0000000..969c049 --- /dev/null +++ b/tests/execve.dhall @@ -0,0 +1,35 @@ +let Genode = env:DHALL_GENODE + +let XML = Genode.Prelude.XML + +let Init = Genode.Init + +let Child = Init.Child + +in Child.flat + Child.Attributes::{ + , binary = "test-execve" + , config = Init.Config::{ + , attributes = toMap { ld_verbose = "true" } + , content = + [ XML.text + '' + + + + + '' + ] + } + , exitPropagate = True + , resources = Genode.Init.Resources::{ + , caps = 512 + , ram = Genode.units.MiB 32 + } + , routes = + [ Init.ServiceRoute.parentLabel + "ROM" + (Some "/test-execve") + (Some "test-execve") + ] + } diff --git a/tests/execve.nix b/tests/execve.nix new file mode 100644 index 0000000..b842b11 --- /dev/null +++ b/tests/execve.nix @@ -0,0 +1,15 @@ +{ + name = "execve"; + machine = { pkgs, ... }: { + genode.init.children.test-execve = { + configFile = ./execve.dhall; + inputs = with pkgs.genodePackages; [ libc posix test-libc_execve ]; + }; + }; + /* + testScript = '' + start_all() + machine.wait_until_serial_output("child "test-execve" exited with exit value 0") + ''; + */ +}