Tested changes:
[Pavel Milanes (CO7WT) pavelmc@gmail.com] [PATCH][KT8900R] Settings fix about the 220Mhz band, fixes #3547
Now we have two of this radios that has 220/240 Mhz support in the base class and we need to validate the freq ranges for each one of them, this patch is to realize that.
Thanks to Jim Unroe for the help with it.
[Pavel Milanes (CO7WT) pavelmc@gmail.com] [PATCH][KT8900R] Initial support for the QYT KT8900R, fixes #3547
This radio is like the BTECH UV-2501+220 but it has the 220 band in the Chinese area (240-270 Mhz) well outside the USA ham band.
This is the initial support patch for this radio, it may need further work on the settings part.
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 1 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 888f3782d19563a10ebd741e7701100f26dba897 [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 888f3782d19563a10ebd741e7701100f26dba897 No emails were triggered. [workspace] $ /bin/sh -xe /tmp/hudson7288439594072087181.sh [workspace] $ /bin/sh -xe /tmp/hudson4149162398035716563.sh + PATH=/usr/bin:/bin:/usr/local/bin ./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.049s
OK Patch 'tip' is OK Checking for PEP8 regressions... ./chirp/drivers/ft60.py:521:45: W291 trailing whitespace ./chirp/drivers/ft60.py:522:25: E128 continuation line under-indented for visual indent ./chirp/drivers/ft60.py:523:13: E301 expected 1 blank line, found 0 ./chirp/drivers/ft817.py:587:41: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:681:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:685:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:688:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:689:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:692:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:693:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:696:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:699:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:702:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:705:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:708:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:711:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:714:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:717:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:718:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:721:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:722:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:725:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:728:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:729:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:732:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:733:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:736:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:737:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:740:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:741:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:744:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:747:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:750:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:751:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:754:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:755:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:758:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:761:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:764:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:765:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:768:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:769:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:772:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:773:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:776:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:779:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:780:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:783:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:786:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:787:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:790:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:791:29: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:807:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:808:31: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:811:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:814:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:818:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:824:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:829:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:833:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:837:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:841:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:845:25: E128 continuation line under-indented for visual indent ./chirp/drivers/kguv8d.py:890:25: E128 continuation line under-indented for visual indent ./chirp/drivers/thd72.py:188:1: E302 expected 2 blank lines, found 1 ./chirp/drivers/thd72.py:203:23: E201 whitespace after '[' ./chirp/drivers/thd72.py:203:80: E501 line too long (171 > 79 characters) ./chirp/drivers/thd72.py:203:170: E202 whitespace before ']' ./chirp/drivers/thd72.py:204:13: E201 whitespace after '[' ./chirp/drivers/thd72.py:204:61: E202 whitespace before ']' ./chirp/drivers/thd72.py:205:23: E201 whitespace after '[' ./chirp/drivers/thd72.py:205:74: E202 whitespace before ']' ./chirp/drivers/thd72.py:206:18: E201 whitespace after '[' ./chirp/drivers/thd72.py:206:65: E202 whitespace before ']' ./chirp/drivers/thd72.py:591:1: W293 blank line contains whitespace ./chirp/drivers/thd72.py:599:1: W293 blank line contains whitespace ./chirp/ui/mainapp.py:637:13: E128 continuation line under-indented for visual indent ./chirp/ui/mainapp.py:651:5: E303 too many blank lines (2) ./chirp/ui/mainapp.py:1355:80: E501 line too long (81 > 79 characters) ./chirp/ui/mainapp.py:1359:80: E501 line too long (80 > 79 characters) ./chirp/ui/mainapp.py:1637:80: E501 line too long (85 > 79 characters)
real 0m7.487s user 0m7.377s sys 0m0.044s ================================================ Tests FAILED: driver tests Build step 'Execute shell' marked build as failure Email was triggered for: Failure Sending email for trigger: Failure