The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Quality/ExecuteTests
Contents |
Description
This HowTo describes how to execute test cases or test plans in a target device. In this HowTo we use Mer SDK as a host and Nemo virtual machine as a target, but this guide applies for all other devices too.
Preparation
SDK
Add test exeuction tools repository
sudo zypper ar http://repo.merproject.org/obs/mer-tools:/stable/latest_i586/ mer-tools
Install execution tools
sudo zypper ref sudo zypper in testrunner-lite eat-host
Add SSH host to your system
eat-install-host-key
Target image
Get Nemo virtual image ks file from http://releases.nemomobile.org/snapshots/images/ (i586-vm)
Add new repo:
repo --name=mer-tools --baseurl=http://repo.merproject.org/obs/mer-tools:/stable/latest_i586/ --save
Add eat-device to the %packages section:
eat-device
Add SSH device keys for root and user
su -c 'eat-add-device-key' su nemo -c 'eat-add-device-key'
Add needed tests to the image, look from here
Create raw image for KVM:
sudo mic create raw --record-pkgs=name --pkgmgr=yum --arch=i586 <ks file>
See mer-minimal-xorg ks file.
KVM
Note!: This is not needed if you don't want to use KVM
Install KVM to your real host, not to the SDK but to the host host!
For Ubuntu:
sudo apt-get install qemu-kvm kvm-pxe
Start Nemo image in KVM:
kvm -m 512 -hda mer-minimal-xorg-sda.raw -smp 2 -net nic -net user,hostfwd=tcp::5555-:22
Parameters:
- -m memory
- -hda hard disk image
- -smp number of processors
- -net nic, should automatically setup the eth0 interface and IP address for it
- -net user, network in user mode, hostfwd option maps host's port 5555 to target's 22 port (ssh -p 5555 root@localhost).
Test execution
Check that you have password-less access to the target:
ssh -i ~/.ssh/id_eat_dsa root@target_ip
If you are using kvm, then
ssh -i ~/.ssh/id_eat_dsa -p 5555 root@localhost
- Note* Add following settings to ~/.ssh/config (KVM settings, modify to match your target)
Host localhost 127.0.0.1 StrictHostKeyChecking no IdentityFile %d/.ssh/id_eat_dsa Port 5555
Use testrunner-lite or testrunner-ui to execute test plan or tests:
testrunner-lite -f tests.xml -o result.xml -t root@target_ip -v
For KVM:
testrunner-lite -f tests.xml -o result.xml -t root@localhost -v
Parameters:
- -f path to the test plan
- -o result output
- -t remote execution
- -k path to identification file
- -v verbose
Tests
Test plans
- Quality/Test_coverage will have test plans and settings for plans.
Basic Layer tests (BLTS)
https://meego.gitorious.org/meego-quality-assurance/mcts/trees/master/mcts-blts
Install some tests
sudo zypper in blts-bluetooth-tests
Execute tests from the command line
sudo blts-bluetooth -e 1
Execute tests with testrunner-lite
sudo testrunner-lite -f /usr/share/blts-bluetooth-tests/tests.xml -o /tmp/results.xml -v
Middleware tests (MWTS)
https://meego.gitorious.org/meego-quality-assurance/mcts/trees/master/mcts-mwts
Install some tests
sudo zypper in mwts-filesystem-generic-all
Execute tests with testrunner-lite:
testrunner-lite -f /usr/share/mwts-filesystem-generic-tests/tests.xml -o /tmp/result.xml -v
Execute tests with min console UI:
min
Execute tests with min console:
min -c -r "TMP"
See detailed results:
cat /var/log/tests/*.result
Others
https://meego.gitorious.org/meego-quality-assurance/mcts/trees/master/