In this commit, test cases for unlink interfaces are added as part of "test_fs" test suite. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Alexander Graf <agraf@suse.de>lime2-spi
parent
50ca19cca9
commit
cce289a928
@ -0,0 +1,109 @@ |
||||
# SPDX-License-Identifier: GPL-2.0+ |
||||
# Copyright (c) 2018, Linaro Limited |
||||
# Author: Takahiro Akashi <takahiro.akashi@linaro.org> |
||||
# |
||||
# U-Boot File System:unlink Test |
||||
|
||||
""" |
||||
This test verifies unlink operation (deleting a file or a directory) |
||||
on file system. |
||||
""" |
||||
|
||||
import pytest |
||||
|
||||
@pytest.mark.boardspec('sandbox') |
||||
class TestUnlink(object): |
||||
def test_unlink1(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 1 - delete a file |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 1 - unlink (file)'): |
||||
output = u_boot_console.run_command_list([ |
||||
'host bind 0 %s' % fs_img, |
||||
'%srm host 0:0 dir1/file1' % fs_type, |
||||
'%sls host 0:0 dir1/file1' % fs_type]) |
||||
assert('' == ''.join(output)) |
||||
|
||||
output = u_boot_console.run_command( |
||||
'%sls host 0:0 dir1/' % fs_type) |
||||
assert(not 'file1' in output) |
||||
assert('file2' in output) |
||||
|
||||
def test_unlink2(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 2 - delete many files |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 2 - unlink (many)'): |
||||
output = u_boot_console.run_command('host bind 0 %s' % fs_img) |
||||
|
||||
for i in range(0, 20): |
||||
output = u_boot_console.run_command_list([ |
||||
'%srm host 0:0 dir2/0123456789abcdef%02x' % (fs_type, i), |
||||
'%sls host 0:0 dir2/0123456789abcdef%02x' % (fs_type, i)]) |
||||
assert('' == ''.join(output)) |
||||
|
||||
output = u_boot_console.run_command( |
||||
'%sls host 0:0 dir2' % fs_type) |
||||
assert('0 file(s), 2 dir(s)' in output) |
||||
|
||||
def test_unlink3(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 3 - trying to delete a non-existing file should fail |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 3 - unlink (non-existing)'): |
||||
output = u_boot_console.run_command_list([ |
||||
'host bind 0 %s' % fs_img, |
||||
'%srm host 0:0 dir1/nofile' % fs_type]) |
||||
assert('nofile: doesn\'t exist' in ''.join(output)) |
||||
|
||||
def test_unlink4(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 4 - delete an empty directory |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 4 - unlink (directory)'): |
||||
output = u_boot_console.run_command_list([ |
||||
'host bind 0 %s' % fs_img, |
||||
'%srm host 0:0 dir4' % fs_type]) |
||||
assert('' == ''.join(output)) |
||||
|
||||
output = u_boot_console.run_command( |
||||
'%sls host 0:0 /' % fs_type) |
||||
assert(not 'dir4' in output) |
||||
|
||||
def test_unlink5(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 5 - trying to deleting a non-empty directory ".." |
||||
should fail |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 5 - unlink ("non-empty directory")'): |
||||
output = u_boot_console.run_command_list([ |
||||
'host bind 0 %s' % fs_img, |
||||
'%srm host 0:0 dir5' % fs_type]) |
||||
assert('directory is not empty' in ''.join(output)) |
||||
|
||||
def test_unlink6(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 6 - trying to deleting a "." should fail |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 6 - unlink (".")'): |
||||
output = u_boot_console.run_command_list([ |
||||
'host bind 0 %s' % fs_img, |
||||
'%srm host 0:0 dir5/.' % fs_type]) |
||||
assert('directory is not empty' in ''.join(output)) |
||||
|
||||
def test_unlink7(self, u_boot_console, fs_obj_unlink): |
||||
""" |
||||
Test Case 7 - trying to deleting a ".." should fail |
||||
""" |
||||
fs_type,fs_img = fs_obj_unlink |
||||
with u_boot_console.log.section('Test Case 7 - unlink ("..")'): |
||||
output = u_boot_console.run_command_list([ |
||||
'host bind 0 %s' % fs_img, |
||||
'%srm host 0:0 dir5/..' % fs_type]) |
||||
assert('directory is not empty' in ''.join(output)) |
Loading…
Reference in new issue