Meego Wiki
Views

Quality/TestSuite/MWTS Asset Buteo Description

From MeeGo wiki
< Quality | TestSuite
Revision as of 10:24, 23 April 2011 by Asinnela (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Introduction

Overview

Status In progress >Released Deprecated
Maintainer Pauli-Pekka Toivanen

MWTS-Buteo asset tests buteo sync-framework apis.

The Buteo Sync solution is a complete solution that broadly provides the following synchronization services:

  • Device to device synchronization of PIM data (Contacts and Calendar for now) based on SyncML
  • Device to cloud synchronization of PIM data (ovi.com, Scheduleworld.com etc.) based on SyncML
  • Synchronization of media content to PC based on MTP
  • Device to PC synchronization (currently only OviSuite, but this requires contract with OviSuite to support a particular device)

Libs used are:

  • sync-fw
  • for building sync-fw-dev

Getting the Latest Version

See chapter "running the test" for further instructions.

Support & Contacts

  • In case of a problem read carefully through this document. Then search bugzilla to see if someone else has had similar problems.
  • If your questions is still valid, please prefer the public #meego-qa-mcts @ irc.freenode.net IRC-channel or meego-qa-tools mailing list. This way you get the best possible attention to your questions.
  • If you think that you need to directly contact package maintainer then contact
    • Pauli-Pekka Toivanen, pauli-pekka.toivanen@digia.com (you can also take a look at the authors file to find the people who to cc)

Licensing

  • Please see the file called COPYING

Supported Devices and SW

mwts-buteo officially supports the following devices

  • nCDK
  • N900

Netbooks are not officially supported at the moment but it should work just fine on netbooks as well.

Test Cases

Test cases located in files mwts-buteo.cfg & mwts-buteo-nft.cfg

Test case name Description
FUTE-Buteo_list_profiles Lists available sync profiles
FUTE-Buteo_create_btprofile Creates bluetooth sync profile
FUTE-Buteo_create_google_profile Creates google contacts sync profile
FUTE-Buteo_remove_bt_profile Removes bluetooth profile
FUTE-Buteo_remove_google_profile Removes google profile
FUTE-Buteo_remove_profiles Removes all profiles
FUTE-Buteo_sync_bt Syncs with bluetooth profile
FUTE-Buteo_sync_google Cloud syncs google contacts
FUTE-Buteo_sync_memotoo cloud Syncs with memotoo.com profile
FUTE-Buteo_sync_mobical Cloud syncs with mobical.com profile
FUTE-Buteo_sync_ovi Cloud syncs with ovi.com profile
NFT-Buteo_sync_bt-ITER Syncs with bluetooth profile
NFT-Buteo_sync_google-ITER Cloud syncs google contacts
NFT-Buteo_sync_memotoo-ITER cloud Syncs with memotoo.com profile
NFT-Buteo_sync_mobical-ITER Cloud syncs with mobical.com profile
NFT-Buteo_sync_ovi-ITER Cloud syncs with ovi.com profile
NFT-Buteo_sync_bt-LATE Syncs with bluetooth profile
NFT-Buteo_sync_google-LATE Cloud syncs google contacts
NFT-Buteo_sync_memotoo-LATE cloud Syncs with memotoo.com profile
NFT-Buteo_sync_mobical-LATE Cloud syncs with mobical.com profile
NFT-Buteo_sync_ovi-LATE Cloud syncs with ovi.com profile

Running the Tests

Hardware setup and test environment

Required HW & SW

  • One test device with MeeGo
  • Bluetooth hardware for bt syncing
  • Internet connection for cloud syncing

Required SW

  • Qt >= 4.7.0 version
  • mwts-buteo
  • mwts-common (use the latest version)
  • synf-fw, sync-fw-dev package

If for some reason sync service plugins are missing, you can manually install them from the repositories. Different plugin are needed for different services (bluetooth, google, memotoo etc)

zypper pa | grep buteo-service
zypper install buteo-service-google buteo-service-memotoo etc ...
  • sync service plugins packages for different cloud services (buteo-service-google, buteo-service-memotoo etc )

Building packages

  • Check that depended packages are installed (mwts-common-devel, sync-fw-dev)
  • Execute buildrpm.sh script from the asset source root
  • built rmps located in source root/rpm/RPMS/...
  • Installation 'rpm -i <package_name>'

Running test cases

Before running cases you need to set LD_LIBRARY_PATH enviroment variable to '/lib'. Use 'export LD_LIBRARY_PATH=/lib' and kill and restart msync-daemon. This is a current workaround and will change in future.

For cloud syncing you need to se up internet connection first. Account credentials need to be set in the config file first (/usr/lib/tests/ButeoTest.conf).

For bluetooth syncing you should pair your devices beforehand. Bluetooth adresses etc need to be set in the config file first (/usr/lib/tests/ButeoTest.conf).

Otherwise MWTS-Buteo test execution is performed normally. Check the "General MWTS testing guide".

Test result analysis

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.

Troubleshooting

  • Test logs show you if the the dbus-service from msyncd is working.

You can set sync-framework loggin on modifyind /etc/sync/set_sync_log_level files value to 4. Also set enviromental variable LD_LIBRARY_PATH 'export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH' . Now you should be able to see debug in /home/meego/.sync/synchronizer.log.

Configuration file examples

[General]
sync_home=/home/meego/.sync/profiles/ # point to your users home directory

[bt_profile]
bt_address=00:00:00:00:00:00
bt_name=some_bt_dev
profile_name=bt_profile

[google_profile] # google.com
username=testipersoona
password=test
profile_name=google_profile

[memotoo_profile] # memotoo.com
username=testipersoona
password=test
profile_name=memotoo_profile

Module Design and Architecture

Architecture

  • Synchronization Framework - a generic framework providing a pluggable architecture.
  • SyncML stack - a OMA DS 1.1 and 1.2 compliant SyncML stack.
  • MTP stack - A Media Transfer Protocol 1.0 compliant MTP implemenation.
  • Sync plugins - a syncml sync plugin and a MTP sync plugin that hook into the synchronization framework

MIN Scripter Interface

MIN Description
Sync <profile_name> Starts syncing according to given profile
RemoveProfile <profile_name> Removes created profile
RemoveProfiles Removes all profiles
ListProfiles Lists available profiles
CreateBtProfile <profile_name> Creates a bluetooth sync profile
CreateOviProfile Creates a ovi sync service profile
CreateGoogleProfile Creates a google sync service profile
CreateMobicalProfile Creates a mobical sync service profile
CreateMemotooProfile Creates a memotoo sync service profile

Known issues

  • Currently missing some capabilities for services
  • Before running cases you need to set LD_LIBRARY_PATH enviroment variable to '/lib'. Use 'export LD_LIBRARY_PATH=/lib' and kill and restart msync-daemon. This is a current workaround and will change in future.

Future improvements

  • Cover more service and sync scenarios

References

Personal tools