mirror of
https://git.yoctoproject.org/poky
synced 2026-02-10 18:53:13 +01:00
When device names are long (more than 20 characters), the
df test will fail with an exception:
self.assertTrue(int(output)>5120, msg=msg)
ValueError: invalid literal for int() with base 10: ''
at least when busybox is in use.
The reason is that busybox breaks the line in that case:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/disk/by-partuuid/8e991e5a-cebd-4f88-9494-c9db4f30cb02
1998672 87024 1790408 5% /
and the code tries to extract the fourth field from the
second line, which is empty of course.
df can be told not to break lines, though, using the -P
flag, which turns on the POSIX output format, and is
supported by busybox df and coreutils df:
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/disk/by-partuuid/8e991e5a-cebd-4f88-9494-c9db4f30cb02 1998672 87024 1790408 5% /
(From OE-Core rev: 8c23c1476d0c64b9bc8806db03414fa914c1e658)
Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
18 lines
567 B
Python
18 lines
567 B
Python
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
from oeqa.runtime.case import OERuntimeTestCase
|
|
from oeqa.core.decorator.depends import OETestDepends
|
|
from oeqa.runtime.decorator.package import OEHasPackage
|
|
|
|
class DfTest(OERuntimeTestCase):
|
|
|
|
@OETestDepends(['ssh.SSHTest.test_ssh'])
|
|
@OEHasPackage(['coreutils', 'busybox'])
|
|
def test_df(self):
|
|
cmd = "df -P / | sed -n '2p' | awk '{print $4}'"
|
|
(status,output) = self.target.run(cmd)
|
|
msg = 'Not enough space on image. Current size is %s' % output
|
|
self.assertTrue(int(output)>5120, msg=msg)
|