genode/repos/os/recipes/pkg/test-black_hole/runtime
Martin Stein b9141f98af test/black_hole: fix "packet alloc failed"
The Uplink_test used to end in an uncaucht exception about a failed packet
allocation on several x86_32 platforms.

* Destruct and re-construct the corresponding TX packet allocator during a
  link-down-up step in the Uplink test. Fixes the exceptions but results in a
  never ending test.
* Decouple the link-down-up steps from the handling of packet stream signals
  by simply triggering it with a local periodic timeout of 1 sec period.
  This prevents that the Uplink_test never finishes because it destructs the
  Uplink connection too often.
* The test finishes not before at least 3 link-down-up steps were executed.
* Replace the Allocator_avl's used for the TX packet allocators of the Nic
  and Uplink Connection with the better suited Nic::Packet_allocator.

Ref #4419
2022-04-13 09:29:05 +02:00

86 lines
2.5 KiB
Plaintext

<runtime ram="32M" caps="1000" binary="init">
<requires> <timer/> </requires>
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">Finished</log>
</events>
<content>
<rom label="ld.lib.so"/>
<rom label="test-black_hole"/>
<rom label="black_hole"/>
</content>
<config>
<parent-provides>
<service name="ROM"/>
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="Timer"/>
</parent-provides>
<start name="black_hole" caps="100">
<resource name="RAM" quantum="1M"/>
<provides>
<service name="Usb"/>
<service name="Gpu"/>
<service name="ROM"/>
<service name="Uplink"/>
<service name="Nic"/>
<service name="Event"/>
<service name="Capture"/>
<service name="Audio_in"/>
<service name="Audio_out"/>
</provides>
<config>
<usb/>
<gpu/>
<rom/>
<uplink/>
<nic/>
<event/>
<capture/>
<audio_in/>
<audio_out/>
</config>
<route>
<service name="Timer"> <parent/> </service>
<service name="ROM"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="CPU"> <parent/> </service>
</route>
</start>
<start name="test-black_hole" caps="200">
<resource name="RAM" quantum="10M"/>
<route>
<service name="Usb"> <child name="black_hole"/> </service>
<service name="Gpu"> <child name="black_hole"/> </service>
<service name="ROM" label="any_label"> <child name="black_hole"/> </service>
<service name="Uplink"> <child name="black_hole"/> </service>
<service name="Nic"> <child name="black_hole"/> </service>
<service name="Event"> <child name="black_hole"/> </service>
<service name="Capture"> <child name="black_hole"/> </service>
<service name="Audio_in"> <child name="black_hole"/> </service>
<service name="Audio_out"> <child name="black_hole"/> </service>
<service name="ROM" > <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="Timer"> <parent/> </service>
</route>
</start>
</config>
</runtime>