We need to implement the test for thunderbolt devices

Bug #1443372 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox Provider - Base
Fix Released
Critical
Po-Hsu Lin

Bug Description

We need to create the following test for thunderbolt devices:

* Storage:
Maybe we can re-use the current storage test that we use for our eSATA / firewire disk test.
We can have a basic storage test first, then advanced to the test that can check it's throughput.

* Display:
Do we need to test the resolution cycling on the external monitor?
As per this bug [1], if the external monitor works fine with the highest resolution, it won't be a blocker. (Unless we will consider it's a blocker in 14.04.3)
For the resolution issue that I found when testing with QA, the monitor won't work with resolution set to 1024*768 when connected to that M3800 (which will be triggered when you switch to mirrored mode), thus I think maybe we could just test it with the highest resolution, and with different modes (extended, mirrored...)

[1] https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-331/+bug/1342573

* Daisy chain:
We have two devices now, one monitor, one HDD, should we consider A+B and B+A configuration for this?
What should be tested on them when daisy-chained (display, storage, display mode switching...)

* Audio
Audio testing for the monitor, basically the same thing for the HDMI/DP audio testing.

Related branches

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Monitor test is already available in rev 3642 to thunderbolt monitors:
http://bazaar.launchpad.net/~checkbox-dev/checkbox/trunk/revision/3642

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

For storage test, when it's connected, it could be listed with:
./removable_storage_test -l ata_serial_esata
--------------------
Removable devices currently mounted:
/dev/sda1 : /boot/efi
/dev/sda2 : /
/dev/sdc1 : /media/u/LACIE SETUP
Removable devices currently not mounted:
None
--------------------

and
 ./removable_storage_test -l scsi
--------------------
Removable devices currently mounted:
/dev/sda1 : /boot/efi
/dev/sda2 : /
/dev/sdc1 : /media/u/LACIE SETUP
Removable devices currently not mounted:
None
--------------------

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Storage remove action tested wit the scsi / ata_serial_esata option, both of them the could detect the removal of the TB drive.

However, for the insert action, it needs the driver to be mounted to complete the detection.
(for this case, when you insert the drive, the icon will appear on your unity panel, it won't be mounted automatically unless you click on it.)

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

For the insert test, we could tell tester to click on the icon to mount it.

For the storage test, if we run the storage test with "scsi" option, it will try to perform the test on all these HDDs

$ ./removable_storage_test -s 268400000 scsi
Found the following mounted scsi partitions:
    /dev/sdc1 : /media/u/CertTB : None bits/s
    /dev/sda1 : /boot/efi : None bits/s
    /dev/sda2 : / : None bits/s
--------------------
/dev/sdc1 (Total Data Size / iteration: 255.9662 MB):
 [Iteration 0] Average Speed: 176.0535
 Summary:
  Total Data Attempted: 255.9662 MB
  Total Time to write: 1.4539 secs
  Average Write Time: 1.4539 secs
  Average Write Speed: 176.0535 MB/s
/dev/sda1 (Total Data Size / iteration: 255.9662 MB):
ERROR:root:Unable to open /boot/efi/tmpw434dziy.0 for writing.
ERROR:root: [Errno 13] Permission denied: '/boot/efi/tmpw434dziy.0'
ERROR:root:Failed to copy /tmp/tmpw434dziy to /boot/efi/tmpw434dziy.0
ERROR:root:Unable to remove tempfile /boot/efi/tmpw434dziy.0
ERROR:root: [Errno 13] Permission denied: '/boot/efi/tmpw434dziy.0'
 [Iteration 0] Average Speed: 0.0000
 Summary:
  Total Data Attempted: 255.9662 MB
  Total Time to write: 0.0000 secs
  Average Write Time: 0.0000 secs
  Average Write Speed: 0.0000 MB/s
/dev/sda2 (Total Data Size / iteration: 255.9662 MB):
ERROR:root:Unable to open /tmpw434dziy.0 for writing.
ERROR:root: [Errno 13] Permission denied: '/tmpw434dziy.0'
ERROR:root:Failed to copy /tmp/tmpw434dziy to /tmpw434dziy.0
ERROR:root:Unable to remove tempfile /tmpw434dziy.0
ERROR:root: [Errno 2] No such file or directory: '/tmpw434dziy.0'
 [Iteration 0] Average Speed: 0.0000
 Summary:
  Total Data Attempted: 255.9662 MB
  Total Time to write: 0.0000 secs
  Average Write Time: 0.0000 secs
  Average Write Speed: 0.0000 MB/s
WARNING:root:Completed 1 test iterations, but there were errors

It's working, but it's not correct.

When the HDD is mounted, there will be an extra Serial ATA controller under the tree of PCI bridges,
therefore, a possible solution is to parse the SATA controller (with driver: ahci) under the PCI bridge tree (with driver: pcieport)
Then we will, find the right device to test with.

Zygmunt Krynicki (zyga)
Changed in plainbox-provider-checkbox:
status: New → Confirmed
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

From comment #4, if we don't run the storage test with root privilege, it can't be started on /dev/sda1 and /dev/sda2, which is great as we don't want it. And it can finish on the external storage /dev/sdc1 correctly.

So I think we can use the current storage test for now, and tweak it to be more reliable in the future.

Po-Hsu Lin (cypressyew)
Changed in plainbox-provider-checkbox:
assignee: nobody → Po-Hsu Lin (cypressyew)
status: Confirmed → In Progress
description: updated
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

I fixed everything apart from the 'mount me on insert' thing. Please hit me with a bug report for that tomorrow so that I don't forget. This is a bigger task so I wanted to focus on things that can unblock you on the way.

Changed in plainbox-provider-checkbox:
importance: Undecided → Critical
Po-Hsu Lin (cypressyew)
Changed in plainbox-provider-checkbox:
milestone: none → 0.20
status: In Progress → Fix Committed
Changed in plainbox-provider-checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.