[chirp_devel] Build test results: Still Failing

Build System
Tue Jun 14 19:02:37 PDT 2016


Tested changes:

[Pavel Milanes (CO7WT) <pavelmc at gmail.com>] [PATCH][Feature] Add the know clones of the btech with the new alias feature, fixes #3749

This patch explicitly adds the following Btech clones to the UI:
* Jetstream JT2705M
* Juentai JT-6188 Mini
* Juentai JT-6188 Plus
* Sainsonic GT-890

This radios do show properly now in the download/upload dialog as vendor/model, this will ease the handling of clones in the user side.

But it has a catch and the users will be notified on the chirp_user list: when you opens a saved image of a clone it will show in Chirp as the real radio, not the clone.

73 Pavel CO7WT

[Dan Smith <dsmith at danplanet.com>] Add radio alias support

This introduces a small class called Alias which defines the identifying
attributes of a radio model. Radio inherits from that, and also has a
list of ALIASES that can be zero or more of those classes. When we
construct the clone box where a user chooses a model, show them all the
models, including aliases.

#0

[Pavel Milanes (CO7WT) <pavelmc at gmail.com>] [PATCH][KT-8900R] Fix the second ID to cope with a new variant, fixes #3547

The latest added variant has the second ID without the leading spaces, instead it's filled with '123456'

We removed the leading spaces as the ID is the same of the others but they changed the leding spaces.

[Nathan Crapo <nathan at n4nc3o.com>] Make radio model identification for TH-7800 and TH-9800 more specific so they don't interfere with each other, or completely different radios.  The TH-7800 was ahead of the TH-9800 in the list of Radios to identify against, so Chirp would use it for TH-7800 _and_ TH-9800 radios.  This patch makes both TH-7800 and TH-9800 drivers check their model more carefully so order of Radios Classes doesn't matter.  It's more robust that way.

TH-7800 seems to use "TH9800" for a model string too.  Check for a "TH9800" _or_ "TH7800" string in the th7800.py driver in case TYT doesn't consistently set the model or in case owners change their model name.

Fixes #3737.



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
6 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 c26bf979eff5f68e4504d3577e91d205556f4017
[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 c26bf979eff5f68e4504d3577e91d205556f4017
No emails were triggered.
[workspace] $ /bin/sh -xe /tmp/hudson4304353312775718957.sh
[workspace] $ /bin/sh -xe /tmp/hudson6332999146587888929.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:684: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:691:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:692:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:695:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:696:29: 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:720:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:721:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:724:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:725:29: 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:731:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:732:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:735:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:736:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:739:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:740:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:743:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:744:29: 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:753:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:754:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:757:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:758:29: 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:767:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:768:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:771:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:772:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:775:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:776:29: 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:782:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:783:29: 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:789:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:790:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:793:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:794:29: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:810:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:811:31: 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:817:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:821:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:827:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:832:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:836:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:840:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:844:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:848:25: E128 continuation line under-indented for visual indent
./chirp/drivers/kguv8d.py:893: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:595:1: W293 blank line contains whitespace
./chirp/drivers/thd72.py:603: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:1643:80: E501 line too long (85 > 79 characters)

real	0m7.521s
user	0m7.372s
sys	0m0.072s
================================================
Tests FAILED: style tests, driver tests
Build step 'Execute shell' marked build as failure
Email was triggered for: Failure
Sending email for trigger: Failure


More information about the chirp_devel mailing list