mirror of
https://xff.cz/git/u-boot/
synced 2025-09-04 02:02:08 +02:00
test: fs: Check fat short file name
Ensure that a freshly written fat file with a lower case filename which fits into the upper case 8.3 short filename is not mangeled with a tilde and number. Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
This commit is contained in:
committed by
Tom Rini
parent
25df91520e
commit
f98b112f9e
@@ -8,11 +8,24 @@
|
|||||||
This test verifies extended write operation on file system.
|
This test verifies extended write operation on file system.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import os.path
|
||||||
import pytest
|
import pytest
|
||||||
import re
|
import re
|
||||||
|
from subprocess import check_output
|
||||||
from fstest_defs import *
|
from fstest_defs import *
|
||||||
from fstest_helpers import assert_fs_integrity
|
from fstest_helpers import assert_fs_integrity
|
||||||
|
|
||||||
|
PLAIN_FILE='abcdefgh.txt'
|
||||||
|
MANGLE_FILE='abcdefghi.txt'
|
||||||
|
|
||||||
|
def str2fat(long_filename):
|
||||||
|
splitext = os.path.splitext(long_filename.upper())
|
||||||
|
name = splitext[0]
|
||||||
|
ext = splitext[1][1:]
|
||||||
|
if len(name) > 8:
|
||||||
|
name = '%s~1' % name[:6]
|
||||||
|
return '%-8s %s' % (name, ext)
|
||||||
|
|
||||||
@pytest.mark.boardspec('sandbox')
|
@pytest.mark.boardspec('sandbox')
|
||||||
@pytest.mark.slow
|
@pytest.mark.slow
|
||||||
class TestFsExt(object):
|
class TestFsExt(object):
|
||||||
@@ -317,3 +330,26 @@ class TestFsExt(object):
|
|||||||
assert('FILE0123456789_79' in output)
|
assert('FILE0123456789_79' in output)
|
||||||
|
|
||||||
assert_fs_integrity(fs_type, fs_img)
|
assert_fs_integrity(fs_type, fs_img)
|
||||||
|
|
||||||
|
def test_fs_ext12(self, u_boot_console, fs_obj_ext):
|
||||||
|
"""
|
||||||
|
Test Case 12 - write plain and mangle file
|
||||||
|
"""
|
||||||
|
fs_type,fs_img,md5val = fs_obj_ext
|
||||||
|
with u_boot_console.log.section('Test Case 12 - write plain and mangle file'):
|
||||||
|
# Test Case 12a - Check if command successfully returned
|
||||||
|
output = u_boot_console.run_command_list([
|
||||||
|
'host bind 0 %s' % fs_img,
|
||||||
|
'%swrite host 0:0 %x /%s 0'
|
||||||
|
% (fs_type, ADDR, PLAIN_FILE),
|
||||||
|
'%swrite host 0:0 %x /%s 0'
|
||||||
|
% (fs_type, ADDR, MANGLE_FILE)])
|
||||||
|
assert('0 bytes written' in ''.join(output))
|
||||||
|
# Test Case 12b - Read file system content
|
||||||
|
output = check_output('mdir -i %s' % fs_img, shell=True).decode()
|
||||||
|
# Test Case 12c - Check if short filename is not mangled
|
||||||
|
assert(str2fat(PLAIN_FILE) in ''.join(output))
|
||||||
|
# Test Case 12d - Check if long filename is mangled
|
||||||
|
assert(str2fat(MANGLE_FILE) in ''.join(output))
|
||||||
|
|
||||||
|
assert_fs_integrity(fs_type, fs_img)
|
||||||
|
Reference in New Issue
Block a user