diff options
author | David Disseldorp <ddiss@suse.de> | 2021-03-01 01:51:42 +0100 |
---|---|---|
committer | Harald Hoyer <harald@hoyer.xyz> | 2021-11-24 11:14:54 +0100 |
commit | 3a0f423309c85dc42de4cf6b47ba482dc01d64cf (patch) | |
tree | db047729304110e5a4ada5d79efc2db228fc4f98 | |
parent | 86bba3d4d472c06427a6f7d1062ba25aaaac52ad (diff) | |
download | dracut-3a0f423309c85dc42de4cf6b47ba482dc01d64cf.tar.gz |
ci(TEST-62-SKIPCPIO): add simple skipcpio test
Signed-off-by: David Disseldorp <ddiss@suse.de>
-rw-r--r-- | test/TEST-62-SKIPCPIO/Makefile | 1 | ||||
-rwxr-xr-x | test/TEST-62-SKIPCPIO/test.sh | 75 |
2 files changed, 76 insertions, 0 deletions
diff --git a/test/TEST-62-SKIPCPIO/Makefile b/test/TEST-62-SKIPCPIO/Makefile new file mode 100644 index 00000000..2dcab816 --- /dev/null +++ b/test/TEST-62-SKIPCPIO/Makefile @@ -0,0 +1 @@ +-include ../Makefile.testdir diff --git a/test/TEST-62-SKIPCPIO/test.sh b/test/TEST-62-SKIPCPIO/test.sh new file mode 100755 index 00000000..e263a675 --- /dev/null +++ b/test/TEST-62-SKIPCPIO/test.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# This file is part of dracut. +# SPDX-License-Identifier: GPL-2.0-or-later + +# shellcheck disable=SC2034 +TEST_DESCRIPTION="test skipcpio" + +test_check() { + which cpio dd truncate find sort diff &> /dev/null +} + +skipcpio_simple() { + mkdir -p "$CPIO_TESTDIR/skipcpio_simple/first_archive" + pushd "$CPIO_TESTDIR/skipcpio_simple/first_archive" + + for ((i = 0; i < 3; i++)); do + echo "first archive file $i" >> ./"$i" + done + find . -print0 | sort -z \ + | cpio -o --null -H newc --file "$CPIO_TESTDIR/skipcpio_simple.cpio" + popd + + mkdir -p "$CPIO_TESTDIR/skipcpio_simple/second_archive" + pushd "$CPIO_TESTDIR/skipcpio_simple/second_archive" + + for ((i = 10; i < 13; i++)); do + echo "second archive file $i" >> ./"$i" + done + + find . -print0 | sort -z \ + | cpio -o --null -H newc >> "$CPIO_TESTDIR/skipcpio_simple.cpio" + popd + + cpio -i --list < "$CPIO_TESTDIR/skipcpio_simple.cpio" \ + > "$CPIO_TESTDIR/skipcpio_simple.list" + cat << EOF | diff - "$CPIO_TESTDIR/skipcpio_simple.list" +. +0 +1 +2 +EOF + + "$basedir"/src/skipcpio/skipcpio "$CPIO_TESTDIR/skipcpio_simple.cpio" \ + | cpio -i --list > "$CPIO_TESTDIR/skipcpio_simple.list" + cat << EOF | diff - "$CPIO_TESTDIR/skipcpio_simple.list" +. +10 +11 +12 +EOF +} + +test_run() { + set -x + set -e + + skipcpio_simple + + return 0 +} + +test_setup() { + CPIO_TESTDIR=$(mktemp --directory -p "$TESTDIR" cpio-test.XXXXXXXXXX) \ + || return 1 + export CPIO_TESTDIR + return 0 +} + +test_cleanup() { + [ -d "$CPIO_TESTDIR" ] && rm -rf "$CPIO_TESTDIR" + return 0 +} + +# shellcheck disable=SC1090 +. "$testdir"/test-functions |