ubuntu-session
7212
Comment:
|
7330
|
Deletions are marked like this. | Additions are marked like this. |
Line 15: | Line 15: |
* Install gnome-software from (PPA ppa:ubuntu-desktop/gnome-software ? -proposed?) * Logout / Login |
* Install gnome-software from (PPA ppa:ubuntu-desktop/gnome-software ? -proposed) {{{ $ sudo apt-add-repository ppa:ubuntu-desktop/gnome-software $ sudo apt update $ sudo apt upgrade $ killall gnome-software }}} |
Test plan for component: gnome-software
Component Checklist: https://wiki.ubuntu.com/Process/Merges/Checklists/Common
Upstream project:
Ubuntu Packaging Branch:
Ubuntu Package URL (LP): https://launchpad.net/ubuntu/+source/gnome-software
PPA (LP): ppa:ubuntu-desktop/gnome-software
Description
This is a test plan for gnome-software as used by Ubuntu Desktop. It covers the standard features of Gnome Software as well as the support for snap packages.
Initial set up
- Install latest Ubuntu Desktop development release
- Install gnome-software from (PPA ppa:ubuntu-desktop/gnome-software ? -proposed)
$ sudo apt-add-repository ppa:ubuntu-desktop/gnome-software $ sudo apt update $ sudo apt upgrade $ killall gnome-software
Manual Tests
Test Sets
This section provides an explanation of each of the test sets.
Test set |
Brief Description |
User |
The User set of tests is to cover the use cases valid for a regular user who would normally not use the Bluetooth in ony other way [using bluetoothctl for example]. These tests are limited to the interaction that goes through the Ubuntu System Settings. In particular the functionality such as discovering devices, connecting to devices or Bluetooth state are checked here to verify that there are no major flaws. |
Kernel |
The Kernel test set tests the Kernel Bluetooth Management Layer. This is to test the Bluetooth stack which is encapsulated in the Linux Kernel. These tests verify that the low-level facilities are working correctly which is a prerequisite for any other set of tests. Note that these tests shall be performed only when the kernel is updated or BlueZ version changed and can be skipped if the update touches only the userland components. |
General |
The General set of tests focuses on the commandline Bluetooth manager which is a layer between the System Settings and the Kernel. These tests repeat the use-cases from the User set of tests. |
Music |
These tests are here to verify that the A2DP and AVRCP Bluetooth profiles are operating as expected allowing the end users to listen to music using their Bluetooth enabled headsets and speakers |
HFP |
These tests are here to verify that the Handsfree functionality is implemented providing means to make phone calls using the remote Bluetooth accessories. |
HID |
These tests are here that the Bluetooth enabled [Classic and Low Energy] keyboards and mices can be used with the Ubuntu based devices such as: ubuntu phone, ubuntu tablet and the desktop. |
Kernel a.k.a. Kernel Bluetooth Management Layer
NOTE: You only have to run those test when you test a new kernel. If just the userland components were updated these test steps are not required to be executed.
BlueZ comes with several utilities to test the in-kernel bluetooth management layer. Those are
- bnep-tester
- hci-tester
- mgmt-tester
- rfcomm-tester
- userchan-tester
Each of them tests a different functionality part of the kernel bluetooth management layer. We're going to run all of them as part of this test plan.
Note - the following will not work on Touch devices as of Jan '16, as most if not all Touch devices have kernel modules turned off by default. Please skip the following testing unless you're preparing a new kernel release for a device...
As preparation for some of them we have to do the following:
- Stop the bluetoothd daemon
$ sudo service bluetooth stop
- Make sure bluetooth is turned off but rfkill not blocked.
$ sudo rfkill unblock bluetooth $ sudo hciconfig hci0 down
- Load VHCI kernel module as this one will not be loaded automatically as only used for testing
$ sudo modprobe hci_vhci
FIXME: As of right now the tools used below are not part of any package. You have to build bluez manually with --enable-experimental to get them. This was reported as a bug at Debian and should be fixed soon. Another way to get those tools is:
$ wget https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-043/+files/bluez-test-scripts_5.33-0ubuntu6_armhf.deb $ dpkg-deb -x bluez-test-scripts_5.33-0ubuntu6_armhf.deb . $ find usr/bin usr/bin usr/bin/bnep-tester usr/bin/l2cap-tester usr/bin/sco-tester usr/bin/mgmt-tester usr/bin/smp-tester usr/bin/gap-tester usr/bin/hci-tester usr/bin/userchan-tester usr/bin/rfcomm-tester
All tools are then available in the usr/bin folder without the need to install anything.
Adapter
To verify that the Bluetooth adapter was correctly initialized and is ready to be used use the hciconfig. Check with
$ hciconfig
that an HCI interface is present (normally hci0). Output should be similar to this:
phablet@ubuntu-phablet:~$ hciconfig hci0: Type: BR/EDR Bus: UART BD Address: 4C:74:03:64:82:1F ACL MTU: 1021:4 SCO MTU: 184:1 DOWN RX bytes:620 acl:0 sco:0 events:31 errors:0 TX bytes:411 acl:0 sco:0 commands:31 errors:0
NOTE: The state of the interface should correspond to the Bluetooth indicator state in the UI. In the example above the interface is DOWN so the indicator should show disabled Bluetooth too.
To verify that the adapter is correctly connected the in-kernel management layer use the btmgmt.
NOTE: The btmgmt utility is only available on systems with BlueZ 5.x
$ btmgmt info
The output should be similar to this:
Index list with 1 item hci0: Primary controller addr 4C:74:03:64:82:1F version 6 manufacturer 70 class 0x000000 supported settings: powered connectable fast-connectable discoverable bondable link-security ssp br/edr hs le advertising secure-conn debug-keys privacy static-addr current settings: br/edr name MTK MT6582 #1 short name
If no controller is listed the test step should be considered as failed.
HCI
Run the HCI tester with
$ sudo hci-tester
Afterwards we have to evaluate the output. Failed commands with status 0x1 (Unknown HCI command) can be ignored as those are then just not supported by the Bluetooth version the device supports. All other failed tests with a different status code should be considered as failed.
Management Interface
Run the management interface tester with
$ sudo mgmt-tester
All tests should pass.
RFCOMM
Run the RFCOMM tester with
$ sudo rfcomm-tester
All tests should pass.
BT User channel
Run the user channel tester with
$ sudo userchan-tester
All tests should pass.
BT BNEP
Run the BNEP tester with
$ sudo bnep-tester
All tests should pass.
General a.k.a Bluetooth management daemon
This tests the bluetooth management daemon running as part of the userland. It's binary name is bluetoothd.
The following is the list of function-specific test plans:
Process/Merges/TestPlans/ubuntu-session (last edited 2017-09-05 10:17:00 by jibel)