Hi to all.
As you may noticed I'm developing a new driver for commercial
Kenwoods, see details in issue 2999 here:
http://chirp.danplanet.com/issues/2999
I just have completed the last milestone (full bank support, a lot
of bug fixes, a lot of validation, PEP8, and new settings) to send
the patch to the daily tree, and the code it's stable enough in my
testing bed here with 3 radios.
But the run_test.sh script fails, digging around this I found that
the culprit is the run_test script it self in he section for testing
banks with newly created channels exactly in two places (so far):
<code>
{set memory empty}
{assign some basic data to channel}
mem_banks = model.get_memory_mappings(mem)
if len(mem_banks) != 0:
raise TestFailedError("Freshly-created memory has banks
and " +
"should not", "Banks:
%s" % str(mem_banks))
{.....}
model.remove_memory_from_mapping(mem, banks[0])
reason = verify(banks[0])
if reason is None:
raise TestFailedError("Memory remains in bank after
remove",
reason)
</code>
As you can see in this code segments this assume that a channel
may be assigned to a bank or not, but then here come
this Kenwood commercial radios to break this:
The kenwood Serie 60G family has a enforcement to every channel:
it hast belong to a bank (or groups in kenwood speaking)
Then, should I patch the run_test script to reproduce the desired
behavior?
It's the less traumatic solution from my point of view, but the less
elegant.
My python is improving but it's not enough to recreate a bank model
class with this enforcement link between, if such provision is made
we need to change run_test.sh to reflect this changes.
As I'm new into this community I has to ask to the collective
intelligence:
What is the correct solution to this?
Cheers.