]> git.ipfire.org Git - thirdparty/util-linux.git/blob - tests/ts/lsblk/lsblk
tests: split stdout and stderr
[thirdparty/util-linux.git] / tests / ts / lsblk / lsblk
1 #!/bin/bash
2 #
3 # Copyright (C) 2018 Karel Zak <kzak@redhat.com>
4 #
5 # This file is part of util-linux.
6 #
7 # This file is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This file is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #
20 TS_TOPDIR="${0%/*}/../.."
21 . $TS_TOPDIR/functions.sh
22
23 ts_init "$*"
24
25 ts_check_test_command "$TS_CMD_LSBLK"
26 ts_check_prog xz
27 ts_check_prog tar
28
29 for dump in $(ls $TS_SELF/dumps/*.tar.xz | sort); do
30 name=$(basename $dump .tar.xz)
31 dumpdir="$TS_OUTDIR/dumps"
32
33 mkdir -p $dumpdir
34 tar -C $dumpdir --xz -xf $dump
35
36 #
37 # Read *.cols from the tarball, but the expected output is not used
38 # from the tarball due to changes in lsblk fomatting etc. We keep up to
39 # date version in tests/expected/lsblk.
40 #
41 for cols_file in $(ls $dumpdir/$name/*.cols | sort); do
42 subname=$(basename $cols_file .cols)
43 subtestname="${name}-${subname}"
44
45 ts_init_subtest $subtestname
46 cols=$(cat $cols_file)
47 ${TS_CMD_LSBLK} --sysroot "${dumpdir}/${name}" \
48 --output $cols \
49 >> ${TS_OUTPUT} 2>> $TS_ERRLOG
50
51 ts_finalize_subtest
52 done
53 done
54
55 ts_finalize
56