@@ -261,7 +261,7 @@ def test_parse_mbed_target_from_target_json_multiple(self):
261
261
self .assertNotEqual ('frdm-k64f-gcc' , mbed_target_info .parse_mbed_target_from_target_json ('K64F' , target_json_data ))
262
262
self .assertNotEqual ('frdm-k64f-gcc' , mbed_target_info .parse_mbed_target_from_target_json ('FRDM-K64F' , target_json_data ))
263
263
264
- @patch ('mbed_greentea .mbed_target_info.get_mbed_target_call_yotta_target' )
264
+ @patch ('mbed_os_tools.test .mbed_target_info.get_mbed_target_call_yotta_target' )
265
265
def test_get_mbed_target_from_current_dir_ok (self , callYtTarget_mock ):
266
266
267
267
yotta_target_cmd = """frdm-k64f-gcc 2.0.0
@@ -365,171 +365,6 @@ def test_parse_mbed_target_from_target_json_missing_name(self):
365
365
def test_parse_add_target_info_mapping (self ):
366
366
result = mbed_target_info .add_target_info_mapping ("null" )
367
367
368
-
369
- def test_get_platform_property_from_targets_no_json (self ):
370
- with patch ("mbed_greentea.mbed_target_info._find_targets_json" ) as _find :
371
- _find .return_value = iter ([])
372
- result = mbed_target_info ._get_platform_property_from_targets ("not_a_platform" , "not_a_property" , "default" )
373
- self .assertIsNone (result )
374
-
375
- def test_get_platform_property_from_targets_no_file (self ):
376
- with patch ("mbed_greentea.mbed_target_info._find_targets_json" ) as _find ,\
377
- patch ("mbed_greentea.mbed_target_info.open" ) as _open :
378
- _find .return_value = iter (["foo" ])
379
- _open .side_effect = IOError
380
- result = mbed_target_info ._get_platform_property_from_targets ("not_a_platform" , "not_a_property" , "default" )
381
- self .assertIsNone (result )
382
-
383
- def test_get_platform_property_from_targets_invalid_json (self ):
384
- with patch ("mbed_greentea.mbed_target_info._find_targets_json" ) as _find ,\
385
- patch ("mbed_greentea.mbed_target_info.open" ) as _open :
386
- _find .return_value = iter (["foo" ])
387
- _open .return_value .__enter__ .return_value = StringIO ("{" )
388
- result = mbed_target_info ._get_platform_property_from_targets ("not_a_platform" , "not_a_property" , "default" )
389
- self .assertIsNone (result )
390
-
391
- def test_get_platform_property_from_targets_empty_json (self ):
392
- with patch ("mbed_greentea.mbed_target_info._find_targets_json" ) as _find ,\
393
- patch ("mbed_greentea.mbed_target_info.open" ) as _open :
394
- _find .return_value = iter (["foo" ])
395
- _open .return_value .__enter__ .return_value = StringIO ("{}" )
396
- result = mbed_target_info ._get_platform_property_from_targets ("not_a_platform" , "not_a_property" , "default" )
397
- self .assertIsNone (result )
398
-
399
- def test_get_platform_property_from_targets_no_value (self ):
400
- with patch ("mbed_greentea.mbed_target_info._find_targets_json" ) as _find ,\
401
- patch ("mbed_greentea.mbed_target_info.open" ) as _open :
402
- _find .return_value = iter (["foo" ])
403
- _open .return_value .__enter__ .return_value = StringIO ("{\" K64F\" : {}}" )
404
- result = mbed_target_info ._get_platform_property_from_targets ("K64F" , "not_a_property" , "default" )
405
- self .assertEqual (result , "default" )
406
-
407
- def test_get_platform_property_from_targets_in_json (self ):
408
- with patch ("mbed_greentea.mbed_target_info._find_targets_json" ) as _find ,\
409
- patch ("mbed_greentea.mbed_target_info.open" ) as _open :
410
- _find .return_value = iter (["foo" ])
411
- _open .return_value .__enter__ .return_value = StringIO ("{\" K64F\" : {\" copy_method\" : \" cp\" }}" )
412
- result = mbed_target_info ._get_platform_property_from_targets ("K64F" , "copy_method" , "default" )
413
- self .assertEqual ("cp" , result )
414
-
415
- def test_find_targets_json (self ):
416
- with patch ("mbed_greentea.mbed_target_info.walk" ) as _walk :
417
- _walk .return_value = iter ([("" , ["foo" ], []), ("foo" , [], ["targets.json" ])])
418
- result = list (mbed_target_info ._find_targets_json ("bogus_path" ))
419
- self .assertEqual (result , [os .path .join ("foo" , "targets.json" )])
420
-
421
- def test_find_targets_json_ignored (self ):
422
- with patch ("mbed_greentea.mbed_target_info.walk" ) as _walk :
423
- walk_result = [("" , [".build" ], [])]
424
- _walk .return_value = iter (walk_result )
425
- result = list (mbed_target_info ._find_targets_json ("bogus_path" ))
426
- self .assertEqual (result , [])
427
- self .assertEqual (walk_result , [("" , [], [])])
428
-
429
- def test_platform_property_from_targets_json_empty (self ):
430
- result = mbed_target_info ._platform_property_from_targets_json (
431
- {}, "not_a_target" , "not_a_property" , "default"
432
- )
433
- self .assertIsNone (result )
434
-
435
- def test_platform_property_from_targets_json_base_target (self ):
436
- result = mbed_target_info ._platform_property_from_targets_json (
437
- {"K64F" : {"copy_method" : "cp" }}, "K64F" , "copy_method" , "default"
438
- )
439
- self .assertEqual (result , "cp" )
440
-
441
- def test_platform_property_from_targets_json_inherits (self ):
442
- result = mbed_target_info ._platform_property_from_targets_json (
443
- {"K64F" : {"inherits" : ["Target" ]}, "Target" : {"copy_method" : "cp" }},
444
- "K64F" , "copy_method" , "default"
445
- )
446
- self .assertEqual (result , "cp" )
447
-
448
- def test_platform_property_from_default_missing (self ):
449
- result = mbed_target_info ._get_platform_property_from_default ("not_a_property" )
450
- self .assertIsNone (result )
451
-
452
- def test_platform_property_from_default (self ):
453
- result = mbed_target_info ._get_platform_property_from_default ("copy_method" )
454
- self .assertEqual (result , "default" )
455
-
456
- def test_platform_property_from_info_mapping_bad_platform (self ):
457
- result = mbed_target_info ._get_platform_property_from_info_mapping ("not_a_platform" , "not_a_property" )
458
- self .assertIsNone (result )
459
-
460
- def test_platform_property_from_info_mapping_missing (self ):
461
- result = mbed_target_info ._get_platform_property_from_info_mapping ("K64F" , "not_a_property" )
462
- self .assertIsNone (result )
463
-
464
- def test_platform_property_from_info_mapping (self ):
465
- result = mbed_target_info ._get_platform_property_from_info_mapping ("K64F" , "copy_method" )
466
- self .assertEqual (result , "default" )
467
-
468
-
469
- # The following test cases are taken from this table:
470
- #
471
- # Num | In targets.json | In yotta blob | In Default | property used
472
- # --- | --------------- | ------------- | ---------- | --------------
473
- # 1 | Yes | No | Yes |`targets.json`
474
- # 2 | Yes | Yes | Yes |`targets.json`
475
- # 3 | No | Yes | Yes | yotta blob
476
- # 4 | No | No | Yes | default
477
- # 5 | No | No | No | None
478
- # 6 | Yes | No | No |`targets.json`
479
- # 7 | Yes | Yes | No |`targets.json`
480
- # 8 | No | Yes | No | yotta blob
481
- def test_platform_property (self ):
482
- """Test that platform_property picks the property value preserving
483
- the following priority relationship:
484
- targets.json > yotta blob > default
485
- """
486
- with patch ("mbed_greentea.mbed_target_info._get_platform_property_from_targets" ) as _targets ,\
487
- patch ("mbed_greentea.mbed_target_info._get_platform_property_from_info_mapping" ) as _info_mapping ,\
488
- patch ("mbed_greentea.mbed_target_info._get_platform_property_from_default" ) as _default :
489
- # 1
490
- _targets .return_value = "targets"
491
- _info_mapping .return_value = None
492
- _default .return_value = "default"
493
- self .assertEqual (
494
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
495
- "targets" )
496
- # 2
497
- _info_mapping .return_value = "yotta"
498
- self .assertEqual (
499
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
500
- "targets" )
501
- # 3
502
- _targets .return_value = None
503
- self .assertEqual (
504
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
505
- "yotta" )
506
- # 4
507
- _info_mapping .return_value = None
508
- self .assertEqual (
509
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
510
- "default" )
511
- # 5
512
- _default .return_value = None
513
- self .assertEqual (
514
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
515
- None )
516
- # 6
517
- _targets .return_value = "targets"
518
- self .assertEqual (
519
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
520
- "targets" )
521
- # 7
522
- _info_mapping .return_value = "yotta"
523
- self .assertEqual (
524
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
525
- "targets" )
526
- # 8
527
- _targets .return_value = None
528
- self .assertEqual (
529
- mbed_target_info .get_platform_property ("K64F" , "copy_method" ),
530
- "yotta" )
531
-
532
-
533
368
def test_parse_yotta_json_for_build_name (self ):
534
369
self .assertEqual ("" , mbed_target_info .parse_yotta_json_for_build_name (
535
370
{
0 commit comments