119 lines
5.2 KiB
Plaintext
119 lines
5.2 KiB
Plaintext
|
|
*** Variables ***
|
||
|
|
${SCRIPT} @scripts/single-node/beaglev_starlight.resc
|
||
|
|
${MACHINE0} machine0
|
||
|
|
${MACHINE1} machine1
|
||
|
|
${MAC_ADDR0} 66:34:B0:6C:DE:A0
|
||
|
|
${MAC_ADDR1} 66:34:B0:6C:DE:A1
|
||
|
|
${IP_ADDR0} 192.168.0.5
|
||
|
|
${IP_ADDR1} 192.168.0.6
|
||
|
|
${UART} sysbus.uart3
|
||
|
|
|
||
|
|
|
||
|
|
*** Keywords ***
|
||
|
|
Create Machine
|
||
|
|
[Arguments] ${machine} ${external_pmp}=false
|
||
|
|
Execute Command $name="${machine}"
|
||
|
|
Execute Command include @${SCRIPT}
|
||
|
|
IF '${external_pmp}' == 'true'
|
||
|
|
Execute Command machine LoadPlatformDescriptionFromString "pmp1: Miscellaneous.RiscVExternalPMP @ U74_1"
|
||
|
|
Execute Command machine LoadPlatformDescriptionFromString "pmp2: Miscellaneous.RiscVExternalPMP @ U74_2"
|
||
|
|
END
|
||
|
|
# We enable serial execution to ensure a deterministic result as this test uses 2 machines, each with 2 CPUs
|
||
|
|
Execute Command emulation SetGlobalSerialExecution True
|
||
|
|
${tester} = Create Terminal Tester ${UART} 40 ${machine} defaultPauseEmulation=True
|
||
|
|
RETURN ${tester}
|
||
|
|
|
||
|
|
Connect Machines To Switch
|
||
|
|
Execute Command emulation CreateSwitch "switch"
|
||
|
|
Execute Command connector Connect sysbus.ethernet switch machine=${MACHINE0}
|
||
|
|
Execute Command connector Connect sysbus.ethernet switch machine=${MACHINE1}
|
||
|
|
|
||
|
|
Verify U-Boot
|
||
|
|
[Arguments] ${tester}
|
||
|
|
Wait For Line On Uart OpenSBI v0.9 testerId=${tester}
|
||
|
|
Wait For Line On Uart Platform Name\\s+: StarFive testerId=${tester} treatAsRegex=true
|
||
|
|
Wait For Line On Uart U-Boot 2021.01 testerId=${tester}
|
||
|
|
Wait For Prompt On Uart dwmac.10020000 testerId=${tester}
|
||
|
|
|
||
|
|
Login And Configure Ethernet
|
||
|
|
[Arguments] ${tester} ${mac_addr} ${ip_addr}
|
||
|
|
Wait For Prompt On Uart buildroot login: testerId=${tester}
|
||
|
|
Write Line To Uart root testerId=${tester}
|
||
|
|
|
||
|
|
Wait For Prompt On Uart Password: testerId=${tester}
|
||
|
|
Write Line To Uart starfive testerId=${tester} waitForEcho=false
|
||
|
|
|
||
|
|
Wait For Prompt On Uart \# testerId=${tester}
|
||
|
|
Write Line To Uart ifconfig eth0 down testerId=${tester}
|
||
|
|
|
||
|
|
Wait For Prompt On Uart \# testerId=${tester}
|
||
|
|
Write Line To Uart ifconfig eth0 hw ether ${mac_addr} testerId=${tester}
|
||
|
|
|
||
|
|
# MTU size must be decreased due to limiations of the driver
|
||
|
|
Wait For Prompt On Uart \# testerId=${tester}
|
||
|
|
Write Line To Uart ifconfig eth0 mtu 440 up ${ip_addr} testerId=${tester} waitForEcho=false
|
||
|
|
|
||
|
|
Test Ping
|
||
|
|
[Arguments] ${packet_size}=56
|
||
|
|
${tester} = Create Terminal Tester ${UART} machine=${MACHINE0} defaultPauseEmulation=True
|
||
|
|
Write Line To Uart ping -As ${packet_size} -c 10 ${IP_ADDR0} testerId=${tester} waitForEcho=false
|
||
|
|
Wait For Line On Uart 10 packets transmitted, 10 packets received, 0% packet loss testerId=${tester}
|
||
|
|
|
||
|
|
|
||
|
|
*** Test Cases ***
|
||
|
|
Should Boot U-Boot
|
||
|
|
${tester0} = Create Machine ${MACHINE0}
|
||
|
|
${tester1} = Create Machine ${MACHINE1}
|
||
|
|
|
||
|
|
Verify U-Boot ${tester0}
|
||
|
|
Verify U-Boot ${tester1}
|
||
|
|
|
||
|
|
Provides booted-uboot
|
||
|
|
|
||
|
|
Should Provide Two Linux Machines With Ethernet Connection
|
||
|
|
Requires booted-uboot
|
||
|
|
|
||
|
|
Connect Machines To Switch
|
||
|
|
|
||
|
|
${tester0} = Create Terminal Tester ${UART} machine=${MACHINE0} defaultPauseEmulation=True
|
||
|
|
${tester1} = Create Terminal Tester ${UART} machine=${MACHINE1} defaultPauseEmulation=True
|
||
|
|
|
||
|
|
Login And Configure Ethernet ${tester0} ${MAC_ADDR0} ${IP_ADDR0}
|
||
|
|
Login And Configure Ethernet ${tester1} ${MAC_ADDR1} ${IP_ADDR1}
|
||
|
|
|
||
|
|
Provides booted-linux
|
||
|
|
|
||
|
|
Should Ping
|
||
|
|
Requires booted-linux
|
||
|
|
Test Ping
|
||
|
|
|
||
|
|
Should Ping Large Payload
|
||
|
|
Requires booted-linux
|
||
|
|
Test Ping packet_size=3200
|
||
|
|
|
||
|
|
Should Boot U-Boot With External PMP
|
||
|
|
${tester0} = Create Machine ${MACHINE0} external_pmp=true
|
||
|
|
${tester1} = Create Machine ${MACHINE1} external_pmp=true
|
||
|
|
|
||
|
|
Verify U-Boot ${tester0}
|
||
|
|
Verify U-Boot ${tester1}
|
||
|
|
|
||
|
|
Provides booted-uboot-ext-pmp
|
||
|
|
|
||
|
|
Should Provide Two Linux Machines With Ethernet Connection With External PMP
|
||
|
|
Requires booted-uboot-ext-pmp
|
||
|
|
|
||
|
|
Connect Machines To Switch
|
||
|
|
|
||
|
|
${tester0} = Create Terminal Tester ${UART} machine=${MACHINE0} defaultPauseEmulation=True
|
||
|
|
${tester1} = Create Terminal Tester ${UART} machine=${MACHINE1} defaultPauseEmulation=True
|
||
|
|
|
||
|
|
Login And Configure Ethernet ${tester0} ${MAC_ADDR0} ${IP_ADDR0}
|
||
|
|
Login And Configure Ethernet ${tester1} ${MAC_ADDR1} ${IP_ADDR1}
|
||
|
|
|
||
|
|
Provides booted-linux-ext-pmp
|
||
|
|
|
||
|
|
Should Ping With External PMP
|
||
|
|
Requires booted-linux-ext-pmp
|
||
|
|
Test Ping
|