#!/bin/bash
#
# This file is part of util-linux.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
#

TS_TOPDIR="${0%/*}/../.."
TS_DESC="GPT"

. $TS_TOPDIR/functions.sh
ts_init "$*"

TESTPROG="$TS_HELPER_LIBFDISK_GPT"
ts_check_test_command "$TESTPROG"
ts_check_test_command "$TS_CMD_SFDISK"

TEST_IMAGE_NAME=$(ts_image_init 10)

ts_init_subtest "all-defaults"
$TS_CMD_SFDISK --unit S ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>&1 <<EOF
label: gpt
label-id: b181c399-4711-4c52-8b65-9e764541218d

size=5M, attrs="RequiredPartition,48"
attrs="52,53,62"
EOF
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest

TEST_IMAGE_NAME=$(ts_image_init 10)

ts_init_subtest "all-defaults-with-typo"
$TS_CMD_SFDISK --unit S ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>&1 <<EOF
label: gpt
label-id: b181c399-4711-4c52-8b65-9e764541218d

size=5M, attrs="RequiredPartiton,48"
attrs="52,53,62"
EOF
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest

ts_init_subtest "getattr"
ts_run $TESTPROG --getattr ${TEST_IMAGE_NAME} 1 >> $TS_OUTPUT 2>&1
ts_run $TESTPROG --getattr ${TEST_IMAGE_NAME} 2 >> $TS_OUTPUT 2>&1
ts_finalize_subtest

ts_init_subtest "setattr"
ts_run $TESTPROG --setattr ${TEST_IMAGE_NAME} 1 0xff00000000000000 >> $TS_OUTPUT 2>&1
ts_run $TESTPROG --setattr ${TEST_IMAGE_NAME} 2 0x4 >> $TS_OUTPUT 2>&1
$TS_CMD_SFDISK --part-attrs ${TEST_IMAGE_NAME} 1 >> $TS_OUTPUT 2>&1
$TS_CMD_SFDISK --part-attrs ${TEST_IMAGE_NAME} 2 >> $TS_OUTPUT 2>&1
ts_finalize_subtest

ts_finalize
