The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Quality/ExecuteTests

From Mer Wiki
< Quality
Revision as of 11:56, 26 July 2012 by Esmietti (Talk | contribs)

Jump to: navigation, search

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.pub.meego.com/Mer:/Tools/Mer_Core_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://repository.maemo.org/meego/Nemo/ (i586-vm)

Add new repo:

repo --name=mer-tools --baseurl=http://repo.pub.meego.com/Mer:/Tools/Mer_Core_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 example 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 nemo-handset-i586-vm-0.20120614.1.NEMO.2012-07-02.1-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

Use testrunner-lite or testrunner-ui to execute test plan or tests:

testrunner-lite -f tests.xml -o result.xml -t root@target_ip -k ~/.ssh/id_eat_dsa -v

For KVM:

testrunner-lite -f tests.xml -o result.xml -t root@localhost:5555 -k ~/.ssh/id_eat_dsa -v

Parameters:

  • -f path to the test plan
  • -o result output
  • -t remote execution
  • -k path to identification file
  • -v verbose

Tests

Test 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/

Personal tools