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_tests 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 Radio Serie 60G family has a different paradigm:
A channel must belong to a Channel Group
(aka bank) always
Then, should I patch the run_test.sh 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 incluede, if such provision is made
we need to change also the run_tests script 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.