blob: ceb4e924a11fd8537115aa3d816000391c48115a [file] [log] [blame] [edit]
import infra.basetest
import os
class TestHostPythonPyfatfs(infra.basetest.BRHostPkgTest):
hostpkgs = ["host-python-pyfatfs",
"host-genimage",
"host-dosfstools",
"host-mtools"]
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + infra.basetest.MINIMAL_CONFIG + \
"""
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_MTOOLS=y
"""
genimage_cfg = """
image test.vfat {
vfat {
files = {
"test.txt"
}
}
size = 8M
}"""
def test_run(self):
os.makedirs(os.path.join(self.builddir, "genimage-input"),
exist_ok=True)
with open(os.path.join(self.builddir, "genimage-input", "test.txt"), "w") as f:
f.write("Hello World!")
with open(os.path.join(self.builddir, "genimage.cfg"), "w") as f:
f.write(self.genimage_cfg)
os.makedirs(os.path.join(self.builddir, "genimage-tmp"),
exist_ok=True)
os.makedirs(os.path.join(self.builddir, "genimage-root"),
exist_ok=True)
cmd = ["host/bin/genimage",
"--config", os.path.join(self.builddir, "genimage.cfg"),
"--outputpath", self.builddir,
"--inputpath", os.path.join(self.builddir, "genimage-input"),
"--tmppath", os.path.join(self.builddir, "genimage-tmp"),
"--rootpath", os.path.join(self.builddir, "genimage-root"),
"--mkdosfs", os.path.join(self.builddir, "host", "sbin", "mkdosfs"),
"--mcopy", os.path.join(self.builddir, "host", "bin", "mcopy")
]
infra.run_cmd_on_host(self.builddir, cmd)
cmd = ["host/bin/python3", "-c",
"import fs; fatfs = fs.open_fs('fat://test.vfat'); assert(fatfs.listdir('/') == ['TEST.TXT'])"]
infra.run_cmd_on_host(self.builddir, cmd)