WiP! tox-bootstrapd test
This commit is contained in:
parent
580e40f09a
commit
2f75ca7a8c
|
@ -72,12 +72,21 @@ in {
|
|||
inherit upstreamSources pinnedPackages;
|
||||
};
|
||||
|
||||
libconfig = overrideHostAttrs libconfig
|
||||
(attrs: { configureFlags = [ "--disable-examples" ]; });
|
||||
|
||||
libcCrossChooser = name:
|
||||
if stdenv.targetPlatform.isGenode then
|
||||
targetPackages.genodeLibcCross
|
||||
else
|
||||
prev.libcCrossChooser name;
|
||||
|
||||
libtoxcore = overrideHost libtoxcore {
|
||||
libopus = null;
|
||||
libvpx = null;
|
||||
ncurses = null;
|
||||
};
|
||||
|
||||
llvmPackages_8 = callPackage ./llvm-8 ({
|
||||
inherit (stdenvAdapters) overrideCC;
|
||||
inherit (targetPackages.genodeSources) genodeBase;
|
||||
|
|
|
@ -8,9 +8,14 @@ let
|
|||
inherit nixpkgs localPackages legacyPackages;
|
||||
};
|
||||
|
||||
testFiles =
|
||||
map callTest [ ./log.nix ./posix.nix ./vmm_arm.nix ./vmm_x86.nix ./x86.nix ]
|
||||
++ (callTest ./solo5);
|
||||
testFiles = map callTest [
|
||||
./log.nix
|
||||
./posix.nix
|
||||
./tox-bootstrapd.nix
|
||||
./vmm_arm.nix
|
||||
./vmm_x86.nix
|
||||
./x86.nix
|
||||
] ++ (callTest ./solo5);
|
||||
|
||||
testPkgs = genodepkgs;
|
||||
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
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 label = λ(_ : Text) → { local = _, route = _ } : Child.Attributes.Label
|
||||
|
||||
let toArgsXML =
|
||||
Prelude.List.map
|
||||
Text
|
||||
XML.Type
|
||||
( λ(value : Text) →
|
||||
XML.leaf { name = "arg", attributes = toMap { value } }
|
||||
)
|
||||
|
||||
let tox-bootstrap =
|
||||
Init::{
|
||||
, verbose = True
|
||||
, routes =
|
||||
[ ServiceRoute.parent "Timer"
|
||||
, ServiceRoute.child "Platform" "platform_drv"
|
||||
]
|
||||
, children = toMap
|
||||
{ tox-bootstrapd =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "tox-bootstrapd"
|
||||
, exitPropagate = True
|
||||
, resources = Resources::{ ram = Genode.units.MiB 16 }
|
||||
, config = Init.Config::{
|
||||
, content =
|
||||
[ XML.text
|
||||
''
|
||||
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
|
||||
<vfs>
|
||||
<dir name="dev"> <log/> <null/> </dir>
|
||||
<dir name="socket"> <lwip/> </dir>
|
||||
<inline name="config">
|
||||
enable_motd = true
|
||||
motd = "Genode Tox bootstrapd test"
|
||||
</inline>
|
||||
<ram/>
|
||||
</vfs>
|
||||
''
|
||||
]
|
||||
# toArgsXML
|
||||
[ "tox-bootstrapd"
|
||||
, "--config=/config"
|
||||
, "--foreground"
|
||||
, "--log-backend=stdout"
|
||||
]
|
||||
}
|
||||
, routes = [ ServiceRoute.child "Nic" "nic_drv" ]
|
||||
}
|
||||
, nic_drv =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "ipxe_nic_drv"
|
||||
, provides = [ "Nic" ]
|
||||
, resources = Init.Resources::{
|
||||
, caps = 128
|
||||
, ram = Genode.units.MiB 4
|
||||
}
|
||||
, routes = [ ServiceRoute.child "Platform" "platform_drv" ]
|
||||
}
|
||||
, acpi_drv =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "acpi_drv"
|
||||
, resources = Resources::{
|
||||
, caps = 400
|
||||
, ram = Genode.units.MiB 4
|
||||
, constrainPhys = True
|
||||
}
|
||||
, provides = [ "Platform", "Acpi" ]
|
||||
, romReports = [ label "acpi", label "smbios_table" ]
|
||||
, routes =
|
||||
[ ServiceRoute.parent "IRQ"
|
||||
, ServiceRoute.parent "IO_MEM"
|
||||
, ServiceRoute.parent "IO_PORT"
|
||||
]
|
||||
}
|
||||
, platform_drv =
|
||||
Child.flat
|
||||
Child.Attributes::{
|
||||
, binary = "platform_drv"
|
||||
, resources = Resources::{
|
||||
, caps = 800
|
||||
, ram = Genode.units.MiB 4
|
||||
, constrainPhys = True
|
||||
}
|
||||
, reportRoms = [ label "acpi" ]
|
||||
, provides = [ "Platform", "Acpi" ]
|
||||
, routes =
|
||||
[ ServiceRoute.parent "IRQ"
|
||||
, ServiceRoute.parent "IO_MEM"
|
||||
, ServiceRoute.parent "IO_PORT"
|
||||
]
|
||||
, config = Init.Config::{
|
||||
, policies =
|
||||
[ Init.Config.Policy::{
|
||||
, label = Init.LabelSelector.prefix "nic_drv"
|
||||
, content =
|
||||
[ XML.leaf
|
||||
{ name = "pci"
|
||||
, attributes = toMap { class = "ETHERNET" }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
in Test::{ children = Test.initToChildren tox-bootstrap }
|
|
@ -0,0 +1,18 @@
|
|||
{ pkgs, legacyPackages, ... }:
|
||||
|
||||
{
|
||||
name = "tox-bootstrapd";
|
||||
constraints = builtins.any (spec: spec == "x86");
|
||||
machine = {
|
||||
config = ./tox-bootstrapd.dhall;
|
||||
inputs = map pkgs.genodeSources.depot [
|
||||
"acpi_drv"
|
||||
"ipxe_nic_drv"
|
||||
"libc"
|
||||
"platform_drv"
|
||||
"posix"
|
||||
"report_rom"
|
||||
"vfs_lwip"
|
||||
] ++ (with legacyPackages; [ libtoxcore ]);
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue