UPSTREAM: 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.

Change-Id: I620c2f97c7b6533d8cb607e365e719246cdb7acd
Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit bf6d76b84ae13b463c0dca556118047e2d046f33)
This commit is contained in:
Alison Chaiken 2017-09-09 23:47:12 -07:00 committed by Kever Yang
parent 451f416416
commit 4d11a85763
2 changed files with 24 additions and 0 deletions

View File

@ -338,6 +338,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")