Remove linux tests, not compatible with cached_fs_rom.legacyPackages
parent
89408c5315
commit
f289a4b88f
@ -1,142 +0,0 @@
|
||||
-- SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
let Test = ./test.dhall ? env:DHALL_GENODE_TEST
|
||||
|
||||
let Genode = Test.Genode
|
||||
|
||||
let Prelude = Genode.Prelude
|
||||
|
||||
let XML = Prelude.XML
|
||||
|
||||
let Init = Genode.Init
|
||||
|
||||
let Child = Init.Child
|
||||
|
||||
let Resources = Init.Resources
|
||||
|
||||
let ServiceRoute = Init.ServiceRoute
|
||||
|
||||
let init =
|
||||
Init::{
|
||||
, verbose = True
|
||||
, routes =
|
||||
[ ServiceRoute.parent "Timer"
|
||||
, ServiceRoute.child "Block" "block_router"
|
||||
]
|
||||
, children =
|
||||
let blockTest =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "test-block-client"
|
||||
, resources = Resources::{ ram = Genode.units.MiB 5 }
|
||||
}
|
||||
|
||||
in toMap
|
||||
{ block_device =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "ram_block"
|
||||
, config = Init.Config::{
|
||||
, attributes = toMap
|
||||
{ file = "gpt.rom", block_size = "512" }
|
||||
}
|
||||
, provides = [ "Block" ]
|
||||
, resources = Resources::{ ram = Genode.units.MiB 8 }
|
||||
}
|
||||
, part_block =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "part_block"
|
||||
, config = Init.Config::{
|
||||
, attributes = toMap { use_gpt = "yes" }
|
||||
, content =
|
||||
Prelude.List.map
|
||||
Natural
|
||||
XML.Type
|
||||
( λ(i : Natural)
|
||||
→ XML.leaf
|
||||
{ name = "policy"
|
||||
, attributes =
|
||||
let partition =
|
||||
Prelude.Natural.show (i + 1)
|
||||
|
||||
in toMap
|
||||
{ label_suffix = " ${partition}"
|
||||
, partition = partition
|
||||
, writeable = "yes"
|
||||
}
|
||||
}
|
||||
)
|
||||
(Prelude.Natural.enumerate 128)
|
||||
# [ XML.leaf
|
||||
{ name = "report"
|
||||
, attributes = toMap { partitions = "yes" }
|
||||
}
|
||||
]
|
||||
}
|
||||
, resources = Resources::{ ram = Genode.units.MiB 10 }
|
||||
, provides = [ "Block" ]
|
||||
, routes =
|
||||
[ ServiceRoute.child "Block" "block_device"
|
||||
, ServiceRoute.child "Report" "block_router"
|
||||
]
|
||||
}
|
||||
, block_router =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "block_router"
|
||||
, config = Init.Config::{
|
||||
, content =
|
||||
[ XML.element
|
||||
{ name = "policy"
|
||||
, attributes = toMap
|
||||
{ label_prefix = "test-part1" }
|
||||
, content =
|
||||
[ XML.leaf
|
||||
{ name = "partition"
|
||||
, attributes = toMap
|
||||
{ name = "best partition ever" }
|
||||
}
|
||||
, XML.leaf
|
||||
{ name = "partition"
|
||||
, attributes = toMap
|
||||
{ name = "first-test-partition"
|
||||
, timeout = "2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
, XML.element
|
||||
{ name = "policy"
|
||||
, attributes = toMap
|
||||
{ label_prefix = "test-part2" }
|
||||
, content =
|
||||
[ XML.leaf
|
||||
{ name = "partition"
|
||||
, attributes = toMap
|
||||
{ type =
|
||||
"24B69406-18A1-428D-908E-D21A1437122C"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
, resources = Resources::{ ram = Genode.units.MiB 10 }
|
||||
, provides = [ "Block", "Report" ]
|
||||
, routes =
|
||||
[ ServiceRoute.parent "Timer"
|
||||
, ServiceRoute.child "Block" "part_block"
|
||||
]
|
||||
}
|
||||
, test-part1 = blockTest
|
||||
, test-part2 = blockTest
|
||||
}
|
||||
}
|
||||
|
||||
in Test::{
|
||||
, children = Test.initToChildren init
|
||||
, rom =
|
||||
Genode.BootModules.toRomPaths
|
||||
[ { mapKey = "gpt.rom", mapValue = "./gpt.raw" } ]
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
{ testEnv, pkgs, buildPackages, ... }:
|
||||
with pkgs;
|
||||
|
||||
testEnv.mkTest {
|
||||
name = "block_router";
|
||||
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ehmry ];
|
||||
|
||||
testConfig = ./block_router.dhall;
|
||||
testInputs =
|
||||
map pkgs.genodeSources.depot [ "part_block" "ram_block" "test-block" ]
|
||||
++ [ pkgs.block_router ];
|
||||
testScript = ''
|
||||
catch { exec dd if=/dev/zero of=gpt.raw bs=512 count=7168 }
|
||||
exec ${buildPackages.gptfdisk}/bin/sgdisk -o -n 3:2048:4095 -c 3:first-test-partition -n 31:4096:6143 --typecode=31:24b69406-18a1-428d-908e-d21a1437122c gpt.raw
|
||||
|
||||
run_genode_until {Tests finished successfully.*\n.*Tests finished successfully.*\n} 120
|
||||
'';
|
||||
}
|
@ -1,127 +0,0 @@
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
{ addManifest, apps, buildPackages, lib, nixpkgs, testPkgs }:
|
||||
|
||||
let
|
||||
testDriver = with buildPackages;
|
||||
stdenv.mkDerivation {
|
||||
name = "genode-test-driver";
|
||||
preferLocalBuild = true;
|
||||
|
||||
buildInputs = [ makeWrapper expect ];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
install -Dm555 ${./test-driver.exp} $out/bin/genode-test-driver
|
||||
wrapProgram $out/bin/genode-test-driver \
|
||||
--prefix PATH : "${lib.makeBinPath [ expect coreutils ]}"
|
||||
'';
|
||||
};
|
||||
|
||||
runTests = driver:
|
||||
buildPackages.stdenv.mkDerivation {
|
||||
name = "linux-" + driver.testName;
|
||||
preferLocalBuild = true;
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/nix-support
|
||||
|
||||
${driver}/bin/genode-test-driver | tee $out/log
|
||||
|
||||
touch $out/nix-support
|
||||
echo "report testlog $out log" >> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
};
|
||||
|
||||
defaultScript =
|
||||
''run_genode_until {child "init" exited with exit value 0} 120'';
|
||||
|
||||
mkTest = { name ? "unamed", testScript ? defaultScript, testConfig
|
||||
, testInputs ? [ ], env ? { }, ... }:
|
||||
with testPkgs;
|
||||
let
|
||||
manifest = lib.mergeManifests (map addManifest
|
||||
((with testPkgs; [ base-linux init sotest-producer ] ++ testInputs)));
|
||||
testConfig' = "${./test-wrapper.dhall} (${testConfig}) ${manifest}";
|
||||
env' = {
|
||||
DHALL_GENODE = "${testPkgs.dhallGenode}/source.dhall";
|
||||
DHALL_GENODE_TEST = "${./test.dhall}";
|
||||
} // env;
|
||||
|
||||
build = lib.linuxScript name env' testConfig';
|
||||
|
||||
toExports = env:
|
||||
with builtins;
|
||||
let
|
||||
keys = attrNames env;
|
||||
f = key: ''set env(${key}) "${getAttr key env}"'';
|
||||
exports = map f keys;
|
||||
in concatStringsSep "\n" exports;
|
||||
|
||||
baseSetup = ''
|
||||
${toExports env'}
|
||||
|
||||
proc run_genode_until {{wait_for_re forever} {timeout_value 0} {running_spawn_id -1}} {
|
||||
#
|
||||
# If a running_spawn_id is specified, wait for the expected output
|
||||
#
|
||||
if {$running_spawn_id != -1} {
|
||||
wait_for_output $wait_for_re $timeout_value $running_spawn_id
|
||||
return
|
||||
}
|
||||
|
||||
global image_dir spawn_id
|
||||
|
||||
exec sh ${build}/script
|
||||
|
||||
spawn ./core-linux
|
||||
wait_for_output $wait_for_re $timeout_value $spawn_id
|
||||
}
|
||||
'';
|
||||
|
||||
driver = with buildPackages;
|
||||
runCommand "genode-test-driver-${name}" {
|
||||
buildInputs = [ makeWrapper expect ];
|
||||
inherit baseSetup testScript;
|
||||
preferLocalBuild = true;
|
||||
testName = name;
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
echo "$testScript" > $out/test-script
|
||||
echo "$baseSetup" > $out/base-setup
|
||||
ln -s ${testDriver}/bin/genode-test-driver $out/bin/
|
||||
wrapProgram $out/bin/genode-test-driver \
|
||||
--run "export testScript=\"\$(cat $out/test-script)\"" \
|
||||
--run "export baseSetup=\"\$(cat $out/base-setup)\"" \
|
||||
'';
|
||||
|
||||
test = runTests driver;
|
||||
|
||||
in test // {
|
||||
inherit build driver test;
|
||||
config = lib.runDhallCommand (name + ".dhall") env' ''
|
||||
${apps.dhall.program} <<< "(${testConfig'}).config" > $out
|
||||
'';
|
||||
xml = lib.runDhallCommand (name + ".config") env' ''
|
||||
${apps.render-init.program} <<< "(${testConfig'}).config" > $out
|
||||
'';
|
||||
image = lib.runDhallCommand (name + ".image.elf") env' ''
|
||||
mkdir -p $out
|
||||
pushd $out
|
||||
. ${build}/script
|
||||
'';
|
||||
};
|
||||
|
||||
in {
|
||||
callTest = path: args:
|
||||
(import path ({
|
||||
testEnv = {
|
||||
inherit mkTest lib;
|
||||
isLinux = true;
|
||||
isNova = false;
|
||||
};
|
||||
pkgs = testPkgs;
|
||||
inherit nixpkgs buildPackages;
|
||||
} // args));
|
||||
}
|
Loading…
Reference in new issue