| #!/bin/sh |
| # |
| # Copyright (c) 2015 Fujitsu Ltd. |
| # Author: Guangwen Feng <fenggw-fnst@cn.fujitsu.com> |
| # |
| # This program 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 program 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. |
| # |
| # Test the basic functionality of lsmod command. |
| # |
| TST_TESTFUNC=lsmod_test |
| TST_NEEDS_TMPDIR=1 |
| TST_NEEDS_CMDS="lsmod" |
| . tst_test.sh |
| |
| lsmod_test() |
| { |
| lsmod_output=$(lsmod | awk '!/Module/{print $1, $2, $3}' | sort) |
| if [ -z "$lsmod_output" ]; then |
| tst_res TFAIL "Failed to parse the output from lsmod" |
| return |
| fi |
| |
| modules_output=$(awk '{print $1, $2, $3}' /proc/modules | sort) |
| if [ -z "$modules_output" ]; then |
| tst_res TFAIL "Failed to parse /proc/modules" |
| return |
| fi |
| |
| if [ "$lsmod_output" != "$modules_output" ]; then |
| tst_res TFAIL "lsmod output different from /proc/modules." |
| |
| echo "$lsmod_output" > temp1 |
| echo "$modules_output" > temp2 |
| diff temp1 temp2 |
| |
| return |
| fi |
| |
| tst_res TPASS "'lsmod' passed." |
| } |
| |
| tst_run |