#!/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="outputs"

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

ts_check_test_command "$TS_CMD_FINDMNT"


ts_init_subtest "default"
$TS_CMD_FINDMNT --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
echo rc=$? >> $TS_OUTPUT
ts_finalize_subtest

ts_init_subtest "kernel"
$TS_CMD_FINDMNT --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
echo rc=$? >> $TS_OUTPUT
ts_finalize_subtest

ts_init_subtest "force-tree"
$TS_CMD_FINDMNT --tree --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
echo rc=$? >> $TS_OUTPUT
ts_finalize_subtest

ts_init_subtest "submounts"
$TS_CMD_FINDMNT /sys --submounts --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
echo rc=$? >> $TS_OUTPUT
ts_finalize_subtest

ts_init_subtest "messy-mountinfo"
$TS_CMD_FINDMNT --tab-file "$TS_SELF/files/mountinfo-messy" &> $TS_OUTPUT
echo rc=$? >> $TS_OUTPUT
ts_finalize_subtest

ts_finalize
