Contents |
MWTS-USB contains tests for USB network functionalities: upload/download throughput and reliability.
Throughput is measured with iperf measurement tool and also by transferring real files. File sizes are 512kB, 5MB and 640MB. Scp is used in file transfer.
USB mass storage is out of scope. Mass storage test cases are located in MWTS-filesystem.
http://gitorious.org/qa-tools/mcts/trees/master/mcts-mwts/generic/mwts-usb
doxygen
to generate html documentation
Supported devices
Test cases can be found in MIN scripter files
| File name | Description |
|---|---|
| mwts-usb.cfg | Basic functional test cases for USB |
| mwts-usb-nft.cfg | Test cases for verifying USB network performance and reliability |
| mwts-usb-slave.cfg | Slave test cases for master-slave |
Basic functional test cases for USB
| Test case name | Description |
|---|---|
| FUTE-USB-Send_throughput | |
| FUTE-USB-Receive_throughput | |
| FUTE-USB-Send_512kb_file | |
| FUTE-USB-Receive_512kb_file |
Test cases for verifying USB network performance and reliability
| Test case name | Description |
|---|---|
| NFT-USB-Send_throughput-THRO | |
| NFT-USB-Receive_throughput-THRO | |
| NFT-USB-Send_512kb_file-THRO | |
| NFT-USB-Receive_512kb_file-THRO | |
| NFT-USB-Send_512kb_file-ITER | |
| NFT-USB-Receive_512kb_file-ITER | |
| NFT-USB-Send_5MB_file-THRO | |
| NFT-USB-Receive_5MB_file-THRO | |
| NFT-USB-Send_5MB_file-ITER | |
| NFT-USB-Receive_5MB_file-ITER | |
| NFT-USB-Send_640MB_file-THRO | |
| NFT-USB-Receive_640MB_file-THRO | |
| NFT-USB-Send_throughput_2h-LOLA | |
| NFT-USB-Receive_throughput_2h-LOLA |
Slave test cases for master-slave
| Test case name | Description |
|---|---|
| FUTE-USB-Start_throughput_server-SLAVE | |
| FUTE-USB-Send_throughput-SLAVE | |
| NFT-USB-Send_throughput-ITER-SLAVE | |
| NFT-USB-Send_throughput_2h-LOLA-SLAVE |
Coverage target
Required HW
Required SW
PATH variable.
To build package from source code:
sh ./buildrpm
qmake make make install (as root)
In order to execute all tests on MWTS-USB, you need the following:
ssh-keygenssh-copy-id root@192.168.2.15
sudo dd if=/dev/zero of=/usr/share/mwts/testdata/0512k.bin bs=1024 count=5sudo dd if=/dev/zero of=/usr/share/mwts/testdata/5MB.bin bs=1024 count=5000sudo dd if=/dev/zero of=/usr/share/mwts/testdata/640MB.bin bs=1024 count=640000
After you have successfully installed required packages to the target device and to your desktop PC you can execute test cases.
Connect USB cable to device and configure IP addresses. For desktop PC use 192.168.2.14 and for target device use 192.168.2.15. Check that you can use SSH without password.
Give command
mind
in your target device to start the MIN daemon, which will run the slave tests automatically.
Give command
min -s 192.168.2.15
in your desktop PC to start MIN in master-slave mode. This brings up MIN user interface where you can select and start test cases.
Alternatively you can specify the name of the test case as a command line parameter
min -s 192.168.2.15 -c -t 'FUTE-USB-Send_throughput'
Note that you have to execute send test case before receive test case! Without that the receive test case will fail because there will be no file to transfer in the target device.
Check the MWTS.README for general instructions.
Test result are available in the MIN UI. In addition, test result log files can be found from device in directory
/var/log/tests/
Result files are named according to test cases, <test_case_name>.result file contains overall information about test run and measured values.
Log file are created if the environment variable MWTS_DEBUG has been set to 1.
export MWTS_DEBUG=1
To print debug info in console set environment variable MWTS_LOG_PRINT to 1.
export MWTS_LOG_PRINT=1
No configuration file is used with MWTS-USB test asset.
Table below describes the MIN scripter interface functions. Please refer to MIN documentation (1) for further technical details.
| MIN | Parameters | Description |
|---|---|---|
| SendFile | ip <target_device_ip> srcfile <file_to_send> destfile <destination_path> | Measure file send throughput. Parameter ip defines the IP address of the target device. Parameter srcfile is the source file that is sent. Parameter destfile defines the destination path on the target device for the file being sent. |
| ReceiveFile | ip <target_device_ip> srcfile <file_to_receive> destfile <destination_path> | Measure file receive throughput. Parameter ip defines the IP address of the target device. Parameter srcfile is the source file that is received. Parameter destfile defines the destination path for the file being received. |
Examples: SendFile ip 192.168.2.15 srcfile /usr/share/mwts/testdata/0512k.bin destfile /home/meego/ ReceiveFile ip 192.168.2.15 srcfile /usr/share/mwts/testdata/0512k.bin destfile /tmp/
MWTS-USB test asset also uses the following MIN functions from MWTS-Common:
| MIN | Parameters | Description |
|---|---|---|
| StartClientThroughput | <server_ip> <time> | Starts iperf in client mode. Parameter server_ip defines the IP address where iperf connects. Parameter time defines how long iperf is run. Time parameter is optional. |
| StartServerThroughput | Starts iperf in server mode. No parameters. | |
| StopThroughput | Stops the iperf tool, if it is still running. No parameters. |
When transferring a big file (640MB) eMMC must be mounted in the device. Otherwise the device will run out of disk space.
| Version | Revision | Date | Handled By | Comments |
|---|---|---|---|---|
| 0.0.1 | r1 | 05 Jan-2011 | Rauno Vartiainen | Initial version |