GPT: create block device for sandbox testing

Provide a Python function that creates a small block device for the
purpose of testing the cmd/gpt.c or cmd/part.c functions in the u-boot
sandbox.

Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Alison Chaiken 2017-09-09 23:47:12 -07:00 committed by Tom Rini
parent 2f9455c849
commit bf6d76b84a
2 changed files with 24 additions and 0 deletions

View File

@ -337,6 +337,11 @@ $> lodev=`sudo losetup -P -f --show ./disk.raw`
$> sudo mkfs.vfat -n EFI -v ${lodev}p1
$> sudo mkfs.ext4 -L ROOT -v ${lodev}p2
or utilize the device described in test/py/make_test_disk.py:
#!/usr/bin/python
import make_test_disk
make_test_disk.makeDisk()
Writing Sandbox Drivers
-----------------------

19
test/py/make_test_disk.py Executable file
View File

@ -0,0 +1,19 @@
# Copyright (c) 2017 Alison Chaiken
#
# SPDX-License-Identifier: GPL-2.0
#
# Create a block device for testing of 'gpt' and 'part' commands.
import os
def makeDisk():
if (os.path.exists("testdisk.raw")):
os.remove("testdisk.raw")
fd = os.open("testdisk.raw", os.O_RDWR|os.O_CREAT )
os.ftruncate(fd, 4194304)
os.close(fd)
os.spawnl(os.P_WAIT, "/sbin/sgdisk", "sgdisk", "-U",
"375a56f7-d6c9-4e81-b5f0-09d41ca89efe", "testdisk.raw")
os.spawnl(os.P_WAIT, "/sbin/sgdisk", "sgdisk", "--new=1:2048:2560", "testdisk.raw")
os.spawnl(os.P_WAIT, "/sbin/sgdisk", "sgdisk", "--new=2:4096:4608", "testdisk.raw")
os.spawnl(os.P_WAIT, "/sbin/gdisk", "sgdisk", "-l", "testdisk.raw")