{"id":809179,"url":"http://patchwork.ozlabs.org/api/1.2/patches/809179/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/1504397939-12847-3-git-send-email-alison@peloton-tech.com/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.2/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1504397939-12847-3-git-send-email-alison@peloton-tech.com>","list_archive_url":null,"date":"2017-09-03T00:18:59","name":"[U-Boot,3/3] add pytests for 'gpt rename' and 'gpt swap'","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":false,"hash":"8aa14425295ce855229761419b44f33ab58fa142","submitter":{"id":69170,"url":"http://patchwork.ozlabs.org/api/1.2/people/69170/?format=json","name":"Alison Chaiken","email":"alison@peloton-tech.com"},"delegate":{"id":3184,"url":"http://patchwork.ozlabs.org/api/1.2/users/3184/?format=json","username":"sjg","first_name":"Simon","last_name":"Glass","email":"sjg@chromium.org"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/1504397939-12847-3-git-send-email-alison@peloton-tech.com/mbox/","series":[{"id":1186,"url":"http://patchwork.ozlabs.org/api/1.2/series/1186/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=1186","date":"2017-09-03T00:18:57","name":"[U-Boot,1/3] GPT: create block device for sandbox testing","version":1,"mbox":"http://patchwork.ozlabs.org/series/1186/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/809179/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/809179/checks/","tags":{},"related":[],"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)","Received":["from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xlDC36SHPz9sRW\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun,  3 Sep 2017 10:20:15 +1000 (AEST)","by lists.denx.de (Postfix, from userid 105)\n\tid A1CEBC21F86; Sun,  3 Sep 2017 00:19:47 +0000 (UTC)","from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 7E6E8C21F3D;\n\tSun,  3 Sep 2017 00:19:40 +0000 (UTC)","by lists.denx.de (Postfix, from userid 105)\n\tid 095AFC21F6F; Sun,  3 Sep 2017 00:19:20 +0000 (UTC)","from alison-debian.peloton-tech.com (unknown [12.1.72.210])\n\tby lists.denx.de (Postfix) with SMTP id A2B17C21EEB\n\tfor <u-boot@lists.denx.de>; Sun,  3 Sep 2017 00:19:16 +0000 (UTC)","(qmail 12909 invoked by uid 1026); 3 Sep 2017 00:19:15 -0000"],"X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de","X-Spam-Level":"**","X-Spam-Status":"No, score=2.1 required=5.0 tests=RDNS_NONE,UPPERCASE_50_75\n\tautolearn=no autolearn_force=no version=3.4.0","From":"alison@peloton-tech.com","To":"u-boot@lists.denx.de","Date":"Sat,  2 Sep 2017 17:18:59 -0700","Message-Id":"<1504397939-12847-3-git-send-email-alison@peloton-tech.com>","X-Mailer":"git-send-email 2.1.4","In-Reply-To":"<1504397939-12847-1-git-send-email-alison@peloton-tech.com>","References":"<1504397939-12847-1-git-send-email-alison@peloton-tech.com>","Cc":"alison@she-devel.com, trini@konsulko.com, alison@peloton-tech.com","Subject":"[U-Boot] [PATCH 3/3] add pytests for 'gpt rename' and 'gpt swap'","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.18","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<http://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>"},"content":"From: Alison Chaiken <alison@peloton-tech.com>\n\nAdd unit tests for the 'gpt rename' and 'gpt swap' commands that rely\non the block device created by test/gpt/make-test-disk.sh.   Create a\nnew configs/sandbox_gpt_rename_defconfig file to enable testing with\nCONFIG_CMD_GPT_RENAME.  Remove the disk.raw test device at the end of\nthe tests.\n\nSigned-off-by: Alison Chaiken <alison@peloton-tech.com>\n---\n configs/sandbox_gpt_rename_defconfig | 196 +++++++++++++++++++++++++++++++++++\n test/py/tests/test_gpt.py            |  31 ++++++\n 2 files changed, 227 insertions(+)\n create mode 100644 configs/sandbox_gpt_rename_defconfig","diff":"diff --git a/configs/sandbox_gpt_rename_defconfig b/configs/sandbox_gpt_rename_defconfig\nnew file mode 100644\nindex 0000000..e7a61bd\n--- /dev/null\n+++ b/configs/sandbox_gpt_rename_defconfig\n@@ -0,0 +1,196 @@\n+CONFIG_SYS_MALLOC_F_LEN=0x2000\n+CONFIG_DEFAULT_DEVICE_TREE=\"sandbox\"\n+CONFIG_DISTRO_DEFAULTS=y\n+CONFIG_ANDROID_BOOT_IMAGE=y\n+CONFIG_FIT=y\n+CONFIG_FIT_SIGNATURE=y\n+CONFIG_FIT_VERBOSE=y\n+CONFIG_BOOTSTAGE=y\n+CONFIG_BOOTSTAGE_REPORT=y\n+CONFIG_BOOTSTAGE_USER_COUNT=32\n+CONFIG_BOOTSTAGE_FDT=y\n+CONFIG_BOOTSTAGE_STASH=y\n+CONFIG_BOOTSTAGE_STASH_ADDR=0x0\n+CONFIG_BOOTSTAGE_STASH_SIZE=0x4096\n+CONFIG_CONSOLE_RECORD=y\n+CONFIG_CONSOLE_RECORD_OUT_SIZE=0x1000\n+CONFIG_SILENT_CONSOLE=y\n+CONFIG_PRE_CONSOLE_BUFFER=y\n+CONFIG_PRE_CON_BUF_ADDR=0\n+CONFIG_CMD_CPU=y\n+CONFIG_CMD_LICENSE=y\n+CONFIG_CMD_BOOTZ=y\n+# CONFIG_CMD_ELF is not set\n+# CONFIG_CMD_IMLS is not set\n+CONFIG_CMD_ASKENV=y\n+CONFIG_CMD_GREPENV=y\n+CONFIG_CMD_ENV_CALLBACK=y\n+CONFIG_CMD_ENV_FLAGS=y\n+CONFIG_LOOPW=y\n+CONFIG_CMD_MD5SUM=y\n+CONFIG_CMD_MEMINFO=y\n+CONFIG_CMD_MEMTEST=y\n+CONFIG_CMD_MX_CYCLIC=y\n+CONFIG_CMD_DEMO=y\n+CONFIG_CMD_GPIO=y\n+CONFIG_CMD_GPT=y\n+CONFIG_CMD_GPT_RENAME=y\n+CONFIG_CMD_IDE=y\n+CONFIG_CMD_I2C=y\n+CONFIG_CMD_PCI=y\n+CONFIG_CMD_READ=y\n+CONFIG_CMD_REMOTEPROC=y\n+CONFIG_CMD_SF=y\n+CONFIG_CMD_SPI=y\n+CONFIG_CMD_USB=y\n+CONFIG_CMD_TFTPPUT=y\n+CONFIG_CMD_TFTPSRV=y\n+CONFIG_CMD_RARP=y\n+CONFIG_CMD_CDP=y\n+CONFIG_CMD_SNTP=y\n+CONFIG_CMD_DNS=y\n+CONFIG_CMD_LINK_LOCAL=y\n+CONFIG_CMD_ETHSW=y\n+CONFIG_CMD_BMP=y\n+CONFIG_CMD_TIME=y\n+CONFIG_CMD_TIMER=y\n+CONFIG_CMD_SOUND=y\n+CONFIG_CMD_QFW=y\n+CONFIG_CMD_BOOTSTAGE=y\n+CONFIG_CMD_PMIC=y\n+CONFIG_CMD_REGULATOR=y\n+CONFIG_CMD_TPM=y\n+CONFIG_CMD_TPM_TEST=y\n+CONFIG_CMD_CBFS=y\n+CONFIG_CMD_CRAMFS=y\n+CONFIG_CMD_EXT4_WRITE=y\n+CONFIG_CMD_MTDPARTS=y\n+CONFIG_MAC_PARTITION=y\n+CONFIG_AMIGA_PARTITION=y\n+CONFIG_OF_CONTROL=y\n+CONFIG_OF_LIVE=y\n+CONFIG_OF_HOSTFILE=y\n+CONFIG_NETCONSOLE=y\n+CONFIG_REGMAP=y\n+CONFIG_SYSCON=y\n+CONFIG_DEVRES=y\n+CONFIG_DEBUG_DEVRES=y\n+CONFIG_ADC=y\n+CONFIG_ADC_SANDBOX=y\n+CONFIG_CLK=y\n+CONFIG_CPU=y\n+CONFIG_DM_DEMO=y\n+CONFIG_DM_DEMO_SIMPLE=y\n+CONFIG_DM_DEMO_SHAPE=y\n+CONFIG_PM8916_GPIO=y\n+CONFIG_SANDBOX_GPIO=y\n+CONFIG_DM_I2C_COMPAT=y\n+CONFIG_I2C_CROS_EC_TUNNEL=y\n+CONFIG_I2C_CROS_EC_LDO=y\n+CONFIG_DM_I2C_GPIO=y\n+CONFIG_SYS_I2C_SANDBOX=y\n+CONFIG_I2C_MUX=y\n+CONFIG_SPL_I2C_MUX=y\n+CONFIG_I2C_ARB_GPIO_CHALLENGE=y\n+CONFIG_CROS_EC_KEYB=y\n+CONFIG_I8042_KEYB=y\n+CONFIG_LED=y\n+CONFIG_LED_BLINK=y\n+CONFIG_LED_GPIO=y\n+CONFIG_DM_MAILBOX=y\n+CONFIG_SANDBOX_MBOX=y\n+CONFIG_MISC=y\n+CONFIG_CROS_EC=y\n+CONFIG_CROS_EC_I2C=y\n+CONFIG_CROS_EC_LPC=y\n+CONFIG_CROS_EC_SANDBOX=y\n+CONFIG_CROS_EC_SPI=y\n+CONFIG_PWRSEQ=y\n+CONFIG_SPL_PWRSEQ=y\n+CONFIG_I2C_EEPROM=y\n+CONFIG_MMC_SANDBOX=y\n+CONFIG_SPI_FLASH_SANDBOX=y\n+CONFIG_SPI_FLASH=y\n+CONFIG_SPI_FLASH_ATMEL=y\n+CONFIG_SPI_FLASH_EON=y\n+CONFIG_SPI_FLASH_GIGADEVICE=y\n+CONFIG_SPI_FLASH_MACRONIX=y\n+CONFIG_SPI_FLASH_SPANSION=y\n+CONFIG_SPI_FLASH_STMICRO=y\n+CONFIG_SPI_FLASH_SST=y\n+CONFIG_SPI_FLASH_WINBOND=y\n+CONFIG_DM_ETH=y\n+CONFIG_NVME=y\n+CONFIG_PCI=y\n+CONFIG_DM_PCI=y\n+CONFIG_DM_PCI_COMPAT=y\n+CONFIG_PCI_SANDBOX=y\n+CONFIG_PHY=y\n+CONFIG_PHY_SANDBOX=y\n+CONFIG_PINCTRL=y\n+CONFIG_PINCONF=y\n+CONFIG_PINCTRL_ROCKCHIP_RK3036=y\n+CONFIG_PINCTRL_ROCKCHIP_RK3288=y\n+CONFIG_PINCTRL_SANDBOX=y\n+CONFIG_POWER_DOMAIN=y\n+CONFIG_SANDBOX_POWER_DOMAIN=y\n+CONFIG_DM_PMIC=y\n+CONFIG_PMIC_ACT8846=y\n+CONFIG_DM_PMIC_PFUZE100=y\n+CONFIG_DM_PMIC_MAX77686=y\n+CONFIG_PMIC_PM8916=y\n+CONFIG_PMIC_RK8XX=y\n+CONFIG_PMIC_S2MPS11=y\n+CONFIG_DM_PMIC_SANDBOX=y\n+CONFIG_PMIC_S5M8767=y\n+CONFIG_PMIC_TPS65090=y\n+CONFIG_DM_REGULATOR=y\n+CONFIG_REGULATOR_ACT8846=y\n+CONFIG_DM_REGULATOR_PFUZE100=y\n+CONFIG_DM_REGULATOR_MAX77686=y\n+CONFIG_DM_REGULATOR_FIXED=y\n+CONFIG_REGULATOR_RK8XX=y\n+CONFIG_REGULATOR_S5M8767=y\n+CONFIG_DM_REGULATOR_SANDBOX=y\n+CONFIG_REGULATOR_TPS65090=y\n+CONFIG_DM_PWM=y\n+CONFIG_PWM_SANDBOX=y\n+CONFIG_RAM=y\n+CONFIG_REMOTEPROC_SANDBOX=y\n+CONFIG_DM_RESET=y\n+CONFIG_SANDBOX_RESET=y\n+CONFIG_DM_RTC=y\n+CONFIG_SANDBOX_SERIAL=y\n+CONFIG_SOUND=y\n+CONFIG_SOUND_SANDBOX=y\n+CONFIG_SANDBOX_SPI=y\n+CONFIG_SPMI=y\n+CONFIG_SPMI_SANDBOX=y\n+CONFIG_SYSRESET=y\n+CONFIG_TIMER=y\n+CONFIG_TIMER_EARLY=y\n+CONFIG_SANDBOX_TIMER=y\n+CONFIG_TPM_TIS_SANDBOX=y\n+CONFIG_USB=y\n+CONFIG_DM_USB=y\n+CONFIG_USB_EMUL=y\n+CONFIG_USB_STORAGE=y\n+CONFIG_USB_KEYBOARD=y\n+CONFIG_SYS_USB_EVENT_POLL=y\n+CONFIG_DM_VIDEO=y\n+CONFIG_CONSOLE_ROTATION=y\n+CONFIG_CONSOLE_TRUETYPE=y\n+CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y\n+CONFIG_VIDEO_SANDBOX_SDL=y\n+CONFIG_WDT=y\n+CONFIG_WDT_SANDBOX=y\n+CONFIG_FS_CBFS=y\n+CONFIG_FS_CRAMFS=y\n+CONFIG_CMD_DHRYSTONE=y\n+CONFIG_TPM=y\n+CONFIG_LZ4=y\n+CONFIG_ERRNO_STR=y\n+CONFIG_UNIT_TEST=y\n+CONFIG_UT_TIME=y\n+CONFIG_UT_DM=y\n+CONFIG_UT_ENV=y\ndiff --git a/test/py/tests/test_gpt.py b/test/py/tests/test_gpt.py\nindex 2201f39..7d8603a 100644\n--- a/test/py/tests/test_gpt.py\n+++ b/test/py/tests/test_gpt.py\n@@ -36,4 +36,35 @@ def test_gpt_save_guid(u_boot_console):\n     output = u_boot_console.run_command('gpt guid host 0 newguid')\n     output = u_boot_console.run_command('printenv newguid')\n     assert '375a56f7-d6c9-4e81-b5f0-09d41ca89efe' in output\n+\n+@pytest.mark.buildconfigspec('cmd_gpt')\n+def test_gpt_rename_partition(u_boot_console):\n+    \"\"\"Test the gpt rename command to write partition names.\"\"\"\n+\n+    if u_boot_console.config.buildconfig.get('config_cmd_gpt_rename', 'n') != 'y':\n+        pytest.skip('gpt rename command not supported')\n+    u_boot_console.run_command('host bind 0 disk.raw')\n+    u_boot_console.run_command('gpt rename host 0 1 first')\n+    output = u_boot_console.run_command('gpt read host 0')\n+    assert 'name first' in output\n+    u_boot_console.run_command('gpt rename host 0 2 second')\n+    output = u_boot_console.run_command('gpt read host 0')\n+    assert 'name second' in output\n+\n+@pytest.mark.buildconfigspec('cmd_gpt')\n+def test_gpt_swap_partitions(u_boot_console):\n+    \"\"\"Test the gpt swap command to exchange two partition names.\"\"\"\n+\n+    if u_boot_console.config.buildconfig.get('config_cmd_gpt_rename', 'n') != 'y':\n+        pytest.skip('gpt rename command not supported')\n+    if u_boot_console.config.buildconfig.get('config_cmd_part', 'n') != 'y':\n+        pytest.skip('gpt swap test needs CMD_PART')\n+    u_boot_console.run_command('host bind 0 disk.raw')\n+    output = u_boot_console.run_command('part list host 0')\n+    assert '0x00000021\t\"first\"' in output\n+    assert '0x000001f0\t\"second\"' in output\n+    u_boot_console.run_command('gpt swap host 0 first second')\n+    output = u_boot_console.run_command('part list host 0')\n+    assert '0x00000021\t\"second\"' in output\n+    assert '0x000001f0\t\"first\"' in output\n     os.remove('disk.raw')\n","prefixes":["U-Boot","3/3"]}