All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antti =?unknown-8bit?q?Kaijanm=C3=A4ki?= <antti.kaijanmaki@canonical.com>
To: ofono@ofono.org
Subject: Re: [PATCH 1/2] Basic blocks for control channel.
Date: Mon, 07 Apr 2014 23:34:37 +0300	[thread overview]
Message-ID: <53430BDD.4010506@canonical.com> (raw)
In-Reply-To: <5342B001.309@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3185 bytes --]

On 07.04.2014 17:02, Denis Kenzior wrote:
> As I've said before, this is overkill.  It makes the phonesim plugin way
> more complicated that it needs to be.  A .conf parser with over-ridable
> directories, a control channel with add/remove/reset? Seriously?

There are clear real world use cases the proposed change.
(As complete reference for the readers the mailing list, please, see the
thread "[PATCH 1/2] Allow users to specify dbus name replacement
behaviour.").

Let me summarize.

$OFONO_PHONESIM_CONFIG:
Allows tests to run unpriviledged ofono instances with the
phonesim-plugin on top of private system bus without needing write
access to /etc/ofono/phonesim.conf in order to change the number of modems.

D-Bus control channel:
Allows changing the number of modems on a single system level ofono
instance.


Both are usable with on their own and allow flexibility for testers to
choose the testing strategy based on their needs (private system bus vs.
actual system bus, multiple .conf files vs. dbus configuration on the
fly). Unit testing API bindings or testing middleware can use the
private system bus approach and system or user story testing of a
complete software stack such as a mobile phone user interface would use
the actual system bus.

Having the dbus interface also allows automated test suite to set up
number of ofono modems based on the environment specification of
individual tests.

Also not mentioned before, the dbus interface allows to test
Manager::modemAdded() and Modem::modemRemoved() logic in the unit under
test.


> UI should be designed to ignore non-powered modems, and only look for
> interfaces that it handles specifically.  So for a properly designed UI,
> none of these changes are required.  If you want to handle DualSim
> cleanly, then feel free to propose a mechanism / hint that makes
> applications aware of the fact that two modems belong to a group.

A system with two modems where one modem being powered off is still a
system with two modems. One modem simply being powered off does not make
the system a single-modem one.

In my opinion the cleanest way to implement Multi-SIM is to have ofono
reporting a correct number of modems.

UI should ignore non-powered modem only if the UI design for the
particular component mandates so. The UI design could also mandate that
if a modem is powered off, or has some other problem which makes it
unusable, the modem should be shown as disabled. Or something else.


My point being:
   A) Having to implement testing-only code paths to components makes
      testing much more complicated and potentially erroneous as the
      code paths being tested differ between testing and production.
   B) oFono should not impose arbitrary limits to UI/UX design.


> If the above cannot be done, then please write a plugin to address your
> specific use case.

I hope these use cases show how these patches are useful, allow more
flexible testing strategies and don't change the fundamental purpose of
the phonesim-plugin.

All in less than 150 lines of code.


I would kindly ask you to reconsider.

 -- Antti



  reply	other threads:[~2014-04-07 20:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-07 11:55 [PATCH 1/2] Basic blocks for control channel jussi.pakkanen
2014-04-07 11:55 ` [PATCH 2/2] Basic implementation of dbus methods jussi.pakkanen
2014-04-07 14:02 ` [PATCH 1/2] Basic blocks for control channel Denis Kenzior
2014-04-07 20:34   ` Antti =?unknown-8bit?q?Kaijanm=C3=A4ki?= [this message]
2014-04-07 21:40     ` Denis Kenzior
2014-04-08 12:24       ` Antti =?unknown-8bit?q?Kaijanm=C3=A4ki?=

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53430BDD.4010506@canonical.com \
    --to=antti.kaijanmaki@canonical.com \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.