mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +00:00
nic_dump.run: relax test procedure
This test was originally a copy of ping.run and therefore unnecessarily inherited all its complexity for testing ping component behavior. Additionally, ping.run was more actively maintained and evolved over time whereas nic_dump.run didn't receive the same care. Now, the test fails on certain platforms although NIC dump works just fine. Therefore, this commit reduces the test behavior to what is really necessary for testing nic_dump and by doing so, also fixes the failing targets. Fixes #4926
This commit is contained in:
parent
45e5a33b26
commit
563f55e57b
@ -9,8 +9,6 @@ if {[get_cmd_switch --autopilot] && [have_board virt_qemu_riscv]} {
|
||||
exit 0
|
||||
}
|
||||
|
||||
set on_hardware [expr ![have_include power_on/qemu]]
|
||||
|
||||
create_boot_directory
|
||||
|
||||
import_from_depot [depot_user]/src/[base_src] \
|
||||
@ -21,15 +19,13 @@ import_from_depot [depot_user]/src/[base_src] \
|
||||
|
||||
build { app/ping server/nic_dump }
|
||||
|
||||
proc good_dst_ip { } {
|
||||
proc dst_ip { } {
|
||||
if {![have_include power_on/qemu]} {
|
||||
return "10.0.0.2"
|
||||
} else {
|
||||
return "10.0.2.2"
|
||||
}
|
||||
}
|
||||
proc bad_dst_port { } { return "12345" }
|
||||
proc bad_dst_ip { } { return "10.0.1.2" }
|
||||
|
||||
append config {
|
||||
|
||||
@ -63,14 +59,13 @@ append config {
|
||||
<route>
|
||||
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
|
||||
<service name="Timer"> <child name="timer"/> </service>
|
||||
<service name="Uplink"> <child name="nic_router_1"/> </service>
|
||||
<service name="Uplink"> <child name="nic_router"/> </service>
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
<provides> <service name="Nic"/> </provides>
|
||||
</start>
|
||||
|
||||
<start name="nic_router_1" caps="200">
|
||||
<binary name="nic_router"/>
|
||||
<start name="nic_router" caps="200">
|
||||
<resource name="RAM" quantum="10M"/>
|
||||
<provides>
|
||||
<service name="Nic"/>
|
||||
@ -90,10 +85,7 @@ append config {
|
||||
<domain name="downlink" interface="10.0.3.1/24">
|
||||
|
||||
<dhcp-server ip_first="10.0.3.2" ip_last="10.0.3.2"/>
|
||||
<icmp dst="} [good_dst_ip] {/24" domain="uplink"/>
|
||||
<udp dst="} [good_dst_ip] {/24">
|
||||
<permit port="} [bad_dst_port] {" domain="uplink"/>
|
||||
</udp>
|
||||
<icmp dst="} [dst_ip] {/24" domain="uplink"/>
|
||||
|
||||
</domain>
|
||||
|
||||
@ -115,169 +107,26 @@ append config {
|
||||
icmp="all"
|
||||
tcp="default" />
|
||||
<route>
|
||||
<service name="Nic"> <child name="nic_router_1"/> </service>
|
||||
<service name="Nic"> <child name="nic_router"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="nic_router_2" caps="200">
|
||||
<binary name="nic_router"/>
|
||||
<resource name="RAM" quantum="10M"/>
|
||||
<provides>
|
||||
<service name="Nic"/>
|
||||
<service name="Uplink"/>
|
||||
</provides>
|
||||
<config>
|
||||
|
||||
<policy label_prefix="ping_1" domain="ping_1"/>
|
||||
<policy label_prefix="ping_2" domain="ping_2"/>
|
||||
<nic-client domain="uplink"/>
|
||||
|
||||
<domain name="uplink">
|
||||
<nat domain="ping_1" icmp-ids="100"/>
|
||||
<nat domain="ping_2" icmp-ids="100" udp-ports="100"/>
|
||||
</domain>
|
||||
|
||||
<domain name="ping_2" interface="10.0.4.1/24">
|
||||
<icmp dst="} [good_dst_ip] {/24" domain="uplink"/>
|
||||
<udp dst="} [good_dst_ip] {/24">
|
||||
<permit port="} [bad_dst_port] {" domain="uplink"/>
|
||||
</udp>
|
||||
</domain>
|
||||
|
||||
<domain name="ping_1" interface="10.0.3.1/24">
|
||||
<icmp dst="} [good_dst_ip] {/24" domain="uplink"/>
|
||||
</domain>
|
||||
|
||||
</config>
|
||||
<start name="ping">
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<config interface="10.0.3.2/24"
|
||||
gateway="10.0.3.1"
|
||||
dst_ip="} [dst_ip] {"
|
||||
period_sec="1"
|
||||
verbose="no"/>
|
||||
<route>
|
||||
<service name="Nic"> <child name="nic_dump"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ping_2_nic_router" caps="200">
|
||||
<binary name="nic_router"/>
|
||||
<resource name="RAM" quantum="10M"/>
|
||||
<provides>
|
||||
<service name="Nic"/>
|
||||
<service name="Uplink"/>
|
||||
</provides>
|
||||
<config>
|
||||
|
||||
<policy label_prefix="ping_2" domain="ping_2"/>
|
||||
<nic-client domain="uplink"/>
|
||||
|
||||
<domain name="uplink" interface="10.0.4.2/24" gateway="10.0.4.1">
|
||||
<nat domain="ping_2" icmp-ids="100" udp-ports="100"/>
|
||||
</domain>
|
||||
|
||||
<domain name="ping_2" interface="10.0.5.1/24">
|
||||
<dhcp-server ip_first="10.0.5.100"
|
||||
ip_last="10.0.5.200"/>
|
||||
|
||||
<icmp dst="} [bad_dst_ip] {/24" domain="uplink"/>
|
||||
<icmp dst="} [good_dst_ip] {/24" domain="uplink"/>
|
||||
<udp dst="} [good_dst_ip] {/24">
|
||||
<permit port="} [bad_dst_port] {" domain="uplink"/>
|
||||
</udp>
|
||||
</domain>
|
||||
|
||||
</config>
|
||||
<route>
|
||||
<service name="Nic"> <child name="nic_router_2"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ping_11">
|
||||
<binary name="ping"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<config interface="10.0.3.2/24"
|
||||
gateway="10.0.3.1"
|
||||
dst_ip="} [good_dst_ip] {"
|
||||
period_sec="1"
|
||||
verbose="no"/>
|
||||
<route>
|
||||
<service name="Nic"> <child name="nic_router_2"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ping_12">
|
||||
<binary name="ping"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<config interface="10.0.3.3/24"
|
||||
gateway="10.0.3.1"
|
||||
dst_ip="} [good_dst_ip] {"
|
||||
period_sec="1"
|
||||
verbose="no"/>
|
||||
<route>
|
||||
<service name="Nic"> <child name="nic_router_2"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ping_2_nic_bridge" caps="200">
|
||||
<binary name="nic_bridge"/>
|
||||
<resource name="RAM" quantum="10M"/>
|
||||
<provides><service name="Nic"/></provides>
|
||||
<config mac="12:12:12:12:12:00">
|
||||
<policy label_prefix="ping_21"/>
|
||||
<policy label_prefix="ping_23"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Nic"> <child name="ping_2_nic_router"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ping_21">
|
||||
<binary name="ping"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<config dst_ip="} [good_dst_ip] {"
|
||||
period_sec="1"
|
||||
verbose="no"/>
|
||||
<route>
|
||||
<service name="Nic"> <child name="ping_2_nic_bridge"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start>
|
||||
|
||||
<start name="ping_22">
|
||||
<binary name="ping"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<config interface="10.0.5.3/24"
|
||||
gateway="10.0.5.1"
|
||||
dst_ip="} [bad_dst_ip] {"
|
||||
period_sec="1"
|
||||
verbose="no"/>
|
||||
<route>
|
||||
<service name="Nic"> <child name="ping_2_nic_router"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start> }
|
||||
|
||||
append_if $on_hardware config {
|
||||
|
||||
<start name="ping_23">
|
||||
<binary name="ping"/>
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<config period_sec="1"
|
||||
verbose="no"
|
||||
count="1"
|
||||
protocol="udp"
|
||||
dst_ip="} [good_dst_ip] {"
|
||||
dst_port="} [bad_dst_port] {"/>
|
||||
<route>
|
||||
<service name="Nic"> <child name="ping_2_nic_bridge"/> </service>
|
||||
<any-service> <parent/> <any-child/> </any-service>
|
||||
</route>
|
||||
</start> }
|
||||
|
||||
append config {
|
||||
|
||||
</config> }
|
||||
</config>
|
||||
}
|
||||
|
||||
install_config $config
|
||||
|
||||
@ -286,12 +135,4 @@ build_boot_image [build_artifacts]
|
||||
append qemu_args " -nographic "
|
||||
append_qemu_nic_args
|
||||
|
||||
set done_string ""
|
||||
for {set i 0} {$i < 3} {incr i 1} {
|
||||
append done_string ".*child \"ping...\" exited with exit value 0.*\n"
|
||||
}
|
||||
append done_string ".*ping_22\] From 10.0.4.1 icmp_seq=.* Destination Unreachable.*\n"
|
||||
|
||||
append_if $on_hardware done_string ".*ping_23\] From [good_dst_ip] Destination Unreachable.*\n"
|
||||
|
||||
run_genode_until $done_string 30
|
||||
run_genode_until ".*child \"ping\" exited with exit value 0.*\n" 60
|
||||
|
Loading…
x
Reference in New Issue
Block a user