Tested changes:
[Tom Hayward tom@tomh.us] [ui] Change clipboard target to support cross-process copy/paste on Windows. #3693
Clipboard target was PRIMARY, the X clipboard. Changed to CLIPBOARD, the default clipboard, for better Windows support including the ability to copy/paste between multiple instances of Chirp.
http://intrepid.danplanet.com/pipermail/chirp_devel/2016-May/004018.html
[Tom Hayward tom@tomh.us] [ui] Store clipboard outside of app, so paste works after quitting. #3691
[Tom Hayward tom@tomh.us] [ui] Deprecate .chirp file format by disabling export. #3689
The .chirp file format provides no additional features compared to .CSV and is therefore redundant. .chirp is the more complex and less frequently used format of the two, so to eliminate the redundancy it should be deprecated.
This patch removes the ability to export as .chirp, leaving no way to generate new .chirp files. It preserves the ability to open and import .chirp files, so any existing .chirp files can still be opened, edited, and exported to other formats.
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 2 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 77bd2ad5e4e37248f31d56a7aa122956848e7bb2 [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 77bd2ad5e4e37248f31d56a7aa122956848e7bb2 No emails were triggered. [workspace] $ /bin/sh -xe /tmp/hudson5255291654454699974.sh [workspace] $ /bin/sh -xe /tmp/hudson2599221899774917307.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.050s
OK FAIL: Please keep commit message lines to <80 columns 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:1354:80: E501 line too long (81 > 79 characters) ./chirp/ui/mainapp.py:1358:80: E501 line too long (80 > 79 characters) ./chirp/ui/mainapp.py:1636:80: E501 line too long (85 > 79 characters)
real 0m7.539s user 0m7.413s sys 0m0.048s ================================================ Tests FAILED: style tests, driver tests Build step 'Execute shell' marked build as failure Email was triggered for: Failure Sending email for trigger: Failure