Developers
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
March 2015
- 13 participants
- 55 discussions
# HG changeset patch
# User Zach Welch <zach(a)mandolincreekfarm.com>
# Fake Node ID 9ef52a090acda720eafb0fca678da908e251b637
Fix bug caused by style fix (#2355)
I introduced a minor typo during my cleanup. Thanks to Richard Cochran
for reporting the mistake.
diff --git a/chirp/ui/memedit.py b/chirp/ui/memedit.py
index 4834cce..5eb0f99 100644
--- a/chirp/ui/memedit.py
+++ b/chirp/ui/memedit.py
@@ -356,7 +356,7 @@ class MemoryEditor(common.Editor):
_("Cross Mode"): self.ed_tone_field,
}
- if cap in func:
+ if cap in funcs:
new = funcs[cap](rend, path, new, colnum)
if new is None:
1
0
This series contains the remaining changes for bringing the CHIRP
source tree into compliance with pep8.
Zachary T Welch (35):
Fix style issues in some drivers (#2355)
Fix style issues in ft50_ll.py (#2355)
Fix style issues in ft60.py (#2355)
Fix style issues in ft7800.py (#2355)
Fix style issues in ft90.py (#2355)
Fix style issues in ftm350.py (#2355)
Fix style issues in vx170.py (#2355)
Fix style issues in vx2.py (#2355)
Fix style issues in vx3.py (#2355)
Fix style issues in vx5.py (#2355)
Fix style issues in vx510.py (#2355)
Fix style issues in vx6.py (#2355)
Fix style issues in vx7.py (#2355)
Fix style issues in vx8.py (#2355)
Fix style issues in th9800.py (#2355)
Fix style issues in th_uv3r.py (#2355)
Fix style issues in th_uv3r25.py (#2355)
Fix style issues in th_uvf8d.py (#2355)
Fix style issues in tmv71*.py (#2355)
Fix style issues in ic208.py (#2355)
Fix style issues in ic2100.py (#2355)
Fix style issues in ic2200.py (#2355)
Fix style issues in ic2720.py (#2355)
Fix style issues in ic2820.py (#2355)
Fix style issues in ic9x.py (#2355)
Fix style issues in ic9x_icf.py (#2355)
Fix style issues in ic9x_icf_ll.py (#2355)
Fix style issues in ic9x_ll.py (#2355)
Fix style issues in icf.py (#2355)
Fix style issues in icq7.py (#2355)
Fix style issues in ict70.py (#2355)
Fix style issues in ict8.py (#2355)
Fix style issues in icw32.py (#2355)
Fix style issues in icx8x.py (#2355)
Fix style issues in icx8x_ll.py (#2355)
chirp/drivers/ft1802.py | 30 +-
chirp/drivers/ft2800.py | 10 +-
chirp/drivers/ft50.py | 5 +-
chirp/drivers/ft50_ll.py | 101 ++--
chirp/drivers/ft60.py | 316 +++++++------
chirp/drivers/ft7800.py | 231 ++++++----
chirp/drivers/ft90.py | 561 ++++++++++++-----------
chirp/drivers/ftm350.py | 39 +-
chirp/drivers/ic208.py | 16 +-
chirp/drivers/ic2100.py | 13 +-
chirp/drivers/ic2200.py | 17 +-
chirp/drivers/ic2720.py | 7 +-
chirp/drivers/ic2820.py | 26 +-
chirp/drivers/ic9x.py | 18 +-
chirp/drivers/ic9x_icf.py | 3 +
chirp/drivers/ic9x_icf_ll.py | 33 +-
chirp/drivers/ic9x_ll.py | 61 ++-
chirp/drivers/icf.py | 81 ++--
chirp/drivers/icq7.py | 62 +--
chirp/drivers/ict70.py | 9 +-
chirp/drivers/ict8.py | 1 +
chirp/drivers/icw32.py | 8 +-
chirp/drivers/icx8x.py | 8 +-
chirp/drivers/icx8x_ll.py | 125 +++--
chirp/drivers/th9800.py | 1038 ++++++++++++++++++++++--------------------
chirp/drivers/th_uv3r.py | 11 +-
chirp/drivers/th_uv3r25.py | 7 +-
chirp/drivers/th_uvf8d.py | 303 ++++++------
chirp/drivers/tmv71.py | 7 +-
chirp/drivers/tmv71_ll.py | 97 ++--
chirp/drivers/vx170.py | 36 +-
chirp/drivers/vx2.py | 460 ++++++++++---------
chirp/drivers/vx3.py | 459 +++++++++++--------
chirp/drivers/vx5.py | 18 +-
chirp/drivers/vx510.py | 6 +-
chirp/drivers/vx6.py | 53 +--
chirp/drivers/vx7.py | 48 +-
chirp/drivers/vx8.py | 228 +++++-----
tools/cpep8.blacklist | 38 --
39 files changed, 2552 insertions(+), 2038 deletions(-)
--
1.9.1
1
35
Tested changes:
[K. Arvanitis <kosta(a)alumni.uvic.ca>] Set scrollable property on main app notebook
This prevents the window from being automatically resized when multiple tabs
are simultaneously opened.
Bug #2347
Full log:
[...truncated 42 lines...]
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.057s
OK
Alinco DJ175 Detect PASSED: All tests
Alinco DJ175 Settings SKIPPED: Settings not supported
Alinco DJ175 Clone PASSED: All tests
Alinco DJ175 Edges PASSED: All tests
Alinco DJ175 BruteForce PASSED: All tests
Alinco DJ175 CopyAll PASSED: All tests
Alinco DJ175 Banks SKIPPED: Banks not supported
Alinco DJ596 Detect PASSED: All tests
Alinco DJ596 Settings SKIPPED: Settings not supported
Alinco DJ596 Clone PASSED: All tests
Alinco DJ596 Edges PASSED: All tests
Alinco DJ596 BruteForce PASSED: All tests
Alinco DJ596 CopyAll PASSED: All tests
Alinco DJ596 Banks SKIPPED: Banks not supported
Alinco DR235T Detect PASSED: All tests
Alinco DR235T Settings SKIPPED: Settings not supported
Alinco DR235T Clone PASSED: All tests
Alinco DR235T Edges PASSED: All tests
Alinco DR235T BruteForce PASSED: All tests
Alinco DR235T CopyAll PASSED: All tests
Alinco DR235T Banks SKIPPED: Banks not supported
Baofeng BF-888 Detect PASSED: All tests
Baofeng BF-888 Settings PASSED: All tests
Baofeng BF-888 Clone PASSED: All tests
Baofeng BF-888 Edges PASSED: All tests
Baofeng BF-888 BruteForce PASSED: All tests
Baofeng BF-888 CopyAll PASSED: All tests
Baofeng BF-888 Banks SKIPPED: Banks not supported
Baofeng F-11 Detect PASSED: All tests
Baofeng F-11 Settings PASSED: All tests
Baofeng F-11 Clone PASSED: All tests
Baofeng F-11 Edges PASSED: All tests
Baofeng F-11 BruteForce PASSED: All tests
Baofeng F-11 CopyAll PASSED: All tests
Baofeng F-11 Banks SKIPPED: Banks not supported
Baofeng UV-3R Detect PASSED: All tests
Baofeng UV-3R Settings PASSED: All tests
Baofeng UV-3R Clone PASSED: All tests
Baofeng UV-3R Edges PASSED: All tests
Baofeng UV-3R BruteForce PASSED: All tests
Baofeng UV-3R CopyAll PASSED: All tests
Baofeng UV-3R Banks SKIPPED: Banks not supported
Baofeng UV-5R Detect PASSED: All tests
Baofeng UV-5R Settings PASSED: All tests
Baofeng UV-5R Clone PASSED: All tests
Baofeng UV-5R Edges PASSED: All tests
Baofeng UV-5R BruteForce PASSED: All tests
Baofeng UV-5R CopyAll PASSED: All tests
Baofeng UV-5R Banks SKIPPED: Banks not supported
Baofeng UV-B5 Detect PASSED: All tests
Baofeng UV-B5 Settings PASSED: All tests
Baofeng UV-B5 Clone PASSED: All tests
Baofeng UV-B5 Edges PASSED: All tests
Baofeng UV-B5 BruteForce PASSED: All tests
Baofeng UV-B5 CopyAll PASSED: All tests
Baofeng UV-B5 Banks SKIPPED: Banks not supported
Icom IC-208H Detect PASSED: All tests
Icom IC-208H Settings SKIPPED: Settings not supported
Icom IC-208H Clone PASSED: All tests
Icom IC-208H Edges PASSED: All tests
Icom IC-208H BruteForce PASSED: All tests
Icom IC-208H CopyAll PASSED: All tests
Icom IC-208H Banks PASSED: All tests
Icom IC-2100H Detect PASSED: All tests
Icom IC-2100H Settings SKIPPED: Settings not supported
Icom IC-2100H Clone PASSED: All tests
Icom IC-2100H Edges PASSED: All tests
Icom IC-2100H BruteForce PASSED: All tests
Icom IC-2100H CopyAll PASSED: All tests
Icom IC-2100H Banks SKIPPED: Banks not supported
Icom IC-2200H Detect PASSED: All tests
Icom IC-2200H Settings PASSED: All tests
Icom IC-2200H Clone PASSED: All tests
Icom IC-2200H Edges PASSED: All tests
Icom IC-2200H BruteForce PASSED: All tests
Icom IC-2200H CopyAll PASSED: All tests
Icom IC-2200H Banks PASSED: All tests
Icom IC-2720H Detect PASSED: All tests
Icom IC-2720H Settings SKIPPED: Settings not supported
Icom IC-2720H Clone PASSED: All tests
Icom IC-2720H Edges PASSED: All tests
Icom IC-2720H BruteForce PASSED: All tests
Icom IC-2720H CopyAll PASSED: All tests
Icom IC-2720H Banks PASSED: All tests
Icom IC-2820H Detect PASSED: All tests
Icom IC-2820H Settings PASSED: All tests
Icom IC-2820H Clone PASSED: All tests
Icom IC-2820H Edges PASSED: All tests
Icom IC-2820H BruteForce PASSED: All tests
Icom IC-2820H CopyAll PASSED: All tests
Icom IC-2820H Banks PASSED: All tests
Icom IC-Q7A Detect PASSED: All tests
Icom IC-Q7A Settings PASSED: All tests
Icom IC-Q7A Clone PASSED: All tests
Icom IC-Q7A Edges PASSED: All tests
Icom IC-Q7A BruteForce PASSED: All tests
Icom IC-Q7A CopyAll PASSED: All tests
Icom IC-Q7A Banks SKIPPED: Banks not supported
Icom IC-T70 Detect PASSED: All tests
Icom IC-T70 Settings SKIPPED: Settings not supported
Icom IC-T70 Clone PASSED: All tests
Icom IC-T70 Edges PASSED: All tests
Icom IC-T70 BruteForce PASSED: All tests
Icom IC-T70 CopyAll PASSED: All tests
Icom IC-T70 Banks PASSED: All tests
Icom IC-T7H Detect PASSED: All tests
Icom IC-T7H Settings SKIPPED: Settings not supported
Icom IC-T7H Clone PASSED: All tests
Icom IC-T7H Edges PASSED: All tests
Icom IC-T7H BruteForce PASSED: All tests
Icom IC-T7H CopyAll PASSED: All tests
Icom IC-T7H Banks SKIPPED: Banks not supported
Icom IC-T8A Detect PASSED: All tests
Icom IC-T8A Settings SKIPPED: Settings not supported
Icom IC-T8A Clone PASSED: All tests
Icom IC-T8A Edges PASSED: All tests
Icom IC-T8A BruteForce PASSED: All tests
Icom IC-T8A CopyAll PASSED: All tests
Icom IC-T8A Banks SKIPPED: Banks not supported
Icom IC-V82/U82 Detect PASSED: All tests
Icom IC-V82/U82 Settings SKIPPED: Settings not supported
Icom IC-V82/U82 Clone PASSED: All tests
Icom IC-V82/U82 Edges PASSED: All tests
Icom IC-V82/U82 BruteForce PASSED: All tests
Icom IC-V82/U82 CopyAll PASSED: All tests
Icom IC-V82/U82 Banks PASSED: All tests
Icom IC-W32A VHF Detect PASSED: All tests
Icom IC-W32A VHF Settings SKIPPED: Settings not supported
Icom IC-W32A VHF Clone PASSED: All tests
Icom IC-W32A VHF Edges PASSED: All tests
Icom IC-W32A VHF BruteForce PASSED: All tests
Icom IC-W32A VHF CopyAll PASSED: All tests
Icom IC-W32A VHF Banks SKIPPED: Banks not supported
Icom IC-W32A UHF Detect PASSED: All tests
Icom IC-W32A UHF Settings SKIPPED: Settings not supported
Icom IC-W32A UHF Clone PASSED: All tests
Icom IC-W32A UHF Edges PASSED: All tests
Icom IC-W32A UHF BruteForce PASSED: All tests
Icom IC-W32A UHF CopyAll PASSED: All tests
Icom IC-W32A UHF Banks SKIPPED: Banks not supported
Icom ID-31A Detect PASSED: All tests
Icom ID-31A Settings PASSED: All tests
Icom ID-31A Clone PASSED: All tests
Icom ID-31A Edges PASSED: All tests
Icom ID-31A BruteForce PASSED: All tests
Icom ID-31A CopyAll PASSED: All tests
Icom ID-31A Banks PASSED: All tests
Icom ID-51A Detect PASSED: All tests
Icom ID-51A Settings PASSED: All tests
Icom ID-51A Clone PASSED: All tests
Icom ID-51A Edges PASSED: All tests
Icom ID-51A BruteForce PASSED: All tests
Icom ID-51A CopyAll PASSED: All tests
Icom ID-51A Banks PASSED: All tests
Icom ID-800H v2 Detect PASSED: All tests
Icom ID-800H v2 Settings PASSED: All tests
Icom ID-800H v2 Clone PASSED: All tests
Icom ID-800H v2 Edges PASSED: All tests
Icom ID-800H v2 BruteForce PASSED: All tests
Icom ID-800H v2 CopyAll PASSED: All tests
Icom ID-800H v2 Banks PASSED: All tests
Icom ID-880H Detect PASSED: All tests
Icom ID-880H Settings PASSED: All tests
Icom ID-880H Clone PASSED: All tests
Icom ID-880H Edges PASSED: All tests
Icom ID-880H BruteForce PASSED: All tests
Icom ID-880H CopyAll PASSED: All tests
Icom ID-880H Banks PASSED: All tests
Jetstream JT220M Detect PASSED: All tests
Jetstream JT220M Settings SKIPPED: Settings not supported
Jetstream JT220M Clone PASSED: All tests
Jetstream JT220M Edges PASSED: All tests
Jetstream JT220M BruteForce PASSED: All tests
Jetstream JT220M CopyAll PASSED: All tests
Jetstream JT220M Banks SKIPPED: Banks not supported
Jetstream JT270M Detect PASSED: All tests
Jetstream JT270M Settings PASSED: All tests
Jetstream JT270M Clone PASSED: All tests
Jetstream JT270M Edges PASSED: All tests
Jetstream JT270M BruteForce PASSED: All tests
Jetstream JT270M CopyAll PASSED: All tests
Jetstream JT270M Banks SKIPPED: Banks not supported
Kenwood TH-D72 (clone Detect PASSED: All tests
Kenwood TH-D72 (clone Settings SKIPPED: Settings not supported
Kenwood TH-D72 (clone Clone PASSED: All tests
Kenwood TH-D72 (clone Edges PASSED: All tests
Kenwood TH-D72 (clone BruteForce PASSED: All tests
Kenwood TH-D72 (clone CopyAll PASSED: All tests
Kenwood TH-D72 (clone Banks SKIPPED: Banks not supported
Kenwood TK-8102 Detect PASSED: All tests
Kenwood TK-8102 Settings PASSED: All tests
Kenwood TK-8102 Clone PASSED: All tests
Kenwood TK-8102 Edges PASSED: All tests
Kenwood TK-8102 BruteForce PASSED: All tests
Kenwood TK-8102 CopyAll PASSED: All tests
Kenwood TK-8102 Banks SKIPPED: Banks not supported
Leixen VV-898 Detect PASSED: All tests
Leixen VV-898 Settings PASSED: All tests
Leixen VV-898 Clone PASSED: All tests
Leixen VV-898 Edges PASSED: All tests
Leixen VV-898 BruteForce PASSED: All tests
Leixen VV-898 CopyAll PASSED: All tests
Leixen VV-898 Banks SKIPPED: Banks not supported
Polmar DB-50M Detect PASSED: All tests
Polmar DB-50M Settings PASSED: All tests
Polmar DB-50M Clone PASSED: All tests
Polmar DB-50M Edges PASSED: All tests
Polmar DB-50M BruteForce PASSED: All tests
Polmar DB-50M CopyAll PASSED: All tests
Polmar DB-50M Banks SKIPPED: Banks not supported
Puxing PX-2R Detect PASSED: All tests
Puxing PX-2R Settings SKIPPED: Settings not supported
Puxing PX-2R Clone PASSED: All tests
Puxing PX-2R Edges PASSED: All tests
Puxing PX-2R BruteForce PASSED: All tests
Puxing PX-2R CopyAll PASSED: All tests
Puxing PX-2R Banks SKIPPED: Banks not supported
Puxing PX-777 Detect PASSED: All tests
Puxing PX-777 Settings SKIPPED: Settings not supported
Puxing PX-777 Clone PASSED: All tests
Puxing PX-777 Edges PASSED: All tests
Puxing PX-777 BruteForce PASSED: All tests
Puxing PX-777 CopyAll PASSED: All tests
Puxing PX-777 Banks SKIPPED: Banks not supported
Sainsonic AP510 Detect PASSED: All tests
Sainsonic AP510 Settings PASSED: All tests
Sainsonic AP510 Clone PASSED: All tests
Sainsonic AP510 Edges PASSED: All tests
Sainsonic AP510 BruteForce PASSED: All tests
Sainsonic AP510 CopyAll PASSED: All tests
Sainsonic AP510 Banks SKIPPED: Banks not supported
TYT TH-9800 Detect PASSED: All tests
TYT TH-9800 Settings PASSED: All tests
TYT TH-9800 Clone PASSED: All tests
TYT TH-9800 Edges PASSED: All tests
TYT TH-9800 BruteForce PASSED: All tests
TYT TH-9800 CopyAll PASSED: All tests
TYT TH-9800 Banks SKIPPED: Banks not supported
TYT TH-UV3R Detect PASSED: All tests
TYT TH-UV3R Settings SKIPPED: Settings not supported
TYT TH-UV3R Clone PASSED: All tests
TYT TH-UV3R Edges PASSED: All tests
TYT TH-UV3R BruteForce PASSED: All tests
TYT TH-UV3R CopyAll PASSED: All tests
TYT TH-UV3R Banks SKIPPED: Banks not supported
TYT TH-UV3R-25 Detect PASSED: All tests
TYT TH-UV3R-25 Settings SKIPPED: Settings not supported
TYT TH-UV3R-25 Clone PASSED: All tests
TYT TH-UV3R-25 Edges PASSED: All tests
TYT TH-UV3R-25 BruteForce PASSED: All tests
TYT TH-UV3R-25 CopyAll PASSED: All tests
TYT TH-UV3R-25 Banks SKIPPED: Banks not supported
TYT TH-UVF1 Detect PASSED: All tests
TYT TH-UVF1 Settings PASSED: All tests
TYT TH-UVF1 Clone PASSED: All tests
TYT TH-UVF1 Edges PASSED: All tests
TYT TH-UVF1 BruteForce PASSED: All tests
TYT TH-UVF1 CopyAll PASSED: All tests
TYT TH-UVF1 Banks SKIPPED: Banks not supported
Vertex VXA-700 Detect PASSED: All tests
Vertex VXA-700 Settings SKIPPED: Settings not supported
Vertex VXA-700 Clone PASSED: All tests
Vertex VXA-700 Edges PASSED: All tests
Vertex VXA-700 BruteForce PASSED: All tests
Vertex VXA-700 CopyAll PASSED: All tests
Vertex VXA-700 Banks SKIPPED: Banks not supported
Wouxun KG-816 Detect PASSED: All tests
Wouxun KG-816 Settings PASSED: All tests
Wouxun KG-816 Clone PASSED: All tests
Wouxun KG-816 Edges PASSED: All tests
Wouxun KG-816 BruteForce PASSED: All tests
Wouxun KG-816 CopyAll PASSED: All tests
Wouxun KG-816 Banks SKIPPED: Banks not supported
Wouxun KG-818 Detect PASSED: All tests
Wouxun KG-818 Settings PASSED: All tests
Wouxun KG-818 Clone PASSED: All tests
Wouxun KG-818 Edges PASSED: All tests
Wouxun KG-818 BruteForce PASSED: All tests
Wouxun KG-818 CopyAll PASSED: All tests
Wouxun KG-818 Banks SKIPPED: Banks not supported
Wouxun KG-UV6 Detect PASSED: All tests
Wouxun KG-UV6 Settings PASSED: All tests
Wouxun KG-UV6 Clone PASSED: All tests
Wouxun KG-UV6 Edges PASSED: All tests
Wouxun KG-UV6 BruteForce PASSED: All tests
Wouxun KG-UV6 CopyAll PASSED: All tests
Wouxun KG-UV6 Banks SKIPPED: Banks not supported
Wouxun KG-UV8D Detect PASSED: All tests
Wouxun KG-UV8D Settings PASSED: All tests
Wouxun KG-UV8D Clone PASSED: All tests
Wouxun KG-UV8D Edges PASSED: All tests
Wouxun KG-UV8D BruteForce PASSED: All tests
Wouxun KG-UV8D CopyAll PASSED: All tests
Wouxun KG-UV8D Banks SKIPPED: Banks not supported
Wouxun KG-UVD1P Detect PASSED: All tests
Wouxun KG-UVD1P Settings PASSED: All tests
Wouxun KG-UVD1P Clone PASSED: All tests
Wouxun KG-UVD1P Edges PASSED: All tests
Wouxun KG-UVD1P BruteForce PASSED: All tests
Wouxun KG-UVD1P CopyAll PASSED: All tests
Wouxun KG-UVD1P Banks SKIPPED: Banks not supported
Yaesu FT-1802M Detect PASSED: All tests
Yaesu FT-1802M Settings SKIPPED: Settings not supported
Yaesu FT-1802M Clone PASSED: All tests
Yaesu FT-1802M Edges PASSED: All tests
Yaesu FT-1802M BruteForce PASSED: All tests
Yaesu FT-1802M CopyAll PASSED: All tests
Yaesu FT-1802M Banks SKIPPED: Banks not supported
Yaesu FT-1D R Detect PASSED: All tests
Yaesu FT-1D R Settings PASSED: All tests
Yaesu FT-1D R Clone PASSED: All tests
Yaesu FT-1D R Edges PASSED: All tests
Yaesu FT-1D R BruteForce PASSED: All tests
Yaesu FT-1D R CopyAll PASSED: All tests
Yaesu FT-1D R Banks PASSED: All tests
Yaesu FT-2800M Detect PASSED: All tests
Yaesu FT-2800M Settings SKIPPED: Settings not supported
Yaesu FT-2800M Clone PASSED: All tests
Yaesu FT-2800M Edges PASSED: All tests
Yaesu FT-2800M BruteForce PASSED: All tests
Yaesu FT-2800M CopyAll PASSED: All tests
Yaesu FT-2800M Banks SKIPPED: Banks not supported
Yaesu FT-2900R Detect PASSED: All tests
Yaesu FT-2900R Settings SKIPPED: Settings not supported
Yaesu FT-2900R Clone PASSED: All tests
Yaesu FT-2900R Edges PASSED: All tests
Yaesu FT-2900R BruteForce PASSED: All tests
Yaesu FT-2900R CopyAll PASSED: All tests
Yaesu FT-2900R Banks SKIPPED: Banks not supported
Yaesu FT-60 Detect PASSED: All tests
Yaesu FT-60 Settings PASSED: All tests
Yaesu FT-60 Clone PASSED: All tests
Yaesu FT-60 Edges PASSED: All tests
Yaesu FT-60 BruteForce PASSED: All tests
Yaesu FT-60 CopyAll PASSED: All tests
Yaesu FT-60 Banks PASSED: All tests
Yaesu FT-7800/7900 Detect PASSED: All tests
Yaesu FT-7800/7900 Settings PASSED: All tests
Yaesu FT-7800/7900 Clone PASSED: All tests
Yaesu FT-7800/7900 Edges PASSED: All tests
Yaesu FT-7800/7900 BruteForce PASSED: All tests
Yaesu FT-7800/7900 CopyAll PASSED: All tests
Yaesu FT-7800/7900 Banks PASSED: All tests
Yaesu FT-817 Detect PASSED: All tests
Yaesu FT-817 Settings PASSED: All tests
Yaesu FT-817 Clone PASSED: All tests
Yaesu FT-817 Edges PASSED: All tests
Yaesu FT-817 BruteForce PASSED: All tests
Yaesu FT-817 CopyAll PASSED: All tests
Yaesu FT-817 Banks SKIPPED: Banks not supported
Yaesu FT-817ND Detect PASSED: All tests
Yaesu FT-817ND Settings PASSED: All tests
Yaesu FT-817ND Clone PASSED: All tests
Yaesu FT-817ND Edges PASSED: All tests
Yaesu FT-817ND BruteForce PASSED: All tests
Yaesu FT-817ND CopyAll PASSED: All tests
Yaesu FT-817ND Banks SKIPPED: Banks not supported
Yaesu FT-817ND (US) Detect PASSED: All tests
Yaesu FT-817ND (US) Settings PASSED: All tests
Yaesu FT-817ND (US) Clone PASSED: All tests
Yaesu FT-817ND (US) Edges PASSED: All tests
Yaesu FT-817ND (US) BruteForce PASSED: All tests
Yaesu FT-817ND (US) CopyAll PASSED: All tests
Yaesu FT-817ND (US) Banks SKIPPED: Banks not supported
Yaesu FT-857/897 Detect PASSED: All tests
Yaesu FT-857/897 Settings PASSED: All tests
Yaesu FT-857/897 Clone PASSED: All tests
Yaesu FT-857/897 Edges PASSED: All tests
Yaesu FT-857/897 BruteForce PASSED: All tests
Yaesu FT-857/897 CopyAll PASSED: All tests
Yaesu FT-857/897 Banks SKIPPED: Banks not supported
Yaesu FT-857/897 (U Detect PASSED: All tests
Yaesu FT-857/897 (U Settings PASSED: All tests
Yaesu FT-857/897 (U Clone PASSED: All tests
Yaesu FT-857/897 (U Edges PASSED: All tests
Yaesu FT-857/897 (U BruteForce PASSED: All tests
Yaesu FT-857/897 (U CopyAll PASSED: All tests
Yaesu FT-857/897 (U Banks SKIPPED: Banks not supported
Yaesu FT-8800 Left Detect PASSED: All tests
Yaesu FT-8800 Left Settings SKIPPED: Settings not supported
Yaesu FT-8800 Left Clone PASSED: All tests
Yaesu FT-8800 Left Edges PASSED: All tests
Yaesu FT-8800 Left BruteForce PASSED: All tests
Yaesu FT-8800 Left CopyAll PASSED: All tests
Yaesu FT-8800 Left Banks PASSED: All tests
Yaesu FT-8800 Right Detect PASSED: All tests
Yaesu FT-8800 Right Settings SKIPPED: Settings not supported
Yaesu FT-8800 Right Clone PASSED: All tests
Yaesu FT-8800 Right Edges PASSED: All tests
Yaesu FT-8800 Right BruteForce PASSED: All tests
Yaesu FT-8800 Right CopyAll PASSED: All tests
Yaesu FT-8800 Right Banks PASSED: All tests
Yaesu FT-8900 Detect PASSED: All tests
Yaesu FT-8900 Settings SKIPPED: Settings not supported
Yaesu FT-8900 Clone PASSED: All tests
Yaesu FT-8900 Edges PASSED: All tests
Yaesu FT-8900 BruteForce PASSED: All tests
Yaesu FT-8900 CopyAll PASSED: All tests
Yaesu FT-8900 Banks SKIPPED: Banks not supported
Yaesu FTM-350 Left Detect PASSED: All tests
Yaesu FTM-350 Left Settings PASSED: All tests
Yaesu FTM-350 Left Clone PASSED: All tests
Yaesu FTM-350 Left Edges PASSED: All tests
Yaesu FTM-350 Left BruteForce PASSED: All tests
Yaesu FTM-350 Left CopyAll PASSED: All tests
Yaesu FTM-350 Left Banks SKIPPED: Banks not supported
Yaesu FTM-350 Right Detect PASSED: All tests
Yaesu FTM-350 Right Settings SKIPPED: Settings not supported
Yaesu FTM-350 Right Clone PASSED: All tests
Yaesu FTM-350 Right Edges PASSED: All tests
Yaesu FTM-350 Right BruteForce PASSED: All tests
Yaesu FTM-350 Right CopyAll PASSED: All tests
Yaesu FTM-350 Right Banks SKIPPED: Banks not supported
Yaesu VX-2 Detect PASSED: All tests
Yaesu VX-2 Settings PASSED: All tests
Yaesu VX-2 Clone PASSED: All tests
Yaesu VX-2 Edges PASSED: All tests
Yaesu VX-2 BruteForce PASSED: All tests
Yaesu VX-2 CopyAll PASSED: All tests
Yaesu VX-2 Banks PASSED: All tests
Yaesu VX-3 Detect PASSED: All tests
Yaesu VX-3 Settings PASSED: All tests
Yaesu VX-3 Clone PASSED: All tests
Yaesu VX-3 Edges PASSED: All tests
Yaesu VX-3 BruteForce PASSED: All tests
Yaesu VX-3 CopyAll PASSED: All tests
Yaesu VX-3 Banks PASSED: All tests
Yaesu VX-5 Detect PASSED: All tests
Yaesu VX-5 Settings SKIPPED: Settings not supported
Yaesu VX-5 Clone PASSED: All tests
Yaesu VX-5 Edges PASSED: All tests
Yaesu VX-5 BruteForce PASSED: All tests
Yaesu VX-5 CopyAll PASSED: All tests
Yaesu VX-5 Banks PASSED: All tests
Yaesu VX-6 Detect PASSED: All tests
Yaesu VX-6 Settings SKIPPED: Settings not supported
Yaesu VX-6 Clone PASSED: All tests
Yaesu VX-6 Edges PASSED: All tests
Yaesu VX-6 BruteForce PASSED: All tests
Yaesu VX-6 CopyAll PASSED: All tests
Yaesu VX-6 Banks PASSED: All tests
Yaesu VX-7 Detect PASSED: All tests
Yaesu VX-7 Settings SKIPPED: Settings not supported
Yaesu VX-7 Clone PASSED: All tests
Yaesu VX-7 Edges PASSED: All tests
Yaesu VX-7 BruteForce PASSED: All tests
Yaesu VX-7 CopyAll PASSED: All tests
Yaesu VX-7 Banks PASSED: All tests
Yaesu VX-8 R Detect PASSED: All tests
Yaesu VX-8 R Settings SKIPPED: Settings not supported
Yaesu VX-8 R Clone PASSED: All tests
Yaesu VX-8 R Edges PASSED: All tests
Yaesu VX-8 R BruteForce PASSED: All tests
Yaesu VX-8 R CopyAll PASSED: All tests
Yaesu VX-8 R Banks PASSED: All tests
----------------------------------------------------------------------
Results:
TOTAL : 455
FAILED : 0
SKIPPED: 74
PASSED : 381
CRASHED: 0
Patch 'tip' is OK
Checking for PEP8 regressions...
real 0m7.668s
user 0m7.566s
sys 0m0.103s
================================================
Tests OK
Email was triggered for: Success
Sending email for trigger: Success
1
0
Tested changes:
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in thd72.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in thuv1f.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in tk8102.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in icomciv.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in id800.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in id31.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in kguv8d.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in kenwood_hmk.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in h777.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in kyd.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in leixen.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in puxing.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in idrp.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in rfinder.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in uvb5.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in uv5r.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in vxa700.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in wouxum.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in wouxum_common.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in yaesu_clone.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in bjuv55.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in baofeng_uv3r.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in ap510.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in some drivers (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Move chirpui/ to chirp/ui/ (#2351)
[Zach Welch <zach(a)mandolincreekfarm.com>] Move drivers into chirp/drivers/ (#2351)
CHIRP now supports enough devices that the chirp/ directory has become
cluttered. This creates unnecessary coupling when importing all of
these modules. This patch moves all of the drivers to their own
directory and then chases down all of the stale import references.
Full log:
[...truncated 42 lines...]
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.060s
OK
Alinco DJ175 Detect PASSED: All tests
Alinco DJ175 Settings SKIPPED: Settings not supported
Alinco DJ175 Clone PASSED: All tests
Alinco DJ175 Edges PASSED: All tests
Alinco DJ175 BruteForce PASSED: All tests
Alinco DJ175 CopyAll PASSED: All tests
Alinco DJ175 Banks SKIPPED: Banks not supported
Alinco DJ596 Detect PASSED: All tests
Alinco DJ596 Settings SKIPPED: Settings not supported
Alinco DJ596 Clone PASSED: All tests
Alinco DJ596 Edges PASSED: All tests
Alinco DJ596 BruteForce PASSED: All tests
Alinco DJ596 CopyAll PASSED: All tests
Alinco DJ596 Banks SKIPPED: Banks not supported
Alinco DR235T Detect PASSED: All tests
Alinco DR235T Settings SKIPPED: Settings not supported
Alinco DR235T Clone PASSED: All tests
Alinco DR235T Edges PASSED: All tests
Alinco DR235T BruteForce PASSED: All tests
Alinco DR235T CopyAll PASSED: All tests
Alinco DR235T Banks SKIPPED: Banks not supported
Baofeng BF-888 Detect PASSED: All tests
Baofeng BF-888 Settings PASSED: All tests
Baofeng BF-888 Clone PASSED: All tests
Baofeng BF-888 Edges PASSED: All tests
Baofeng BF-888 BruteForce PASSED: All tests
Baofeng BF-888 CopyAll PASSED: All tests
Baofeng BF-888 Banks SKIPPED: Banks not supported
Baofeng F-11 Detect PASSED: All tests
Baofeng F-11 Settings PASSED: All tests
Baofeng F-11 Clone PASSED: All tests
Baofeng F-11 Edges PASSED: All tests
Baofeng F-11 BruteForce PASSED: All tests
Baofeng F-11 CopyAll PASSED: All tests
Baofeng F-11 Banks SKIPPED: Banks not supported
Baofeng UV-3R Detect PASSED: All tests
Baofeng UV-3R Settings PASSED: All tests
Baofeng UV-3R Clone PASSED: All tests
Baofeng UV-3R Edges PASSED: All tests
Baofeng UV-3R BruteForce PASSED: All tests
Baofeng UV-3R CopyAll PASSED: All tests
Baofeng UV-3R Banks SKIPPED: Banks not supported
Baofeng UV-5R Detect PASSED: All tests
Baofeng UV-5R Settings PASSED: All tests
Baofeng UV-5R Clone PASSED: All tests
Baofeng UV-5R Edges PASSED: All tests
Baofeng UV-5R BruteForce PASSED: All tests
Baofeng UV-5R CopyAll PASSED: All tests
Baofeng UV-5R Banks SKIPPED: Banks not supported
Baofeng UV-B5 Detect PASSED: All tests
Baofeng UV-B5 Settings PASSED: All tests
Baofeng UV-B5 Clone PASSED: All tests
Baofeng UV-B5 Edges PASSED: All tests
Baofeng UV-B5 BruteForce PASSED: All tests
Baofeng UV-B5 CopyAll PASSED: All tests
Baofeng UV-B5 Banks SKIPPED: Banks not supported
Icom IC-208H Detect PASSED: All tests
Icom IC-208H Settings SKIPPED: Settings not supported
Icom IC-208H Clone PASSED: All tests
Icom IC-208H Edges PASSED: All tests
Icom IC-208H BruteForce PASSED: All tests
Icom IC-208H CopyAll PASSED: All tests
Icom IC-208H Banks PASSED: All tests
Icom IC-2100H Detect PASSED: All tests
Icom IC-2100H Settings SKIPPED: Settings not supported
Icom IC-2100H Clone PASSED: All tests
Icom IC-2100H Edges PASSED: All tests
Icom IC-2100H BruteForce PASSED: All tests
Icom IC-2100H CopyAll PASSED: All tests
Icom IC-2100H Banks SKIPPED: Banks not supported
Icom IC-2200H Detect PASSED: All tests
Icom IC-2200H Settings PASSED: All tests
Icom IC-2200H Clone PASSED: All tests
Icom IC-2200H Edges PASSED: All tests
Icom IC-2200H BruteForce PASSED: All tests
Icom IC-2200H CopyAll PASSED: All tests
Icom IC-2200H Banks PASSED: All tests
Icom IC-2720H Detect PASSED: All tests
Icom IC-2720H Settings SKIPPED: Settings not supported
Icom IC-2720H Clone PASSED: All tests
Icom IC-2720H Edges PASSED: All tests
Icom IC-2720H BruteForce PASSED: All tests
Icom IC-2720H CopyAll PASSED: All tests
Icom IC-2720H Banks PASSED: All tests
Icom IC-2820H Detect PASSED: All tests
Icom IC-2820H Settings PASSED: All tests
Icom IC-2820H Clone PASSED: All tests
Icom IC-2820H Edges PASSED: All tests
Icom IC-2820H BruteForce PASSED: All tests
Icom IC-2820H CopyAll PASSED: All tests
Icom IC-2820H Banks PASSED: All tests
Icom IC-Q7A Detect PASSED: All tests
Icom IC-Q7A Settings PASSED: All tests
Icom IC-Q7A Clone PASSED: All tests
Icom IC-Q7A Edges PASSED: All tests
Icom IC-Q7A BruteForce PASSED: All tests
Icom IC-Q7A CopyAll PASSED: All tests
Icom IC-Q7A Banks SKIPPED: Banks not supported
Icom IC-T70 Detect PASSED: All tests
Icom IC-T70 Settings SKIPPED: Settings not supported
Icom IC-T70 Clone PASSED: All tests
Icom IC-T70 Edges PASSED: All tests
Icom IC-T70 BruteForce PASSED: All tests
Icom IC-T70 CopyAll PASSED: All tests
Icom IC-T70 Banks PASSED: All tests
Icom IC-T7H Detect PASSED: All tests
Icom IC-T7H Settings SKIPPED: Settings not supported
Icom IC-T7H Clone PASSED: All tests
Icom IC-T7H Edges PASSED: All tests
Icom IC-T7H BruteForce PASSED: All tests
Icom IC-T7H CopyAll PASSED: All tests
Icom IC-T7H Banks SKIPPED: Banks not supported
Icom IC-T8A Detect PASSED: All tests
Icom IC-T8A Settings SKIPPED: Settings not supported
Icom IC-T8A Clone PASSED: All tests
Icom IC-T8A Edges PASSED: All tests
Icom IC-T8A BruteForce PASSED: All tests
Icom IC-T8A CopyAll PASSED: All tests
Icom IC-T8A Banks SKIPPED: Banks not supported
Icom IC-V82/U82 Detect PASSED: All tests
Icom IC-V82/U82 Settings SKIPPED: Settings not supported
Icom IC-V82/U82 Clone PASSED: All tests
Icom IC-V82/U82 Edges PASSED: All tests
Icom IC-V82/U82 BruteForce PASSED: All tests
Icom IC-V82/U82 CopyAll PASSED: All tests
Icom IC-V82/U82 Banks PASSED: All tests
Icom IC-W32A VHF Detect PASSED: All tests
Icom IC-W32A VHF Settings SKIPPED: Settings not supported
Icom IC-W32A VHF Clone PASSED: All tests
Icom IC-W32A VHF Edges PASSED: All tests
Icom IC-W32A VHF BruteForce PASSED: All tests
Icom IC-W32A VHF CopyAll PASSED: All tests
Icom IC-W32A VHF Banks SKIPPED: Banks not supported
Icom IC-W32A UHF Detect PASSED: All tests
Icom IC-W32A UHF Settings SKIPPED: Settings not supported
Icom IC-W32A UHF Clone PASSED: All tests
Icom IC-W32A UHF Edges PASSED: All tests
Icom IC-W32A UHF BruteForce PASSED: All tests
Icom IC-W32A UHF CopyAll PASSED: All tests
Icom IC-W32A UHF Banks SKIPPED: Banks not supported
Icom ID-31A Detect PASSED: All tests
Icom ID-31A Settings PASSED: All tests
Icom ID-31A Clone PASSED: All tests
Icom ID-31A Edges PASSED: All tests
Icom ID-31A BruteForce PASSED: All tests
Icom ID-31A CopyAll PASSED: All tests
Icom ID-31A Banks PASSED: All tests
Icom ID-51A Detect PASSED: All tests
Icom ID-51A Settings PASSED: All tests
Icom ID-51A Clone PASSED: All tests
Icom ID-51A Edges PASSED: All tests
Icom ID-51A BruteForce PASSED: All tests
Icom ID-51A CopyAll PASSED: All tests
Icom ID-51A Banks PASSED: All tests
Icom ID-800H v2 Detect PASSED: All tests
Icom ID-800H v2 Settings PASSED: All tests
Icom ID-800H v2 Clone PASSED: All tests
Icom ID-800H v2 Edges PASSED: All tests
Icom ID-800H v2 BruteForce PASSED: All tests
Icom ID-800H v2 CopyAll PASSED: All tests
Icom ID-800H v2 Banks PASSED: All tests
Icom ID-880H Detect PASSED: All tests
Icom ID-880H Settings PASSED: All tests
Icom ID-880H Clone PASSED: All tests
Icom ID-880H Edges PASSED: All tests
Icom ID-880H BruteForce PASSED: All tests
Icom ID-880H CopyAll PASSED: All tests
Icom ID-880H Banks PASSED: All tests
Jetstream JT220M Detect PASSED: All tests
Jetstream JT220M Settings SKIPPED: Settings not supported
Jetstream JT220M Clone PASSED: All tests
Jetstream JT220M Edges PASSED: All tests
Jetstream JT220M BruteForce PASSED: All tests
Jetstream JT220M CopyAll PASSED: All tests
Jetstream JT220M Banks SKIPPED: Banks not supported
Jetstream JT270M Detect PASSED: All tests
Jetstream JT270M Settings PASSED: All tests
Jetstream JT270M Clone PASSED: All tests
Jetstream JT270M Edges PASSED: All tests
Jetstream JT270M BruteForce PASSED: All tests
Jetstream JT270M CopyAll PASSED: All tests
Jetstream JT270M Banks SKIPPED: Banks not supported
Kenwood TH-D72 (clone Detect PASSED: All tests
Kenwood TH-D72 (clone Settings SKIPPED: Settings not supported
Kenwood TH-D72 (clone Clone PASSED: All tests
Kenwood TH-D72 (clone Edges PASSED: All tests
Kenwood TH-D72 (clone BruteForce PASSED: All tests
Kenwood TH-D72 (clone CopyAll PASSED: All tests
Kenwood TH-D72 (clone Banks SKIPPED: Banks not supported
Kenwood TK-8102 Detect PASSED: All tests
Kenwood TK-8102 Settings PASSED: All tests
Kenwood TK-8102 Clone PASSED: All tests
Kenwood TK-8102 Edges PASSED: All tests
Kenwood TK-8102 BruteForce PASSED: All tests
Kenwood TK-8102 CopyAll PASSED: All tests
Kenwood TK-8102 Banks SKIPPED: Banks not supported
Leixen VV-898 Detect PASSED: All tests
Leixen VV-898 Settings PASSED: All tests
Leixen VV-898 Clone PASSED: All tests
Leixen VV-898 Edges PASSED: All tests
Leixen VV-898 BruteForce PASSED: All tests
Leixen VV-898 CopyAll PASSED: All tests
Leixen VV-898 Banks SKIPPED: Banks not supported
Polmar DB-50M Detect PASSED: All tests
Polmar DB-50M Settings PASSED: All tests
Polmar DB-50M Clone PASSED: All tests
Polmar DB-50M Edges PASSED: All tests
Polmar DB-50M BruteForce PASSED: All tests
Polmar DB-50M CopyAll PASSED: All tests
Polmar DB-50M Banks SKIPPED: Banks not supported
Puxing PX-2R Detect PASSED: All tests
Puxing PX-2R Settings SKIPPED: Settings not supported
Puxing PX-2R Clone PASSED: All tests
Puxing PX-2R Edges PASSED: All tests
Puxing PX-2R BruteForce PASSED: All tests
Puxing PX-2R CopyAll PASSED: All tests
Puxing PX-2R Banks SKIPPED: Banks not supported
Puxing PX-777 Detect PASSED: All tests
Puxing PX-777 Settings SKIPPED: Settings not supported
Puxing PX-777 Clone PASSED: All tests
Puxing PX-777 Edges PASSED: All tests
Puxing PX-777 BruteForce PASSED: All tests
Puxing PX-777 CopyAll PASSED: All tests
Puxing PX-777 Banks SKIPPED: Banks not supported
Sainsonic AP510 Detect PASSED: All tests
Sainsonic AP510 Settings PASSED: All tests
Sainsonic AP510 Clone PASSED: All tests
Sainsonic AP510 Edges PASSED: All tests
Sainsonic AP510 BruteForce PASSED: All tests
Sainsonic AP510 CopyAll PASSED: All tests
Sainsonic AP510 Banks SKIPPED: Banks not supported
TYT TH-9800 Detect PASSED: All tests
TYT TH-9800 Settings PASSED: All tests
TYT TH-9800 Clone PASSED: All tests
TYT TH-9800 Edges PASSED: All tests
TYT TH-9800 BruteForce PASSED: All tests
TYT TH-9800 CopyAll PASSED: All tests
TYT TH-9800 Banks SKIPPED: Banks not supported
TYT TH-UV3R Detect PASSED: All tests
TYT TH-UV3R Settings SKIPPED: Settings not supported
TYT TH-UV3R Clone PASSED: All tests
TYT TH-UV3R Edges PASSED: All tests
TYT TH-UV3R BruteForce PASSED: All tests
TYT TH-UV3R CopyAll PASSED: All tests
TYT TH-UV3R Banks SKIPPED: Banks not supported
TYT TH-UV3R-25 Detect PASSED: All tests
TYT TH-UV3R-25 Settings SKIPPED: Settings not supported
TYT TH-UV3R-25 Clone PASSED: All tests
TYT TH-UV3R-25 Edges PASSED: All tests
TYT TH-UV3R-25 BruteForce PASSED: All tests
TYT TH-UV3R-25 CopyAll PASSED: All tests
TYT TH-UV3R-25 Banks SKIPPED: Banks not supported
TYT TH-UVF1 Detect PASSED: All tests
TYT TH-UVF1 Settings PASSED: All tests
TYT TH-UVF1 Clone PASSED: All tests
TYT TH-UVF1 Edges PASSED: All tests
TYT TH-UVF1 BruteForce PASSED: All tests
TYT TH-UVF1 CopyAll PASSED: All tests
TYT TH-UVF1 Banks SKIPPED: Banks not supported
Vertex VXA-700 Detect PASSED: All tests
Vertex VXA-700 Settings SKIPPED: Settings not supported
Vertex VXA-700 Clone PASSED: All tests
Vertex VXA-700 Edges PASSED: All tests
Vertex VXA-700 BruteForce PASSED: All tests
Vertex VXA-700 CopyAll PASSED: All tests
Vertex VXA-700 Banks SKIPPED: Banks not supported
Wouxun KG-816 Detect PASSED: All tests
Wouxun KG-816 Settings PASSED: All tests
Wouxun KG-816 Clone PASSED: All tests
Wouxun KG-816 Edges PASSED: All tests
Wouxun KG-816 BruteForce PASSED: All tests
Wouxun KG-816 CopyAll PASSED: All tests
Wouxun KG-816 Banks SKIPPED: Banks not supported
Wouxun KG-818 Detect PASSED: All tests
Wouxun KG-818 Settings PASSED: All tests
Wouxun KG-818 Clone PASSED: All tests
Wouxun KG-818 Edges PASSED: All tests
Wouxun KG-818 BruteForce PASSED: All tests
Wouxun KG-818 CopyAll PASSED: All tests
Wouxun KG-818 Banks SKIPPED: Banks not supported
Wouxun KG-UV6 Detect PASSED: All tests
Wouxun KG-UV6 Settings PASSED: All tests
Wouxun KG-UV6 Clone PASSED: All tests
Wouxun KG-UV6 Edges PASSED: All tests
Wouxun KG-UV6 BruteForce PASSED: All tests
Wouxun KG-UV6 CopyAll PASSED: All tests
Wouxun KG-UV6 Banks SKIPPED: Banks not supported
Wouxun KG-UV8D Detect PASSED: All tests
Wouxun KG-UV8D Settings PASSED: All tests
Wouxun KG-UV8D Clone PASSED: All tests
Wouxun KG-UV8D Edges PASSED: All tests
Wouxun KG-UV8D BruteForce PASSED: All tests
Wouxun KG-UV8D CopyAll PASSED: All tests
Wouxun KG-UV8D Banks SKIPPED: Banks not supported
Wouxun KG-UVD1P Detect PASSED: All tests
Wouxun KG-UVD1P Settings PASSED: All tests
Wouxun KG-UVD1P Clone PASSED: All tests
Wouxun KG-UVD1P Edges PASSED: All tests
Wouxun KG-UVD1P BruteForce PASSED: All tests
Wouxun KG-UVD1P CopyAll PASSED: All tests
Wouxun KG-UVD1P Banks SKIPPED: Banks not supported
Yaesu FT-1802M Detect PASSED: All tests
Yaesu FT-1802M Settings SKIPPED: Settings not supported
Yaesu FT-1802M Clone PASSED: All tests
Yaesu FT-1802M Edges PASSED: All tests
Yaesu FT-1802M BruteForce PASSED: All tests
Yaesu FT-1802M CopyAll PASSED: All tests
Yaesu FT-1802M Banks SKIPPED: Banks not supported
Yaesu FT-1D R Detect PASSED: All tests
Yaesu FT-1D R Settings PASSED: All tests
Yaesu FT-1D R Clone PASSED: All tests
Yaesu FT-1D R Edges PASSED: All tests
Yaesu FT-1D R BruteForce PASSED: All tests
Yaesu FT-1D R CopyAll PASSED: All tests
Yaesu FT-1D R Banks PASSED: All tests
Yaesu FT-2800M Detect PASSED: All tests
Yaesu FT-2800M Settings SKIPPED: Settings not supported
Yaesu FT-2800M Clone PASSED: All tests
Yaesu FT-2800M Edges PASSED: All tests
Yaesu FT-2800M BruteForce PASSED: All tests
Yaesu FT-2800M CopyAll PASSED: All tests
Yaesu FT-2800M Banks SKIPPED: Banks not supported
Yaesu FT-2900R Detect PASSED: All tests
Yaesu FT-2900R Settings SKIPPED: Settings not supported
Yaesu FT-2900R Clone PASSED: All tests
Yaesu FT-2900R Edges PASSED: All tests
Yaesu FT-2900R BruteForce PASSED: All tests
Yaesu FT-2900R CopyAll PASSED: All tests
Yaesu FT-2900R Banks SKIPPED: Banks not supported
Yaesu FT-60 Detect PASSED: All tests
Yaesu FT-60 Settings PASSED: All tests
Yaesu FT-60 Clone PASSED: All tests
Yaesu FT-60 Edges PASSED: All tests
Yaesu FT-60 BruteForce PASSED: All tests
Yaesu FT-60 CopyAll PASSED: All tests
Yaesu FT-60 Banks PASSED: All tests
Yaesu FT-7800/7900 Detect PASSED: All tests
Yaesu FT-7800/7900 Settings PASSED: All tests
Yaesu FT-7800/7900 Clone PASSED: All tests
Yaesu FT-7800/7900 Edges PASSED: All tests
Yaesu FT-7800/7900 BruteForce PASSED: All tests
Yaesu FT-7800/7900 CopyAll PASSED: All tests
Yaesu FT-7800/7900 Banks PASSED: All tests
Yaesu FT-817 Detect PASSED: All tests
Yaesu FT-817 Settings PASSED: All tests
Yaesu FT-817 Clone PASSED: All tests
Yaesu FT-817 Edges PASSED: All tests
Yaesu FT-817 BruteForce PASSED: All tests
Yaesu FT-817 CopyAll PASSED: All tests
Yaesu FT-817 Banks SKIPPED: Banks not supported
Yaesu FT-817ND Detect PASSED: All tests
Yaesu FT-817ND Settings PASSED: All tests
Yaesu FT-817ND Clone PASSED: All tests
Yaesu FT-817ND Edges PASSED: All tests
Yaesu FT-817ND BruteForce PASSED: All tests
Yaesu FT-817ND CopyAll PASSED: All tests
Yaesu FT-817ND Banks SKIPPED: Banks not supported
Yaesu FT-817ND (US) Detect PASSED: All tests
Yaesu FT-817ND (US) Settings PASSED: All tests
Yaesu FT-817ND (US) Clone PASSED: All tests
Yaesu FT-817ND (US) Edges PASSED: All tests
Yaesu FT-817ND (US) BruteForce PASSED: All tests
Yaesu FT-817ND (US) CopyAll PASSED: All tests
Yaesu FT-817ND (US) Banks SKIPPED: Banks not supported
Yaesu FT-857/897 Detect PASSED: All tests
Yaesu FT-857/897 Settings PASSED: All tests
Yaesu FT-857/897 Clone PASSED: All tests
Yaesu FT-857/897 Edges PASSED: All tests
Yaesu FT-857/897 BruteForce PASSED: All tests
Yaesu FT-857/897 CopyAll PASSED: All tests
Yaesu FT-857/897 Banks SKIPPED: Banks not supported
Yaesu FT-857/897 (U Detect PASSED: All tests
Yaesu FT-857/897 (U Settings PASSED: All tests
Yaesu FT-857/897 (U Clone PASSED: All tests
Yaesu FT-857/897 (U Edges PASSED: All tests
Yaesu FT-857/897 (U BruteForce PASSED: All tests
Yaesu FT-857/897 (U CopyAll PASSED: All tests
Yaesu FT-857/897 (U Banks SKIPPED: Banks not supported
Yaesu FT-8800 Left Detect PASSED: All tests
Yaesu FT-8800 Left Settings SKIPPED: Settings not supported
Yaesu FT-8800 Left Clone PASSED: All tests
Yaesu FT-8800 Left Edges PASSED: All tests
Yaesu FT-8800 Left BruteForce PASSED: All tests
Yaesu FT-8800 Left CopyAll PASSED: All tests
Yaesu FT-8800 Left Banks PASSED: All tests
Yaesu FT-8800 Right Detect PASSED: All tests
Yaesu FT-8800 Right Settings SKIPPED: Settings not supported
Yaesu FT-8800 Right Clone PASSED: All tests
Yaesu FT-8800 Right Edges PASSED: All tests
Yaesu FT-8800 Right BruteForce PASSED: All tests
Yaesu FT-8800 Right CopyAll PASSED: All tests
Yaesu FT-8800 Right Banks PASSED: All tests
Yaesu FT-8900 Detect PASSED: All tests
Yaesu FT-8900 Settings SKIPPED: Settings not supported
Yaesu FT-8900 Clone PASSED: All tests
Yaesu FT-8900 Edges PASSED: All tests
Yaesu FT-8900 BruteForce PASSED: All tests
Yaesu FT-8900 CopyAll PASSED: All tests
Yaesu FT-8900 Banks SKIPPED: Banks not supported
Yaesu FTM-350 Left Detect PASSED: All tests
Yaesu FTM-350 Left Settings PASSED: All tests
Yaesu FTM-350 Left Clone PASSED: All tests
Yaesu FTM-350 Left Edges PASSED: All tests
Yaesu FTM-350 Left BruteForce PASSED: All tests
Yaesu FTM-350 Left CopyAll PASSED: All tests
Yaesu FTM-350 Left Banks SKIPPED: Banks not supported
Yaesu FTM-350 Right Detect PASSED: All tests
Yaesu FTM-350 Right Settings SKIPPED: Settings not supported
Yaesu FTM-350 Right Clone PASSED: All tests
Yaesu FTM-350 Right Edges PASSED: All tests
Yaesu FTM-350 Right BruteForce PASSED: All tests
Yaesu FTM-350 Right CopyAll PASSED: All tests
Yaesu FTM-350 Right Banks SKIPPED: Banks not supported
Yaesu VX-2 Detect PASSED: All tests
Yaesu VX-2 Settings PASSED: All tests
Yaesu VX-2 Clone PASSED: All tests
Yaesu VX-2 Edges PASSED: All tests
Yaesu VX-2 BruteForce PASSED: All tests
Yaesu VX-2 CopyAll PASSED: All tests
Yaesu VX-2 Banks PASSED: All tests
Yaesu VX-3 Detect PASSED: All tests
Yaesu VX-3 Settings PASSED: All tests
Yaesu VX-3 Clone PASSED: All tests
Yaesu VX-3 Edges PASSED: All tests
Yaesu VX-3 BruteForce PASSED: All tests
Yaesu VX-3 CopyAll PASSED: All tests
Yaesu VX-3 Banks PASSED: All tests
Yaesu VX-5 Detect PASSED: All tests
Yaesu VX-5 Settings SKIPPED: Settings not supported
Yaesu VX-5 Clone PASSED: All tests
Yaesu VX-5 Edges PASSED: All tests
Yaesu VX-5 BruteForce PASSED: All tests
Yaesu VX-5 CopyAll PASSED: All tests
Yaesu VX-5 Banks PASSED: All tests
Yaesu VX-6 Detect PASSED: All tests
Yaesu VX-6 Settings SKIPPED: Settings not supported
Yaesu VX-6 Clone PASSED: All tests
Yaesu VX-6 Edges PASSED: All tests
Yaesu VX-6 BruteForce PASSED: All tests
Yaesu VX-6 CopyAll PASSED: All tests
Yaesu VX-6 Banks PASSED: All tests
Yaesu VX-7 Detect PASSED: All tests
Yaesu VX-7 Settings SKIPPED: Settings not supported
Yaesu VX-7 Clone PASSED: All tests
Yaesu VX-7 Edges PASSED: All tests
Yaesu VX-7 BruteForce PASSED: All tests
Yaesu VX-7 CopyAll PASSED: All tests
Yaesu VX-7 Banks PASSED: All tests
Yaesu VX-8 R Detect PASSED: All tests
Yaesu VX-8 R Settings SKIPPED: Settings not supported
Yaesu VX-8 R Clone PASSED: All tests
Yaesu VX-8 R Edges PASSED: All tests
Yaesu VX-8 R BruteForce PASSED: All tests
Yaesu VX-8 R CopyAll PASSED: All tests
Yaesu VX-8 R Banks PASSED: All tests
----------------------------------------------------------------------
Results:
TOTAL : 455
FAILED : 0
SKIPPED: 74
PASSED : 381
CRASHED: 0
Patch 'tip' is OK
Checking for PEP8 regressions...
real 0m9.257s
user 0m7.781s
sys 0m0.165s
================================================
Tests OK
Email was triggered for: Success
Sending email for trigger: Success
1
0
This series of patches applies on top of the drivers/ui reorg patches,
and it consists almost entirely of whitespace cleanups.
Zach Welch (24):
Fix style issues in some drivers (#2355)
Fix style issues in ap510.py (#2355)
Fix style issues in baofeng_uv3r.py (#2355)
Fix style issues in bjuv55.py (#2355)
Fix style issues in yaesu_clone.py (#2355)
Fix style issues in wouxum_common.py (#2355)
Fix style issues in wouxum.py (#2355)
Fix style issues in vxa700.py (#2355)
Fix style issues in uv5r.py (#2355)
Fix style issues in uvb5.py (#2355)
Fix style issues in rfinder.py (#2355)
Fix style issues in idrp.py (#2355)
Fix style issues in puxing.py (#2355)
Fix style issues in leixen.py (#2355)
Fix style issues in kyd.py (#2355)
Fix style issues in h777.py (#2355)
Fix style issues in kenwood_hmk.py (#2355)
Fix style issues in kguv8d.py (#2355)
Fix style issues in id31.py (#2355)
Fix style issues in id800.py (#2355)
Fix style issues in icomciv.py (#2355)
Fix style issues in tk8102.py (#2355)
Fix style issues in thuv1f.py (#2355)
Fix style issues in thd72.py (#2355)
chirp/drivers/alinco.py | 22 +-
chirp/drivers/anytone.py | 25 +-
chirp/drivers/ap510.py | 197 ++++++------
chirp/drivers/baofeng_uv3r.py | 106 ++++---
chirp/drivers/bjuv55.py | 181 +++++------
chirp/drivers/h777.py | 38 ++-
chirp/drivers/icomciv.py | 44 +--
chirp/drivers/id31.py | 20 +-
chirp/drivers/id800.py | 37 +--
chirp/drivers/id880.py | 46 +--
chirp/drivers/idrp.py | 22 +-
chirp/drivers/kenwood_hmk.py | 36 +--
chirp/drivers/kenwood_itm.py | 20 +-
chirp/drivers/kenwood_live.py | 251 ++++++++-------
chirp/drivers/kguv8d.py | 184 ++++++-----
chirp/drivers/kyd.py | 61 ++--
chirp/drivers/leixen.py | 146 +++++----
chirp/drivers/puxing.py | 44 +--
chirp/drivers/rfinder.py | 54 ++--
chirp/drivers/thd72.py | 88 +++---
chirp/drivers/thuv1f.py | 18 +-
chirp/drivers/tk8102.py | 21 +-
chirp/drivers/uv5r.py | 354 +++++++++++-----------
chirp/drivers/uvb5.py | 109 ++++---
chirp/drivers/vxa700.py | 38 ++-
chirp/drivers/wouxun.py | 672 +++++++++++++++++++++--------------------
chirp/drivers/wouxun_common.py | 20 +-
chirp/drivers/yaesu_clone.py | 38 ++-
tools/cpep8.blacklist | 28 --
29 files changed, 1611 insertions(+), 1309 deletions(-)
--
1.9.1
1
24
02 Mar '15
# HG changeset patch
# User K. Arvanitis <kosta(a)alumni.uvic.ca>
# Date 1425361238 28800
# Mon Mar 02 21:40:38 2015 -0800
# Node ID bf3d3956b2097815b00327653dff89d4277257b9
# Parent 53018968710141beb87d9e421cbdb68c7a79b440
Set scrollable property on main app notebook
This prevents the window from being automatically resized when multiple tabs
are simultaneously opened.
Bug #2347
diff -r 530189687101 -r bf3d3956b209 chirpui/mainapp.py
--- a/chirpui/mainapp.py Fri Feb 27 17:17:27 2015 -0800
+++ b/chirpui/mainapp.py Mon Mar 02 21:40:38 2015 -0800
@@ -1598,6 +1598,7 @@
def make_tabs(self):
self.tabs = gtk.Notebook()
+ self.tabs.set_scrollable(True)
return self.tabs
1
0
# HG changeset patch
# User Richard Cochran <ag6qr(a)sonic.net>
# Date 1425192393 28800
# Sat Feb 28 22:46:33 2015 -0800
# Node ID b843872d30884b166ecf26d2bae334c28289ea6f
# Parent 9deae1ac816a7a0efd7a754b8e50546f95a97b1a
Support new model Yaesu FT-2900R, new driver ft2900.py (#358)
This adds driver ft2900.py to support the Yaesu FT-2900R radio.
At this time, support is limited to the 200 standard memories. No
banks, no settings, no band edge limits. Driver is loosely based
on FT-2800 driver, with some code borrowed from VX-7 and FT-60 drivers.
A sample .img file is being e-mailed to the dev list in a separate email.
diff -r 9deae1ac816a -r b843872d3088 chirp/ft2900.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/chirp/ft2900.py Sat Feb 28 22:46:33 2015 -0800
@@ -0,0 +1,426 @@
+# Copyright 2011 Dan Smith <dsmith(a)danplanet.com>
+#
+# FT-2900-specific modifications by Richard Cochran, <ag6qr(a)sonic.net>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import time
+import os
+import logging
+
+from chirp import util, memmap, chirp_common, bitwise, directory, errors
+from chirp.yaesu_clone import YaesuCloneModeRadio
+
+from textwrap import dedent
+
+LOG = logging.getLogger(__name__)
+
+
+def _send(s, data):
+ s.write(data)
+ echo = s.read(len(data))
+ if data != echo:
+ raise Exception("Failed to read echo")
+ LOG.debug("got echo\n%s\n" % util.hexprint(echo))
+
+IDBLOCK = "\x56\x43\x32\x33\x00\x02\x46\x01\x01\x01"
+ACK = "\x06"
+INITIAL_CHECKSUM = 73
+
+
+def _download(radio):
+
+ blankChunk = ""
+ for _i in range(0, 32):
+ blankChunk += "\xff"
+
+ LOG.debug("in _download\n")
+
+ data = ""
+ for _i in range(0, 20):
+ data = radio.pipe.read(20)
+ LOG.debug("Header:\n%s" % util.hexprint(data))
+ LOG.debug("len(header) = %s\n" % len(data))
+
+ if data == IDBLOCK:
+ break
+
+ if data != IDBLOCK:
+ raise Exception("Failed to read header")
+
+ _send(radio.pipe, ACK)
+
+ # initialize data, the big var that holds all memory
+ data = ""
+
+ _blockNum = 0
+
+ while len(data) < radio._block_sizes[1]:
+ _blockNum += 1
+ time.sleep(0.03)
+ chunk = radio.pipe.read(32)
+ LOG.debug("Block %i " % (_blockNum))
+ if chunk == blankChunk:
+ LOG.debug("blank chunk\n")
+ else:
+ LOG.debug("Got: %i:\n%s" % (len(chunk), util.hexprint(chunk)))
+ if len(chunk) != 32:
+ LOG.debug("len chunk is %i\n" % (len(chunk)))
+ raise Exception("Failed to get full data block")
+ break
+ else:
+ data += chunk
+
+ if radio.status_fn:
+ status = chirp_common.Status()
+ status.max = radio._block_sizes[1]
+ status.cur = len(data)
+ status.msg = "Cloning from radio"
+ radio.status_fn(status)
+
+ LOG.debug("Total: %i" % len(data))
+
+ # radio should send us one final termination byte, containing
+ # checksum
+ chunk = radio.pipe.read(32)
+ if len(chunk) != 1:
+ LOG.debug("len(chunk) is %i\n" % len(chunk))
+ raise Exception("radio sent extra unknown data")
+ LOG.debug("Got: %i:\n%s" % (len(chunk), util.hexprint(chunk)))
+
+ # compute checksum
+ cs = INITIAL_CHECKSUM
+ for byte in data:
+ cs += ord(byte)
+ LOG.debug("calculated checksum is %x\n" % (cs & 0xff))
+
+ if (cs & 0xff) != ord(chunk[0]):
+ raise Exception("Failed checksum on read.")
+
+ # for debugging purposes, dump the channels, in hex.
+ for _i in range(0, 200):
+ _startData = 1892 + 20 * _i
+ chunk = data[_startData:_startData + 20]
+ LOG.debug("channel %i:\n%s" % (_i, util.hexprint(chunk)))
+
+ return memmap.MemoryMap(data)
+
+
+def _upload(radio):
+ for _i in range(0, 10):
+ data = radio.pipe.read(256)
+ if not data:
+ break
+ LOG.debug("What is this garbage?\n%s" % util.hexprint(data))
+ raise Exception("Radio sent unrecognized data")
+
+ _send(radio.pipe, IDBLOCK)
+ time.sleep(.2)
+ ack = radio.pipe.read(300)
+ LOG.debug("Ack was (%i):\n%s" % (len(ack), util.hexprint(ack)))
+ if ack != ACK:
+ raise Exception("Radio did not ack ID")
+
+ block = 0
+ cs = INITIAL_CHECKSUM
+
+ while block < (radio.get_memsize() / 32):
+ data = radio.get_mmap()[block*32:(block+1)*32]
+
+ LOG.debug("Writing block %i:\n%s" % (block, util.hexprint(data)))
+
+ _send(radio.pipe, data)
+ time.sleep(0.03)
+
+ for byte in data:
+ cs += ord(byte)
+
+ if radio.status_fn:
+ status = chirp_common.Status()
+ status.max = radio._block_sizes[1]
+ status.cur = block * 32
+ status.msg = "Cloning to radio"
+ radio.status_fn(status)
+ block += 1
+
+ _send(radio.pipe, chr(cs & 0xFF))
+
+MEM_FORMAT = """
+#seekto 0x00ef;
+ u8 currentTone;
+
+#seekto 0x00f0;
+ u8 curChannelMem[20];
+
+#seekto 0x0127;
+ u8 curChannelNum;
+
+#seekto 0x15f;
+ u8 checksum1;
+
+#seekto 0x16f;
+ u8 curentTone2;
+
+#seekto 0x1a7;
+ u8 curChannelMem2[20];
+
+#seekto 0x1df;
+ u8 checksum2;
+
+#seekto 0x06e4;
+struct {
+ u8 even_pskip:1,
+ even_skip:1,
+ even_valid:1,
+ even_masked:1,
+ odd_pskip:1,
+ odd_skip:1,
+ odd_valid:1,
+ odd_masked:1;
+} flags[225];
+
+#seekto 0x0764;
+struct {
+ u8 unknown0:2,
+ isnarrow:1,
+ unknown1:5;
+ u8 unknown2:2,
+ duplex:2,
+ unknown3:1,
+ step:3;
+ bbcd freq[3];
+ u8 power:2,
+ unknown4:3,
+ tmode:3;
+ u8 name[6];
+ u8 unknown5;
+ bbcd offset[2];
+ u8 tone;
+ u8 dtcs;
+ u8 unknown6;
+ u8 tone2;
+ u8 dtcs2;
+} memory[200];
+
+"""
+
+MODES = ["FM", "NFM"]
+TMODES = ["", "Tone", "TSQL", "DTCS", "TSQL-R"]
+DUPLEX = ["", "-", "+", ""]
+POWER_LEVELS = [chirp_common.PowerLevel("Low1", watts=5),
+ chirp_common.PowerLevel("Low2", watts=10),
+ chirp_common.PowerLevel("Low3", watts=30),
+ chirp_common.PowerLevel("Hi", watts=75),
+ ]
+
+CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ +-/?C[] _"
+STEPS = [5.0, 10.0, 12.5, 15.0, 20.0, 25.0, 50.0, 100.0]
+
+
+def _decode_name(mem):
+ name = ""
+ for i in mem:
+ if (i & 0x7F) == 0x7F:
+ break
+ try:
+ name += CHARSET[i & 0x7F]
+ except IndexError:
+ LOG.debug("Unknown char index: %x " % (i))
+ name = name.strip()
+ return name
+
+
+def _encode_name(mem):
+ if(mem == " " or mem == ""):
+ return [0x7f, 0xff, 0xff, 0xff, 0xff, 0xff]
+
+ name = [None]*6
+ for i in range(0, 6):
+ try:
+ name[i] = CHARSET.index(mem[i])
+ except IndexError:
+ name[i] = CHARSET.index(" ")
+
+ name[0] = name[0] | 0x80
+ return name
+
+
+def _wipe_memory(mem):
+ mem.set_raw("\xff" * (mem.size() / 8))
+ mem.empty = True
+
+
+(a)directory.register
+class FT2900Radio(YaesuCloneModeRadio):
+ """Yaesu FT-2900"""
+ VENDOR = "Yaesu"
+ MODEL = "FT-2900R"
+ BAUD_RATE = 19200
+
+ _memsize = 8000
+ _block_sizes = [8, 8000]
+
+ def get_features(self):
+ rf = chirp_common.RadioFeatures()
+
+ rf.memory_bounds = (0, 199)
+
+ rf.has_ctone = False
+ rf.has_dtcs_polarity = False
+ rf.has_bank = False
+
+ rf.valid_tuning_steps = STEPS
+ rf.valid_modes = MODES
+ rf.valid_tmodes = TMODES
+ rf.valid_bands = [(136000000, 174000000)]
+ rf.valid_power_levels = POWER_LEVELS
+ rf.valid_duplexes = DUPLEX
+ rf.valid_skips = ["", "S", "P"]
+ rf.valid_name_length = 6
+ rf.valid_characters = CHARSET
+
+ return rf
+
+ def sync_in(self):
+ start = time.time()
+ try:
+ self._mmap = _download(self)
+ except errors.RadioError:
+ raise
+ except Exception, e:
+ raise errors.RadioError("Failed to communicate with radio: %s" % e)
+ LOG.info("Downloaded in %.2f sec" % (time.time() - start))
+ self.process_mmap()
+
+ def sync_out(self):
+ self.pipe.setTimeout(1)
+ start = time.time()
+ try:
+ _upload(self)
+ except errors.RadioError:
+ raise
+ except Exception, e:
+ raise errors.RadioError("Failed to communicate with radio: %s" % e)
+ LOG.info("Uploaded in %.2f sec" % (time.time() - start))
+
+ def process_mmap(self):
+ self._memobj = bitwise.parse(MEM_FORMAT, self._mmap)
+
+ def get_raw_memory(self, number):
+ return repr(self._memobj.memory[number])
+
+ def get_memory(self, number):
+ _mem = self._memobj.memory[number]
+ _flag = self._memobj.flags[(number)/2]
+
+ nibble = ((number) % 2) and "even" or "odd"
+ used = _flag["%s_masked" % nibble]
+ valid = _flag["%s_valid" % nibble]
+ pskip = _flag["%s_pskip" % nibble]
+ skip = _flag["%s_skip" % nibble]
+
+ mem = chirp_common.Memory()
+
+ mem.number = number
+
+ if _mem.get_raw()[0] == "\xFF" or not valid or not used:
+ mem.empty = True
+ return mem
+
+ mem.tuning_step = STEPS[_mem.step]
+ mem.freq = int(_mem.freq) * 1000
+
+ # compensate for 12.5 kHz tuning steps, add 500 Hz if needed
+ if(mem.tuning_step == 12.5):
+ lastdigit = int(_mem.freq) % 10
+ if (lastdigit == 2 or lastdigit == 7):
+ mem.freq += 500
+
+ mem.offset = int(_mem.offset) * 1000
+ mem.duplex = DUPLEX[_mem.duplex]
+ mem.tmode = TMODES[_mem.tmode]
+ mem.rtone = chirp_common.TONES[_mem.tone]
+ mem.dtcs = chirp_common.DTCS_CODES[_mem.dtcs]
+ if (int(_mem.name[0]) & 0x80) != 0:
+ mem.name = _decode_name(_mem.name)
+
+ mem.mode = _mem.isnarrow and "NFM" or "FM"
+ mem.skip = pskip and "P" or skip and "S" or ""
+ mem.power = POWER_LEVELS[_mem.power]
+
+ return mem
+
+ def set_memory(self, mem):
+ _mem = self._memobj.memory[mem.number]
+ _flag = self._memobj.flags[(mem.number)/2]
+
+ nibble = ((mem.number) % 2) and "even" or "odd"
+
+ valid = _flag["%s_valid" % nibble]
+ used = _flag["%s_masked" % nibble]
+
+ if not valid:
+ _wipe_memory(_mem)
+
+ if mem.empty and valid and not used:
+ _flag["%s_valid" % nibble] = False
+ return
+
+ _flag["%s_masked" % nibble] = not mem.empty
+
+ if mem.empty:
+ return
+
+ _flag["%s_valid" % nibble] = True
+
+ _mem.freq = mem.freq / 1000
+ _mem.offset = mem.offset / 1000
+ _mem.duplex = DUPLEX.index(mem.duplex)
+ _mem.tmode = TMODES.index(mem.tmode)
+ _mem.tone = chirp_common.TONES.index(mem.rtone)
+ _mem.tone2 = chirp_common.TONES.index(mem.rtone)
+ _mem.dtcs = chirp_common.DTCS_CODES.index(mem.dtcs)
+ _mem.dtcs2 = chirp_common.DTCS_CODES.index(mem.dtcs)
+ _mem.isnarrow = MODES.index(mem.mode)
+ _mem.step = STEPS.index(mem.tuning_step)
+ _flag["%s_pskip" % nibble] = mem.skip == "P"
+ _flag["%s_skip" % nibble] = mem.skip == "S"
+ if mem.power:
+ _mem.power = POWER_LEVELS.index(mem.power)
+ else:
+ _mem.power = 3
+
+ _mem.name = _encode_name(mem.name)
+
+ LOG.debug("encoded mem\n%s\n" % (util.hexprint(_mem.get_raw()[0:20])))
+
+ @classmethod
+ def match_model(cls, filedata, filename):
+ return len(filedata) == cls._memsize
+
+ @classmethod
+ def get_prompts(cls):
+ rp = chirp_common.RadioPrompts()
+ rp.pre_download = _(dedent("""\
+ 1. Turn Radio off.
+ 2. Connect data cable.
+ 3. While holding "A/N LOW" button, turn radio on.
+ 4. <b>After clicking OK</b>, press "SET MHz" to send image."""))
+ rp.pre_upload = _(dedent("""\
+ 1. Turn Radio off.
+ 2. Connect data cable.
+ 3. While holding "A/N LOW" button, turn radio on.
+ 4. Press "MW D/MR" to receive image.
+ 5. Click OK to dismiss this dialog and start transfer."""))
+ return rp
3
3
These two patches move the drivers and ui into new subdirectories
under chirp/, chasing down all of the imports.
Zach Welch (2):
Move drivers into chirp/drivers/ (#2351)
Move chirpui/ to chirp/ui/ (#2351)
build/make_source_release.sh | 2 +-
chirp/detect.py | 4 +-
chirp/directory.py | 4 +-
chirp/drivers/__init__.py | 10 ++
chirp/{ => drivers}/alinco.py | 0
chirp/{ => drivers}/anytone.py | 0
chirp/{ => drivers}/ap510.py | 0
chirp/{ => drivers}/baofeng_uv3r.py | 2 +-
chirp/{ => drivers}/bjuv55.py | 2 +-
chirp/{ => drivers}/ft1802.py | 3 +-
chirp/{ => drivers}/ft1d.py | 4 +-
chirp/{ => drivers}/ft2800.py | 2 +-
chirp/{ => drivers}/ft2900.py | 2 +-
chirp/{ => drivers}/ft50.py | 3 +-
chirp/{ => drivers}/ft50_ll.py | 0
chirp/{ => drivers}/ft60.py | 4 +-
chirp/{ => drivers}/ft7800.py | 4 +-
chirp/{ => drivers}/ft817.py | 4 +-
chirp/{ => drivers}/ft857.py | 3 +-
chirp/{ => drivers}/ft90.py | 3 +-
chirp/{ => drivers}/ftm350.py | 4 +-
chirp/{ => drivers}/generic_csv.py | 0
chirp/{ => drivers}/generic_tpe.py | 3 +-
chirp/{ => drivers}/generic_xml.py | 0
chirp/{ => drivers}/h777.py | 0
chirp/{ => drivers}/ic208.py | 4 +-
chirp/{ => drivers}/ic2100.py | 4 +-
chirp/{ => drivers}/ic2200.py | 4 +-
chirp/{ => drivers}/ic2720.py | 4 +-
chirp/{ => drivers}/ic2820.py | 4 +-
chirp/{ => drivers}/ic9x.py | 3 +-
chirp/{ => drivers}/ic9x_icf.py | 3 +-
chirp/{ => drivers}/ic9x_icf_ll.py | 0
chirp/{ => drivers}/ic9x_ll.py | 0
chirp/{ => drivers}/icf.py | 0
chirp/{ => drivers}/icomciv.py | 3 +-
chirp/{ => drivers}/icq7.py | 4 +-
chirp/{ => drivers}/ict70.py | 4 +-
chirp/{ => drivers}/ict7h.py | 4 +-
chirp/{ => drivers}/ict8.py | 3 +-
chirp/{ => drivers}/icw32.py | 4 +-
chirp/{ => drivers}/icx8x.py | 3 +-
chirp/{ => drivers}/icx8x_ll.py | 0
chirp/{ => drivers}/id31.py | 3 +-
chirp/{ => drivers}/id51.py | 3 +-
chirp/{ => drivers}/id800.py | 4 +-
chirp/{ => drivers}/id880.py | 4 +-
chirp/{ => drivers}/idrp.py | 0
chirp/{ => drivers}/kenwood_hmk.py | 3 +-
chirp/{ => drivers}/kenwood_itm.py | 3 +-
chirp/{ => drivers}/kenwood_live.py | 0
chirp/{ => drivers}/kguv8d.py | 0
chirp/{ => drivers}/kyd.py | 0
chirp/{ => drivers}/leixen.py | 0
chirp/{ => drivers}/puxing.py | 2 +-
chirp/{ => drivers}/rfinder.py | 0
chirp/{ => drivers}/template.py | 0
chirp/{ => drivers}/th9800.py | 2 +-
chirp/{ => drivers}/th_uv3r.py | 2 +-
chirp/{ => drivers}/th_uv3r25.py | 2 +-
chirp/{ => drivers}/th_uvf8d.py | 0
chirp/{ => drivers}/thd72.py | 0
chirp/{ => drivers}/thuv1f.py | 0
chirp/{ => drivers}/tk8102.py | 0
chirp/{ => drivers}/tmv71.py | 2 +-
chirp/{ => drivers}/tmv71_ll.py | 0
chirp/{ => drivers}/uv5r.py | 0
chirp/{ => drivers}/uvb5.py | 0
chirp/{ => drivers}/vx170.py | 5 +-
chirp/{ => drivers}/vx2.py | 3 +-
chirp/{ => drivers}/vx3.py | 4 +-
chirp/{ => drivers}/vx5.py | 4 +-
chirp/{ => drivers}/vx510.py | 4 +-
chirp/{ => drivers}/vx6.py | 4 +-
chirp/{ => drivers}/vx7.py | 4 +-
chirp/{ => drivers}/vx8.py | 4 +-
chirp/{ => drivers}/vxa700.py | 0
chirp/{ => drivers}/wouxun.py | 2 +-
chirp/{ => drivers}/wouxun_common.py | 0
chirp/{ => drivers}/yaesu_clone.py | 0
{chirpui => chirp/ui}/__init__.py | 0
{chirpui => chirp/ui}/bandplans.py | 2 +-
{chirpui => chirp/ui}/bankedit.py | 2 +-
{chirpui => chirp/ui}/clone.py | 2 +-
{chirpui => chirp/ui}/cloneprog.py | 0
{chirpui => chirp/ui}/common.py | 2 +-
{chirpui => chirp/ui}/config.py | 0
{chirpui => chirp/ui}/dstaredit.py | 2 +-
{chirpui => chirp/ui}/editorset.py | 7 +-
{chirpui => chirp/ui}/fips.py | 0
{chirpui => chirp/ui}/importdialog.py | 7 +-
{chirpui => chirp/ui}/inputdialog.py | 2 +-
{chirpui => chirp/ui}/mainapp.py | 15 +--
{chirpui => chirp/ui}/memdetail.py | 2 +-
{chirpui => chirp/ui}/memedit.py | 4 +-
{chirpui => chirp/ui}/miscwidgets.py | 0
{chirpui => chirp/ui}/radiobrowser.py | 4 +-
{chirpui => chirp/ui}/reporting.py | 2 +-
{chirpui => chirp/ui}/settingsedit.py | 2 +-
{chirpui => chirp/ui}/shiftdialog.py | 0
chirpc | 4 +-
chirpw | 6 +-
csvdump/csvapp.py | 2 +-
locale/Makefile | 2 +-
setup.py | 19 +++-
share/make_supported.py | 1 +
tests/run_tests | 4 +-
tests/unit/test_mappingmodel.py | 2 +-
tests/unit/test_memedit_edits.py | 2 +-
tests/unit/test_shiftdialog.py | 2 +-
tools/cpep8.blacklist | 132 +++++++++++------------
tools/cpep8.manifest | 192 +++++++++++++++++-----------------
112 files changed, 320 insertions(+), 281 deletions(-)
create mode 100644 chirp/drivers/__init__.py
rename chirp/{ => drivers}/alinco.py (100%)
rename chirp/{ => drivers}/anytone.py (100%)
rename chirp/{ => drivers}/ap510.py (100%)
rename chirp/{ => drivers}/baofeng_uv3r.py (99%)
rename chirp/{ => drivers}/bjuv55.py (99%)
rename chirp/{ => drivers}/ft1802.py (98%)
rename chirp/{ => drivers}/ft1d.py (99%)
rename chirp/{ => drivers}/ft2800.py (99%)
rename chirp/{ => drivers}/ft2900.py (99%)
rename chirp/{ => drivers}/ft50.py (95%)
rename chirp/{ => drivers}/ft50_ll.py (100%)
rename chirp/{ => drivers}/ft60.py (99%)
rename chirp/{ => drivers}/ft7800.py (99%)
rename chirp/{ => drivers}/ft817.py (99%)
rename chirp/{ => drivers}/ft857.py (99%)
rename chirp/{ => drivers}/ft90.py (99%)
rename chirp/{ => drivers}/ftm350.py (99%)
rename chirp/{ => drivers}/generic_csv.py (100%)
rename chirp/{ => drivers}/generic_tpe.py (96%)
rename chirp/{ => drivers}/generic_xml.py (100%)
rename chirp/{ => drivers}/h777.py (100%)
rename chirp/{ => drivers}/ic208.py (98%)
rename chirp/{ => drivers}/ic2100.py (98%)
rename chirp/{ => drivers}/ic2200.py (98%)
rename chirp/{ => drivers}/ic2720.py (98%)
rename chirp/{ => drivers}/ic2820.py (99%)
rename chirp/{ => drivers}/ic9x.py (99%)
rename chirp/{ => drivers}/ic9x_icf.py (96%)
rename chirp/{ => drivers}/ic9x_icf_ll.py (100%)
rename chirp/{ => drivers}/ic9x_ll.py (100%)
rename chirp/{ => drivers}/icf.py (100%)
rename chirp/{ => drivers}/icomciv.py (99%)
rename chirp/{ => drivers}/icq7.py (99%)
rename chirp/{ => drivers}/ict70.py (98%)
rename chirp/{ => drivers}/ict7h.py (97%)
rename chirp/{ => drivers}/ict8.py (97%)
rename chirp/{ => drivers}/icw32.py (98%)
rename chirp/{ => drivers}/icx8x.py (98%)
rename chirp/{ => drivers}/icx8x_ll.py (100%)
rename chirp/{ => drivers}/id31.py (99%)
rename chirp/{ => drivers}/id51.py (96%)
rename chirp/{ => drivers}/id800.py (99%)
rename chirp/{ => drivers}/id880.py (99%)
rename chirp/{ => drivers}/idrp.py (100%)
rename chirp/{ => drivers}/kenwood_hmk.py (97%)
rename chirp/{ => drivers}/kenwood_itm.py (97%)
rename chirp/{ => drivers}/kenwood_live.py (100%)
rename chirp/{ => drivers}/kguv8d.py (100%)
rename chirp/{ => drivers}/kyd.py (100%)
rename chirp/{ => drivers}/leixen.py (100%)
rename chirp/{ => drivers}/puxing.py (99%)
rename chirp/{ => drivers}/rfinder.py (100%)
rename chirp/{ => drivers}/template.py (100%)
rename chirp/{ => drivers}/th9800.py (99%)
rename chirp/{ => drivers}/th_uv3r.py (99%)
rename chirp/{ => drivers}/th_uv3r25.py (99%)
rename chirp/{ => drivers}/th_uvf8d.py (100%)
rename chirp/{ => drivers}/thd72.py (100%)
rename chirp/{ => drivers}/thuv1f.py (100%)
rename chirp/{ => drivers}/tk8102.py (100%)
rename chirp/{ => drivers}/tmv71.py (98%)
rename chirp/{ => drivers}/tmv71_ll.py (100%)
rename chirp/{ => drivers}/uv5r.py (100%)
rename chirp/{ => drivers}/uvb5.py (100%)
rename chirp/{ => drivers}/vx170.py (96%)
rename chirp/{ => drivers}/vx2.py (99%)
rename chirp/{ => drivers}/vx3.py (99%)
rename chirp/{ => drivers}/vx5.py (98%)
rename chirp/{ => drivers}/vx510.py (98%)
rename chirp/{ => drivers}/vx6.py (99%)
rename chirp/{ => drivers}/vx7.py (99%)
rename chirp/{ => drivers}/vx8.py (99%)
rename chirp/{ => drivers}/vxa700.py (100%)
rename chirp/{ => drivers}/wouxun.py (99%)
rename chirp/{ => drivers}/wouxun_common.py (100%)
rename chirp/{ => drivers}/yaesu_clone.py (100%)
rename {chirpui => chirp/ui}/__init__.py (100%)
rename {chirpui => chirp/ui}/bandplans.py (99%)
rename {chirpui => chirp/ui}/bankedit.py (99%)
rename {chirpui => chirp/ui}/clone.py (99%)
rename {chirpui => chirp/ui}/cloneprog.py (100%)
rename {chirpui => chirp/ui}/common.py (99%)
rename {chirpui => chirp/ui}/config.py (100%)
rename {chirpui => chirp/ui}/dstaredit.py (99%)
rename {chirpui => chirp/ui}/editorset.py (98%)
rename {chirpui => chirp/ui}/fips.py (100%)
rename {chirpui => chirp/ui}/importdialog.py (99%)
rename {chirpui => chirp/ui}/inputdialog.py (99%)
rename {chirpui => chirp/ui}/mainapp.py (99%)
rename {chirpui => chirp/ui}/memdetail.py (99%)
rename {chirpui => chirp/ui}/memedit.py (99%)
rename {chirpui => chirp/ui}/miscwidgets.py (100%)
rename {chirpui => chirp/ui}/radiobrowser.py (99%)
rename {chirpui => chirp/ui}/reporting.py (99%)
rename {chirpui => chirp/ui}/settingsedit.py (99%)
rename {chirpui => chirp/ui}/shiftdialog.py (100%)
--
1.9.1
1
2
Tested changes:
[Marco Filippi <iz3gme.marco(a)gmail.com>] Fix style issues in ft1d.py
This patch brings ft1d.py into conformance with PEP8 rules and removes
it from the blacklist.
improves #2355
[Marco Filippi <iz3gme.marco(a)gmail.com>] Fix style issues in ft857.py
This patch brings ft857.py into conformance with PEP8 rules and removes
it from the blacklist.
improves #2355
[Marco Filippi <iz3gme.marco(a)gmail.com>] Fix style issues in ft817.py
This patch brings ft817.py into conformance with PEP8 rules and removes
it from the blacklist.
improves #2355
[Zach Welch <zach(a)mandolincreekfarm.com>] Use logging in chirpui/*.py (#2347)
[Zach Welch <zach(a)mandolincreekfarm.com>] Use logging in chirp/*.py (#2347)
[Zach Welch <zach(a)mandolincreekfarm.com>] Use logging in chirp[cw] (#2347)
[Richard Cochran <ag6qr(a)sonic.net>] Support new model Yaesu FT-2900R, new driver ft2900.py (#358)
This adds driver ft2900.py to support the Yaesu FT-2900R radio.
At this time, support is limited to the 200 standard memories. No
banks, no settings, no band edge limits. Driver is loosely based
on FT-2800 driver, with some code borrowed from VX-7 and FT-60 drivers.
A sample .img file is being e-mailed to the dev list in a separate email.
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in tools (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in fips.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in reporting.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in miscwidgits.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in memedit.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in memdetail.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in mainapp.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in importdialog.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in editorset.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in common.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in settings.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in bitwise.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in chirp module (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in bandplans (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in pyPEG.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in elib_intl.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in chirp_common.py (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in make_supported.py (#2355)
Like run_tests, this script monkeys with the path to find the chirp
modules, so it gets a similar exception.
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in csvdump scripts (#2355)
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in unit tests (#2355)
The memedit unit tests needed an exception, as that module uses a lambda
to fake localization when importing the UI module.
[Zach Welch <zach(a)mandolincreekfarm.com>] Fix style issues in run_tests (#2355)
The run_tests script contains logic to set the path for importing the
chirp modules. This violates the style rule that all module-level
imports must be at the top of the file, so I added it as an exception
for this file.
[Zach Welch <zach(a)mandolincreekfarm.com>] Allow cpep8.py script to make exceptions (#2355)
This patch enhances the cpep8.py script with the ability to ignore a
list of style rules on per-file basis. There are cases where it may be
too disruptive to eliminate all style issues, so this mechanism allows
the style checker to enforce the remainder of the style rules. The new
--strict option will cause the script to ignore the exception list.
As a bonus, this change improves interactivity, so --verbose will cause
the name of the file to be printed as it is checked (rather than
printing one long list before it started). The downside: the pep8
module catches KeyboardInterrpt, so it's hard impossible to stop once it
gets started.
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
53 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 50d4a0d71fde9ce7f59310a88e7fb8926095e035
[workspace] $ hg log --template "<changeset node='{node}' author='{author|xmlescape}' rev='{rev}' date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n" --rev default:0 --follow --prune 50d4a0d71fde9ce7f59310a88e7fb8926095e035
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson2971085344772302748.sh
+ ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... ok
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
----------------------------------------------------------------------
Ran 151 tests in 0.058s
OK
Patch 'tip' is OK
Checking for PEP8 regressions...
real 0m6.073s
user 0m5.655s
sys 0m0.114s
================================================
Tests OK
Email was triggered for: Success
Sending email for trigger: Success
1
0
Tested changes:
[Zach Welch <zach(a)mandolincreekfarm.com>] Update cpep8 to use pep8 1.6.2 (#2355)
This patch updates the virtualenv version of pep8 to 1.6.2, chasing
down the new style errors that pop up in the already cleaned files.
[Zach Welch <zach(a)mandolincreekfarm.com>] Add cpep8.sh wrapper script (#2355)
This patch moves the virtualenv setup out of run_all_tests.sh, allowing
cpep8.py to be run on its own with the correct module versions. This
patch also moves the virtualenv temporary directory into tools/ and
adds it to the .hgignore file.
[Zach Welch <zach(a)mandolincreekfarm.com>] Improve cpep8.py (#2355)
This patch expands cpep8.manifest to contain all files, allowing the
cpep8.py script to use it instead of scanning for files. Scanning can
now be done with --scan. If both --scan and --update options are given,
the manifest file will be updated with the scan results.
Altogether, this should fix problems that Windows users were seeing,
caused by mismatches between the dynamic manifest and the blacklist
(due to different path separators).
Full log:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/chirp-test/workspace
[workspace] $ hg showconfig paths.default
[workspace] $ hg pull --rev default
[workspace] $ hg update --clean --rev default
13 files updated, 0 files merged, 0 files removed, 0 files unresolved
[workspace] $ hg log --rev . --template {node}
[workspace] $ hg log --rev . --template {rev}
[workspace] $ hg log --rev 53018968710141beb87d9e421cbdb68c7a79b440
[workspace] $ hg log --template "<changeset node='{node}' author='{author|xmlescape}' rev='{rev}' date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n" --rev default:0 --follow --prune 53018968710141beb87d9e421cbdb68c7a79b440
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson9178390503684165895.sh
+ ./run_all_tests.sh
test_bit_array (tests.unit.test_bitwise.TestBitType) ... ok
test_bit_array_fail (tests.unit.test_bitwise.TestBitType) ... ok
test_bitfield_u16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_u8 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul16 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bitfield_ul24 (tests.unit.test_bitwise.TestBitfieldTypes) ... ok
test_bbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_bbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_lbcd_array (tests.unit.test_bitwise.TestBitwiseBCDTypes) ... ok
test_int_array (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_u8 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul16 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul24 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_type_ul32 (tests.unit.test_bitwise.TestBitwiseBaseIntTypes) ... ok
test_char (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_invalid_chars (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_string_wrong_length (tests.unit.test_bitwise.TestBitwiseCharTypes) ... ok
test_comment_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_comment_inline_cppstyle (tests.unit.test_bitwise.TestBitwiseComments) ... ok
test_missing_semicolon (tests.unit.test_bitwise.TestBitwiseErrors) ... ok
test_seek (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_seekto (tests.unit.test_bitwise.TestBitwiseSeek) ... ok
test_struct_one_element (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_two_elements (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
test_struct_writes (tests.unit.test_bitwise.TestBitwiseStructTypes) ... ok
split_tone_encode_test_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
split_tone_encode_test_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_dtcs_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_none_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_cross_tone_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_dtcs (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_none (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tone (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_split_tone_decode_tsql (tests.unit.test_chirp_common.TestSplitTone) ... ok
test_fix_rounded_step_250 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_500 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_fix_rounded_step_750 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_12_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_2_5 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_5_0 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_6_25 (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_is_fractional_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_required_step_fail (tests.unit.test_chirp_common.TestStepFunctions) ... ok
test_format_freq (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_bad (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_decimal (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whitespace (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_parse_freq_whole (tests.unit.test_chirp_common.TestUtilityFunctions) ... ok
test_ensure_has_calls_almost_full (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_empty (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_partial (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full1 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_rptcall_full2 (tests.unit.test_import_logic.DstarTests) ... ok
test_ensure_has_calls_urcall_full (tests.unit.test_import_logic.DstarTests) ... ok
test_import_bank (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffA_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_dtcs_diffB_dtcs (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_negative (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_too_big_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_uhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_duplex_vhf (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_errors (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mem_with_warnings (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_invalid (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_am (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_mode_valid_fm (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_name (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_closest (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_dst (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_no_src (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_power_same (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffA_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_import_tone_diffB_tsql (tests.unit.test_import_logic.ImportFieldTests) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseBank) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseBankModel) ... ok
test_mapping (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestBaseMapping) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_get_name (tests.unit.test_mappingmodel.TestBaseMappingModel) ... ok
test_base_class (tests.unit.test_mappingmodel.TestBaseMappingModelIndexInterface) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomBankModel) ... ok
test_icom_bank (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_mapping_eq (tests.unit.test_mappingmodel.TestIcomBanks) ... ok
test_add_memory_to_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_index_bounds (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mapping_memories (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_memory_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_next_mapping_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_get_num_mappings (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_no_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_remove_memory_from_mapping_wrong_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_bank (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_set_memory_index_bad_index (tests.unit.test_mappingmodel.TestIcomIndexedBankModel) ... ok
test_auto_tone_mode_cross (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_pol (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_dtcs_rx (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tone (tests.unit.test_memedit_edits.TestEdits) ... ok
test_auto_tone_mode_tsql (tests.unit.test_memedit_edits.TestEdits) ... ok
test_init (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_bad_portnames (tests.unit.test_platform.Win32PlatformTest) ... ok
test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest) ... FAIL
test_apply_callback (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_group (tests.unit.test_settings.TestSettingContainers) ... ok
test_radio_setting_multi (tests.unit.test_settings.TestSettingContainers) ... ok
test_changed (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_boolean (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_float (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_integer (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_list (tests.unit.test_settings.TestSettingValues) ... ok
test_radio_setting_value_string (tests.unit.test_settings.TestSettingValues) ... ok
test_validate_callback (tests.unit.test_settings.TestSettingValues) ... ok
test_delete_hole_with_all (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_all_full (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_with_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_delete_hole_without_hole (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_with_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
test_insert_hole_without_space (tests.unit.test_shiftdialog.ShiftDialogTest) ... ok
======================================================================
FAIL: test_serial_ports_sorted (tests.unit.test_platform.Win32PlatformTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/lib/jenkins/jobs/chirp-test/workspace/tests/unit/test_platform.py", line 51, in test_serial_ports_sorted
self.assertEqual(ports, correct_order)
AssertionError: Lists differ: ['COM1', 'COM11', 'COM2', 'COM... != ['COM1', 'COM2', 'COM3', 'COM7...
First differing element 1:
COM11
COM2
- ['COM1', 'COM11', 'COM2', 'COM12', 'COM7', 'COM3', 'COM123']
+ ['COM1', 'COM2', 'COM3', 'COM7', 'COM11', 'COM12', 'COM123']
----------------------------------------------------------------------
Ran 151 tests in 0.091s
FAILED (failures=1)
FAIL: Please keep commit message lines to <80 columns
Checking for PEP8 regressions...
New python executable in ./tools/cpep8.venv/bin/python
Installing setuptools, pip...done.
real 0m4.832s
user 0m2.825s
sys 0m0.321s
================================================
Tests FAILED: style tests, unit tests
Build step 'Execute shell' marked build as failure
Email was triggered for: Failure
Sending email for trigger: Failure
2
2