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")
+ '';
+ */
+}