summaryrefslogtreecommitdiffstats
path: root/tests/ts/lsblk/lsblk
blob: b790f7576ea39c4d44c3177542fb9de7c57e0151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
#
# Copyright (C) 2018 Karel Zak <kzak@redhat.com>
#
# 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 3 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.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
TS_TOPDIR="${0%/*}/../.."
. $TS_TOPDIR/functions.sh

ts_init "$*"

ts_check_test_command "$TS_CMD_LSBLK"
ts_check_prog xz
ts_check_prog tar

for dump in $(ls $TS_SELF/dumps/*.tar.xz | sort); do
	name=$(basename $dump .tar.xz)
	dumpdir="$TS_OUTDIR/dumps"

	mkdir -p $dumpdir
	tar -C $dumpdir --xz -xf $dump

	#
	# Read *.cols from the tarball, but the expected output is not used
	# from the tarball due to changes in lsblk fomatting etc. We keep up to
	# date version in tests/expected/lsblk.
	#
	for cols_file in $(ls $dumpdir/$name/*.cols | sort); do
		subname=$(basename $cols_file .cols)
		subtestname="${name}-${subname}"

		ts_init_subtest $subtestname
		cols=$(cat $cols_file)
		${TS_CMD_LSBLK} --sysroot "${dumpdir}/${name}" \
			        --output $cols \
			        >> ${TS_OUTPUT} 2>> $TS_ERRLOG

		ts_finalize_subtest
	done
done

ts_finalize