1616 pytest .skip ("skipping Linux-only bossac tests" , allow_module_level = True )
1717
1818TEST_BOSSAC_PORT = 'test-bossac-serial'
19+ TEST_BOSSAC_SPEED = '1200'
1920TEST_OFFSET = 1234
2021TEST_FLASH_ADDRESS = 5678
2122
2223EXPECTED_COMMANDS = [
23- ['stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , '1200' , 'ospeed' , '1200' ,
24- 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' , 'eof' , '255' ],
24+ ['stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , '115200' ,
25+ 'ospeed' , '115200' , 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' ,
26+ 'eof' , '255' ],
27+ ['bossac' , '-p' , TEST_BOSSAC_PORT , '-R' , '-e' , '-w' , '-v' ,
28+ '-b' , RC_KERNEL_BIN ],
29+ ]
30+
31+ EXPECTED_COMMANDS_WITH_SPEED = [
32+ ['stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , TEST_BOSSAC_SPEED ,
33+ 'ospeed' , TEST_BOSSAC_SPEED , 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' ,
34+ 'eof' , '255' ],
2535 ['bossac' , '-p' , TEST_BOSSAC_PORT , '-R' , '-e' , '-w' , '-v' ,
2636 '-b' , RC_KERNEL_BIN ],
2737]
2838
2939EXPECTED_COMMANDS_WITH_OFFSET = [
30- ['stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , '1200' , 'ospeed' , '1200' ,
31- 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' , 'eof' , '255' ],
40+ ['stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , '115200' ,
41+ 'ospeed' , '115200' , 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' ,
42+ 'eof' , '255' ],
3243 ['bossac' , '-p' , TEST_BOSSAC_PORT , '-R' , '-e' , '-w' , '-v' ,
3344 '-b' , RC_KERNEL_BIN , '-o' , str (TEST_OFFSET )],
3445]
3546
3647EXPECTED_COMMANDS_WITH_FLASH_ADDRESS = [
3748 [
38- 'stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , '1200' , 'ospeed' ,
39- '1200' , 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' , 'eof' , '255'
49+ 'stty' , '-F' , TEST_BOSSAC_PORT , 'raw' , 'ispeed' , '115200' ,
50+ 'ospeed' , '115200' , 'cs8' , '-cstopb' , 'ignpar' , 'eol' , '255' ,
51+ 'eof' , '255'
4052 ],
4153 [
4254 'bossac' ,
@@ -67,6 +79,7 @@ def test_bossac_init(cc, req, supports, runner_config):
6779 runner .run ('flash' )
6880 assert cc .call_args_list == [call (x ) for x in EXPECTED_COMMANDS_WITH_OFFSET ]
6981
82+
7083@patch ('runners.bossac.BossacBinaryRunner.supports' , return_value = True )
7184@patch ('runners.core.BuildConfiguration._init' )
7285@patch ('runners.bossac.BossacBinaryRunner.get_flash_offset' ,
@@ -84,6 +97,25 @@ def test_bossac_create(cc, req, gfa, bcfg, supports, runner_config):
8497 assert cc .call_args_list == [call (x ) for x in EXPECTED_COMMANDS ]
8598
8699
100+ @patch ('runners.bossac.BossacBinaryRunner.supports' , return_value = True )
101+ @patch ('runners.core.BuildConfiguration._init' )
102+ @patch ('runners.bossac.BossacBinaryRunner.get_flash_offset' ,
103+ return_value = None )
104+ @patch ('runners.core.ZephyrBinaryRunner.require' , side_effect = require_patch )
105+ @patch ('runners.core.ZephyrBinaryRunner.check_call' )
106+ def test_bossac_create_with_speed (cc , req , gfa , bcfg , supports ,
107+ runner_config ):
108+ '''Test commands using a runner created from command line parameters.'''
109+ args = ['--bossac-port' , str (TEST_BOSSAC_PORT ),
110+ '--speed' , str (TEST_BOSSAC_SPEED )]
111+ parser = argparse .ArgumentParser ()
112+ BossacBinaryRunner .add_parser (parser )
113+ arg_namespace = parser .parse_args (args )
114+ runner = BossacBinaryRunner .create (runner_config , arg_namespace )
115+ runner .run ('flash' )
116+ assert cc .call_args_list == [call (x ) for x in EXPECTED_COMMANDS_WITH_SPEED ]
117+
118+
87119@patch ('runners.bossac.BossacBinaryRunner.supports' , return_value = True )
88120@patch ('runners.core.BuildConfiguration._init' )
89121@patch ('runners.bossac.BossacBinaryRunner.get_flash_offset' ,
0 commit comments