diff --git a/tests/common-test-driver.exp b/tests/common-test-driver.exp new file mode 100644 index 0000000..c5a1f84 --- /dev/null +++ b/tests/common-test-driver.exp @@ -0,0 +1,10 @@ +#!/usr/bin/env expect + +proc collect_modules {arg} { + global modules + foreach path [glob $arg] { + set name [file tail $path] + file link -s $name $path + append modules " $name " + } +} diff --git a/tests/driver-linux.nix b/tests/driver-linux.nix index 2a1023c..70bf088 100644 --- a/tests/driver-linux.nix +++ b/tests/driver-linux.nix @@ -40,6 +40,8 @@ let let baseSetup = with testPkgs; '' + source ${./common-test-driver.exp} + file link -s core ${depot.base-linux}/bin/core file link -s timer ${genode.base-linux}/bin/linux_timer_drv file link -s ld.lib.so ${depot.base-linux}/lib/ld.lib.so diff --git a/tests/driver-nova.nix b/tests/driver-nova.nix index 0750fa6..8e14aa7 100644 --- a/tests/driver-nova.nix +++ b/tests/driver-nova.nix @@ -42,6 +42,7 @@ let baseSetup = with testPkgs; '' + source ${./common-test-driver.exp} global modules set HOSTLD ${buildPackages.binutils}/bin/x86_64-unknown-genode-elf-ld diff --git a/tests/fs_report.nix b/tests/fs_report.nix index f209576..e8b6985 100644 --- a/tests/fs_report.nix +++ b/tests/fs_report.nix @@ -8,12 +8,12 @@ with pkgs; testConfig = ./fs_report.xml; testScript = '' - file link -s fs_report ${depot.fs_report}/bin/fs_report - file link -s fs_rom ${depot.fs_rom}/bin/fs_rom - file link -s ram_fs ${depot.ram_fs}/bin/ram_fs - file link -s vfs.lib.so ${depot.vfs}/lib/vfs.lib.so - file link -s test-fs_report ${depot.test-fs_report}/bin/test-fs_report - append modules { fs_report fs_rom ram_fs vfs.lib.so test-fs_report } + collect_modules ${depot.fs_report}/bin/* + collect_modules ${depot.fs_rom}/bin/* + collect_modules ${depot.ram_fs}/bin/* + collect_modules ${depot.test-fs_report}/bin/* + collect_modules ${depot.vfs}/lib/* + run_genode_until {child "test-fs_report" exited with exit value 0} 15 ''; } diff --git a/tests/libc.nix b/tests/libc.nix index f52f75e..ea0b0ee 100644 --- a/tests/libc.nix +++ b/tests/libc.nix @@ -9,12 +9,11 @@ rec { testScript = '' global qemu_mem - file link -s libc.lib.so ${depot.libc}/lib/libc.lib.so - file link -s libm.lib.so ${depot.libc}/lib/libm.lib.so - file link -s posix.lib.so ${depot.posix}/lib/posix.lib.so - file link -s vfs.lib.so ${depot.vfs}/lib/vfs.lib.so - file link -s test-libc ${depot.test-libc}/bin/test-libc - append modules { libc.lib.so libm.lib.so posix.lib.so vfs.lib.so test-libc } + collect_modules ${depot.libc}/lib/* + collect_modules ${depot.posix}/lib/* + collect_modules ${depot.test-libc}/bin/* + collect_modules ${depot.vfs}/lib/* + set qemu_mem 384 run_genode_until "child .* exited with exit value 0.*\n" 30 ''; diff --git a/tests/log.nix b/tests/log.nix index 868176e..5226804 100644 --- a/tests/log.nix +++ b/tests/log.nix @@ -8,8 +8,7 @@ rec { testConfig = lib.renderDhallInit ./log.dhall "{=}"; testScript = '' - file link -s test-log ${genode.base}/bin/test-log - append modules { test-log } + collect_modules ${depot.test-log}/bin/* run_genode_until {Test done.} 10 ''; } diff --git a/tests/signal.nix b/tests/signal.nix index aec1b9c..f17c31f 100644 --- a/tests/signal.nix +++ b/tests/signal.nix @@ -8,8 +8,8 @@ rec { testConfig = lib.renderDhallInit ./signal.dhall "{=}"; testScript = '' - file link -s test-signal ${depot.test-signal}/bin/test-signal - append modules { test-signal } + collect_modules ${depot.test-signal}/bin/* + run_genode_until {--- Signalling test finished ---} 80 ''; } diff --git a/tests/solo5.nix b/tests/solo5.nix index feaec26..65a3e33 100644 --- a/tests/solo5.nix +++ b/tests/solo5.nix @@ -8,10 +8,11 @@ rec { testConfig = lib.renderDhallInit ./solo5.dhall "{=}"; testScript = '' - global modules - file link -s solo5.lib.so ${solo5}/lib/solo5-bindings-genode/solo5.lib.so - file link -s solo5-test_hello ${solo5.tests}/bin/solo5-test_hello - append modules { solo5.lib.so solo5-test_hello } + collect_modules ${solo5.tests}/bin/* + collect_modules ${solo5}/lib/solo5-bindings-genode/solo5.lib.so + collect_modules ${genode.os}/bin/nic_loopback + collect_modules ${genode.os}/bin/ram_block + collect_modules ${genode.os}/bin/sequence run_genode_until "child .* exited with exit value 0.*\n" 30 '';