obex_send and bluetooth_test duplicate functionality?
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox Provider - Base |
Fix Released
|
Low
|
Po-Hsu Lin |
Bug Description
An older obex_send script is used in a few (3 by my count) jobs. Meanwhile, a newer bluetooth_test script that can also get and browse files is used by 9 jobs.
Some of the job definitions are nearly identical, so I think we may be duplicating tests here, just with a different tool.
Part of the difference is that obex_send uses dbus to communicate with the system's bluetooth layer, so should work on a stock Ubuntu installation, while bluetooth_test requires obexftp and uses the commands provided by that package.
Still I wonder if, since fully using the obex_send tests still requires configuring a target bluetooth device (which is no work for a novice or casual user), we couldn't just get rid of those tests, and keep the ones that, while requiring an extra package, provide better functionality. We'd also be removing the obex_test script.
Tests using obex_send are:
name: suspend/
name: suspend/
name: suspend/
They have:
requires:
package.name == 'bluez'
package.name == 'obexd-client'
device.category == 'BLUETOOTH'
Tests using bluetooth_test are:
name: suspend/
name: suspend/
name: suspend/
name: suspend/
name: suspend/
name: suspend/
name: suspend/
name: suspend/
name: suspend/
They require:
requires:
package.name == 'bluez'
package.name == 'obexftp'
device.category == 'BLUETOOTH'
Related branches
- Zygmunt Krynicki (community): Approve
-
Diff: 245 lines (+0/-209)2 files modifiedproviders/plainbox-provider-checkbox/bin/obex_send (+0/-84)
providers/plainbox-provider-checkbox/jobs/suspend.txt.in (+0/-125)
affects: | checkbox → plainbox-provider-checkbox |
Changed in plainbox-provider-checkbox: | |
milestone: | none → 0.22 |
Changed in plainbox-provider-checkbox: | |
importance: | Undecided → Low |
Changed in plainbox-provider-checkbox: | |
milestone: | 0.22 → 0.23 |
status: | In Progress → Fix Committed |
Changed in plainbox-provider-checkbox: | |
status: | Fix Committed → Fix Released |
Found this issue today, and the old bluetooth_ obex_before_ suspend job (obex_send script) is not working at all.
If you try to run it with plainbox, it will fail with: ------- -----[ suspend/ bluetooth_ obex_before_ suspend ]------ ------- ------- canonical. certification: :suspend/ bluetooth_ obex_before_ suspend canonical. plainbox: :uncategorised ------- ------- ------- ------- ------- ------- ------- ------- ------- --- ws1nlq. 3c34264a0823c4d 9d6da8bc074ea37 3792f9042ccb3bb 3e0a087d12f2af8 6839/obex_ send", line 82, in <module> SendFiles( {"Destination" : sys.argv[1]}, files, path) python3/ dist-packages/ dbus/proxies. py", line 70, in __call__ method( *args, **keywords) python3/ dist-packages/ dbus/proxies. py", line 145, in __call__ python3/ dist-packages/ dbus/connection .py", line 651, in call_blocking .DBusException: org.openobex. Error.Failed: Unable to find service record ------- ------- ------- ------- ------- ------- ------- ------- ------- --- >8 ---
-------
ID: 2013.com.
Category: 2013.com.
... 8< -------
Traceback (most recent call last):
File "/tmp/nest-
client.
File "/usr/lib/
return self._proxy_
File "/usr/lib/
**keywords)
File "/usr/lib/
message, timeout)
dbus.exceptions
-------
Outcome: job failed
If you try to run it manually on 12.04, with all related parameters specified, it will fail with: JPEG_Color_ Image_Ubuntu. jpg13.com. canonical. certification\ :checkbox/ SendFiles( {"Destination" : sys.argv[1]}, files, path) python3/ dist-packages/ dbus/proxies. py", line 70, in __call__ method( *args, **keywords) python3/ dist-packages/ dbus/proxies. py", line 145, in __call__ python3/ dist-packages/ dbus/connection .py", line 651, in call_blocking .DBusException: org.openobex. Error.Failed: Unable to find service record 201105- 8048:/usr/ lib/2013. com.canonical. certification: checkbox/ bin$ exit
data/images/
Traceback (most recent call last):
File "./obex_send", line 82, in <module>
client.
File "/usr/lib/
return self._proxy_
File "/usr/lib/
**keywords)
File "/usr/lib/
message, timeout)
dbus.exceptions
ubuntu@