1*** Keywords **
2
3Prepare Platform
4    Execute Command        using sysbus
5    Execute Command        mach create "zynq7000"
6    Execute Command        machine LoadPlatformDescription @platforms/cpus/zynq-7000.repl
7    Execute Command        sysbus LoadELF @https://dl.antmicro.com/projects/renode/seL4-zynq7000--camkes_adder_image-s_2996636-7f022f0d406eb8aa97854c724222cbebdc0baa2a
8    Execute Command        sysbus LoadSymbolsFrom @https://dl.antmicro.com/projects/renode/seL4-zynq7000--camkes_adder_kernel-s_955080-1b84b2deb5c9d96d50ce3cca13a1e2df8fcb027a
9    Execute Command        EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.CPU.ARMv7A"
10    Execute Command        EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.CPU.RiscV32"
11    Execute Command        include @tools/sel4_extensions/seL4Extensions.cs
12    Execute Command        cpu CreateSeL4
13
14*** Test Cases ***
15
16Should Break On Rootserver Thread And Then Exit To Kernel
17                  Prepare Platform
18
19                  Execute Command        seL4 BreakOnNamingThread "rootserver"
20                  Run Until Breakpoint   1
21    ${thread}=    Execute Command        seL4 CurrentThread
22                  Should Contain         ${thread}        kernel
23
24                  Execute Command        seL4 SetTemporaryBreakpoint "rootserver"
25                  Execute Command        cpu ExecutionMode Continuous
26                  Run Until Breakpoint   1
27    ${thread}=    Execute Command        seL4 CurrentThread
28                  Should Contain         ${thread}        rootserver
29
30                  Execute Command        seL4 BreakOnExittingUserspace Once
31                  Execute Command        cpu ExecutionMode Continuous
32                  Run Until Breakpoint   1
33    ${thread}=    Execute Command        seL4 CurrentThread
34                  Should Contain         ${thread}        kernel
35