diff options
Diffstat (limited to 'test/py/tests/test_mmc.py')
| -rw-r--r-- | test/py/tests/test_mmc.py | 156 | 
1 files changed, 78 insertions, 78 deletions
| diff --git a/test/py/tests/test_mmc.py b/test/py/tests/test_mmc.py index 46240433884..e751a3bd36a 100644 --- a/test/py/tests/test_mmc.py +++ b/test/py/tests/test_mmc.py @@ -4,7 +4,7 @@  import pytest  import random  import re -import u_boot_utils +import utils  """  Note: This test doesn't rely on boardenv_* configuration values but it can @@ -32,19 +32,19 @@ devices = {}  mmc_modes_name = []  mmc_modes = [] -def setup_mmc_modes(cons): +def setup_mmc_modes(ubman):      global mmc_modes, mmc_modes_name -    f = cons.config.env.get('env__mmc_device', None) +    f = ubman.config.env.get('env__mmc_device', None)      if f:          mmc_modes_name = f.get('mmc_modes', None)      # Set mmc mode to default mode (legacy), if speed mode config isn't enabled -    if cons.config.buildconfig.get('config_mmc_speed_mode_set', 'n') != 'y': +    if ubman.config.buildconfig.get('config_mmc_speed_mode_set', 'n') != 'y':          mmc_modes = [0]          return      if mmc_modes_name: -        mmc_help = cons.run_command('mmc -help') +        mmc_help = ubman.run_command('mmc -help')          m = re.search(r"\[MMC_LEGACY(.*\n.+])", mmc_help)          modes = [              x.strip() @@ -61,16 +61,16 @@ def setup_mmc_modes(cons):          # Set mmc mode to default mode (legacy), if it is not defined in env          mmc_modes = [0] -def setup_mmc(u_boot_console): -    if u_boot_console.config.env.get('env__mmc_device_test_skip', True): +def setup_mmc(ubman): +    if ubman.config.env.get('env__mmc_device_test_skip', True):          pytest.skip('MMC device test is not enabled') -    setup_mmc_modes(u_boot_console) +    setup_mmc_modes(ubman)  @pytest.mark.buildconfigspec('cmd_mmc') -def test_mmc_list(u_boot_console): -    setup_mmc(u_boot_console) -    output = u_boot_console.run_command('mmc list') +def test_mmc_list(ubman): +    setup_mmc(ubman) +    output = ubman.run_command('mmc list')      if 'No MMC device available' in output:          pytest.skip('No SD/MMC/eMMC controller available') @@ -90,7 +90,7 @@ def test_mmc_list(u_boot_console):      mmc_set_up = True  @pytest.mark.buildconfigspec('cmd_mmc') -def test_mmc_dev(u_boot_console): +def test_mmc_dev(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -99,7 +99,7 @@ def test_mmc_dev(u_boot_console):          devices[x]['detected'] = 'yes'          for y in mmc_modes: -            output = u_boot_console.run_command('mmc dev %d 0 %d' % x, y) +            output = ubman.run_command('mmc dev %d 0 %d' % x, y)              if 'Card did not respond to voltage select' in output:                  fail = 1 @@ -115,15 +115,15 @@ def test_mmc_dev(u_boot_console):              pytest.fail('Card not present')  @pytest.mark.buildconfigspec('cmd_mmc') -def test_mmcinfo(u_boot_console): +def test_mmcinfo(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available')      for x in range(0, controllers):          if devices[x]['detected'] == 'yes':              for y in mmc_modes: -                u_boot_console.run_command('mmc dev %d 0 %d' % x, y) -                output = u_boot_console.run_command('mmcinfo') +                ubman.run_command('mmc dev %d 0 %d' % x, y) +                output = ubman.run_command('mmcinfo')                  if 'busy timeout' in output:                      pytest.skip('No SD/MMC/eMMC device present') @@ -139,16 +139,16 @@ def test_mmcinfo(u_boot_console):                      pytest.fail('MMC capacity not recognized')  @pytest.mark.buildconfigspec('cmd_mmc') -def test_mmc_info(u_boot_console): +def test_mmc_info(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available')      for x in range(0, controllers):          if devices[x]['detected'] == 'yes':              for y in mmc_modes: -                u_boot_console.run_command('mmc dev %d 0 %d' % x, y) +                ubman.run_command('mmc dev %d 0 %d' % x, y) -                output = u_boot_console.run_command('mmc info') +                output = ubman.run_command('mmc info')                  assert mmc_modes_name[mmc_modes.index(y)] in output                  obj = re.search(r'Capacity: (\d+|\d+[\.]?\d)', output) @@ -162,7 +162,7 @@ def test_mmc_info(u_boot_console):                      pytest.fail('MMC capacity not recognized')  @pytest.mark.buildconfigspec('cmd_mmc') -def test_mmc_rescan(u_boot_console): +def test_mmc_rescan(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -172,15 +172,15 @@ def test_mmc_rescan(u_boot_console):      for x in range(0, controllers):          if devices[x]['detected'] == 'yes':              for y in mmc_modes: -                u_boot_console.run_command('mmc dev %d 0 %d' % x, y) -                output = u_boot_console.run_command('mmc rescan') +                ubman.run_command('mmc dev %d 0 %d' % x, y) +                output = ubman.run_command('mmc rescan')                  if output:                      pytest.fail('mmc rescan has something to check') -                output = u_boot_console.run_command('echo $?') +                output = ubman.run_command('echo $?')                  assert output.endswith('0')  @pytest.mark.buildconfigspec('cmd_mmc') -def test_mmc_part(u_boot_console): +def test_mmc_part(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -189,8 +189,8 @@ def test_mmc_part(u_boot_console):      for x in range(0, controllers):          if devices[x]['detected'] == 'yes': -            u_boot_console.run_command('mmc dev %d' % x) -            output = u_boot_console.run_command('mmc part') +            ubman.run_command('mmc dev %d' % x) +            output = ubman.run_command('mmc part')              lines = output.split('\n')              part_fat = [] @@ -209,7 +209,7 @@ def test_mmc_part(u_boot_console):                          part_fat.append(part_id)                      elif part_type == '83':                          print('ext(2/4) detected') -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              'fstype mmc %d:%d' % x, part_id                          )                          if 'ext2' in output: @@ -227,7 +227,7 @@ def test_mmc_part(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_fat') -def test_mmc_fatls_fatinfo(u_boot_console): +def test_mmc_fatls_fatinfo(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -246,8 +246,8 @@ def test_mmc_fatls_fatinfo(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) -                    output = u_boot_console.run_command( +                    ubman.run_command('mmc dev %d %d %d' % x, part, y) +                    output = ubman.run_command(                              'fatls mmc %d:%s' % (x, part))                      if 'Unrecognized filesystem type' in output:                          partitions.remove(part) @@ -255,7 +255,7 @@ def test_mmc_fatls_fatinfo(u_boot_console):                      if not re.search(r'\d file\(s\), \d dir\(s\)', output):                          pytest.fail('%s read failed on device %d' % (fs.upper, x)) -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                              'fatinfo mmc %d:%s' % (x, part))                      string = 'Filesystem: %s' % fs.upper                      if re.search(string, output): @@ -269,7 +269,7 @@ def test_mmc_fatls_fatinfo(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_fat')  @pytest.mark.buildconfigspec('cmd_memory') -def test_mmc_fatload_fatwrite(u_boot_console): +def test_mmc_fatload_fatwrite(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -288,14 +288,14 @@ def test_mmc_fatload_fatwrite(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                    ubman.run_command('mmc dev %d %d %d' % x, part, y)                      part_detect = 1 -                    addr = u_boot_utils.find_ram_base(u_boot_console) +                    addr = utils.find_ram_base(ubman)                      devices[x]['addr_%d' % part] = addr                      size = random.randint(4, 1 * 1024 * 1024)                      devices[x]['size_%d' % part] = size                      # count CRC32 -                    output = u_boot_console.run_command('crc32 %x %x' % (addr, size)) +                    output = ubman.run_command('crc32 %x %x' % (addr, size))                      m = re.search('==> (.+?)', output)                      if not m:                          pytest.fail('CRC32 failed') @@ -304,7 +304,7 @@ def test_mmc_fatload_fatwrite(u_boot_console):                      # do write                      file = '%s_%d' % ('uboot_test', size)                      devices[x]['file_%d' % part] = file -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          '%swrite mmc %d:%s %x %s %x' % (fs, x, part, addr, file, size)                      )                      assert 'Unable to write' not in output @@ -314,12 +314,12 @@ def test_mmc_fatload_fatwrite(u_boot_console):                      assert expected_text in output                      alignment = int( -                        u_boot_console.config.buildconfig.get( +                        ubman.config.buildconfig.get(                              'config_sys_cacheline_size', 128                          )                      )                      offset = random.randrange(alignment, 1024, alignment) -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          '%sload mmc %d:%s %x %s' % (fs, x, part, addr + offset, file)                      )                      assert 'Invalid FAT entry' not in output @@ -328,7 +328,7 @@ def test_mmc_fatload_fatwrite(u_boot_console):                      expected_text = '%d bytes read' % size                      assert expected_text in output -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          'crc32 %x $filesize' % (addr + offset)                      )                      assert expected_crc32 in output @@ -338,7 +338,7 @@ def test_mmc_fatload_fatwrite(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_ext4') -def test_mmc_ext4ls(u_boot_console): +def test_mmc_ext4ls(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -357,8 +357,8 @@ def test_mmc_ext4ls(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) -                    output = u_boot_console.run_command( +                    ubman.run_command('mmc dev %d %d %d' % x, part, y) +                    output = ubman.run_command(                          '%sls mmc %d:%s' % (fs, x, part)                      )                      if 'Unrecognized filesystem type' in output: @@ -373,7 +373,7 @@ def test_mmc_ext4ls(u_boot_console):  @pytest.mark.buildconfigspec('cmd_ext4')  @pytest.mark.buildconfigspec('ext4_write')  @pytest.mark.buildconfigspec('cmd_memory') -def test_mmc_ext4load_ext4write(u_boot_console): +def test_mmc_ext4load_ext4write(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -392,14 +392,14 @@ def test_mmc_ext4load_ext4write(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                    ubman.run_command('mmc dev %d %d %d' % x, part, y)                      part_detect = 1 -                    addr = u_boot_utils.find_ram_base(u_boot_console) +                    addr = utils.find_ram_base(ubman)                      devices[x]['addr_%d' % part] = addr                      size = random.randint(4, 1 * 1024 * 1024)                      devices[x]['size_%d' % part] = size                      # count CRC32 -                    output = u_boot_console.run_command('crc32 %x %x' % (addr, size)) +                    output = ubman.run_command('crc32 %x %x' % (addr, size))                      m = re.search('==> (.+?)', output)                      if not m:                          pytest.fail('CRC32 failed') @@ -409,7 +409,7 @@ def test_mmc_ext4load_ext4write(u_boot_console):                      # do write                      file = '%s_%d' % ('uboot_test', size)                      devices[x]['file_%d' % part] = file -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          '%swrite mmc %d:%s %x /%s %x' % (fs, x, part, addr, file, size)                      )                      assert 'Unable to write' not in output @@ -419,13 +419,13 @@ def test_mmc_ext4load_ext4write(u_boot_console):                      assert expected_text in output                      offset = random.randrange(128, 1024, 128) -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          '%sload mmc %d:%s %x /%s' % (fs, x, part, addr + offset, file)                      )                      expected_text = '%d bytes read' % size                      assert expected_text in output -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          'crc32 %x $filesize' % (addr + offset)                      )                      assert expected_crc32 in output @@ -435,7 +435,7 @@ def test_mmc_ext4load_ext4write(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_ext2') -def test_mmc_ext2ls(u_boot_console): +def test_mmc_ext2ls(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -454,9 +454,9 @@ def test_mmc_ext2ls(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                    ubman.run_command('mmc dev %d %d %d' % x, part, y)                      part_detect = 1 -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          '%sls mmc %d:%s' % (fs, x, part)                      )                      if 'Unrecognized filesystem type' in output: @@ -472,7 +472,7 @@ def test_mmc_ext2ls(u_boot_console):  @pytest.mark.buildconfigspec('cmd_ext4')  @pytest.mark.buildconfigspec('ext4_write')  @pytest.mark.buildconfigspec('cmd_memory') -def test_mmc_ext2load(u_boot_console): +def test_mmc_ext2load(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -491,7 +491,7 @@ def test_mmc_ext2load(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                    ubman.run_command('mmc dev %d %d %d' % x, part, y)                      part_detect = 1                      addr = devices[x]['addr_%d' % part]                      size = devices[x]['size_%d' % part] @@ -499,13 +499,13 @@ def test_mmc_ext2load(u_boot_console):                      file = devices[x]['file_%d' % part]                      offset = random.randrange(128, 1024, 128) -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          '%sload mmc %d:%s %x /%s' % (fs, x, part, addr + offset, file)                      )                      expected_text = '%d bytes read' % size                      assert expected_text in output -                    output = u_boot_console.run_command( +                    output = ubman.run_command(                          'crc32 %x $filesize' % (addr + offset)                      )                      assert expected_crc32 in output @@ -515,7 +515,7 @@ def test_mmc_ext2load(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_fs_generic') -def test_mmc_ls(u_boot_console): +def test_mmc_ls(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -534,9 +534,9 @@ def test_mmc_ls(u_boot_console):                  for part in partitions:                      for y in mmc_modes: -                        u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                        ubman.run_command('mmc dev %d %d %d' % x, part, y)                          part_detect = 1 -                        output = u_boot_console.run_command('ls mmc %d:%s' % (x, part)) +                        output = ubman.run_command('ls mmc %d:%s' % (x, part))                          if re.search(r'No \w+ table on this device', output):                              pytest.fail(                                  '%s: Partition table not found %d' % (fs.upper(), x) @@ -547,7 +547,7 @@ def test_mmc_ls(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_fs_generic') -def test_mmc_load(u_boot_console): +def test_mmc_load(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -566,7 +566,7 @@ def test_mmc_load(u_boot_console):                  for part in partitions:                      for y in mmc_modes: -                        u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                        ubman.run_command('mmc dev %d %d %d' % x, part, y)                          part_detect = 1                          addr = devices[x]['addr_%d' % part]                          size = devices[x]['size_%d' % part] @@ -574,13 +574,13 @@ def test_mmc_load(u_boot_console):                          file = devices[x]['file_%d' % part]                          offset = random.randrange(128, 1024, 128) -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              'load mmc %d:%s %x /%s' % (x, part, addr + offset, file)                          )                          expected_text = '%d bytes read' % size                          assert expected_text in output -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              'crc32 %x $filesize' % (addr + offset)                          )                          assert expected_crc32 in output @@ -590,7 +590,7 @@ def test_mmc_load(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_fs_generic') -def test_mmc_save(u_boot_console): +def test_mmc_save(ubman):      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -609,14 +609,14 @@ def test_mmc_save(u_boot_console):                  for part in partitions:                      for y in mmc_modes: -                        u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                        ubman.run_command('mmc dev %d %d %d' % x, part, y)                          part_detect = 1                          addr = devices[x]['addr_%d' % part]                          size = 0                          file = devices[x]['file_%d' % part]                          offset = random.randrange(128, 1024, 128) -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              'save mmc %d:%s %x /%s %d'                              % (x, part, addr + offset, file, size)                          ) @@ -629,11 +629,11 @@ def test_mmc_save(u_boot_console):  @pytest.mark.buildconfigspec('cmd_mmc')  @pytest.mark.buildconfigspec('cmd_fat')  @pytest.mark.buildconfigspec('cmd_memory') -def test_mmc_fat_read_write_files(u_boot_console): -    test_mmc_list(u_boot_console) -    test_mmc_dev(u_boot_console) -    test_mmcinfo(u_boot_console) -    test_mmc_part(u_boot_console) +def test_mmc_fat_read_write_files(ubman): +    test_mmc_list(ubman) +    test_mmc_dev(ubman) +    test_mmcinfo(ubman) +    test_mmc_part(ubman)      if not mmc_set_up:          pytest.skip('No SD/MMC/eMMC controller available') @@ -656,9 +656,9 @@ def test_mmc_fat_read_write_files(u_boot_console):              for part in partitions:                  for y in mmc_modes: -                    u_boot_console.run_command('mmc dev %d %d %d' % x, part, y) +                    ubman.run_command('mmc dev %d %d %d' % x, part, y)                      part_detect = 1 -                    addr = u_boot_utils.find_ram_base(u_boot_console) +                    addr = utils.find_ram_base(ubman)                      count_f = 0                      addr_l = []                      size_l = [] @@ -671,7 +671,7 @@ def test_mmc_fat_read_write_files(u_boot_console):                          size_l.append(random.randint(4, 1 * 1024 * 1024))                          # CRC32 count -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              'crc32 %x %x' % (addr_l[count_f], size_l[count_f])                          )                          m = re.search('==> (.+?)', output) @@ -683,7 +683,7 @@ def test_mmc_fat_read_write_files(u_boot_console):                          file_l.append(                              '%s_%d_%d' % ('uboot_test', count_f, size_l[count_f])                          ) -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              '%swrite mmc %d:%s %x %s %x'                              % (                                  fs, @@ -706,14 +706,14 @@ def test_mmc_fat_read_write_files(u_boot_console):                      count_f = 0                      while count_f < num_files:                          alignment = int( -                            u_boot_console.config.buildconfig.get( +                            ubman.config.buildconfig.get(                                  'config_sys_cacheline_size', 128                              )                          )                          offset_l.append(random.randrange(alignment, 1024, alignment))                          # Read operation -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              '%sload mmc %d:%s %x %s'                              % (                                  fs, @@ -729,7 +729,7 @@ def test_mmc_fat_read_write_files(u_boot_console):                          expected_text = '%d bytes read' % size_l[count_f]                          assert expected_text in output -                        output = u_boot_console.run_command( +                        output = ubman.run_command(                              'crc32 %x $filesize' % (addr_l[count_f] + offset_l[count_f])                          )                          assert crc32_l[count_f] in output | 
