public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Cyril Hrubis <chrubis@suse.cz>
To: Zeng Linggang <zenglg.jy@cn.fujitsu.com>
Cc: ltp-list <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] [PATCH] commands/df: Added new testcase to test df(1) command.
Date: Tue, 28 Apr 2015 18:33:14 +0200	[thread overview]
Message-ID: <20150428163313.GA24127@rei> (raw)
In-Reply-To: <1430219455.7745.4.camel@G08JYZSD130126.localdomain>

Hi!
> +setup()
> +{
> +	tst_require_root
> +
> +	tst_check_cmds df
> +
> +	tst_tmpdir
> +
> +	dd if=/dev/zero of=test.img bs=1M count=20 >/dev/null 2>&1
> +	if [ $? -ne 0 ];then

Unless we set cleanup we need to do tst_rmdir here and below.

> +		tst_brkm TBROK "dd failed."
> +	fi
> +
> +	device_name=$(/sbin/losetup -f)
> +	if [ $? -ne 0 ];then
> +		tst_brkm TBROK "device_name failed."
> +	fi
> +
> +	losetup ${device_name} test.img
> +	if [ $? -ne 0 ];then
> +		tst_brkm TBROK "losetup failed."
> +	fi

Hmm, we may need tst_acquire_device and tst_release_device for shell as
well. Because as this is we cannot make use of the device passed to the
runltp script.

> +	mkfs.ext2 ${device_name} >/dev/null 2>&1
> +	if [ $? -ne 0 ];then

If we end up here because, for example, mkfs.ext2 is not installed, the
device will still be attached. We need either create a cleanup that is
able to handle to cleanup interrupted setup or just detach the device
and tst_rmdir() here and in the steps below.

> +		tst_brkm TBROK "mkfs.ext2 failed."
> +	fi
> +
> +	mkdir mntpoint
> +	if [ $? -ne 0 ];then
> +		tst_brkm TBROK "mkdir testdir failed."
> +	fi

This can be moved before the losetup when the only cleanup we need to do
is tst_rmdir()

> +	mount ${device_name} mntpoint
> +	if [ $? -ne 0 ];then
> +		tst_brkm TBROK "mount failed."
> +	fi

Can we use the ROD and ROD_SILENT here instead? :)

> +}
> +
> +cleanup()
> +{
> +	umount -d mntpoint
> +	if [ $? -ne 0 ];then
> +		tst_resm TINFO "umount error."
> +	fi

You need to detach the loop device here with losetup -d

> +	tst_rmdir
> +}
> +
> +df_test()
> +{
> +	$1 >${TCID}.temp 2>&1
> +	if [ $? -ne 0 ]; then
> +		grep -q -E "unrecognized option | invalid option" ${TCID}.temp
> +		if [ $? -eq 0 ]; then
> +			tst_resm TCONF "'$1' not supported."
> +			return
> +		else
> +			tst_resm TFAIL "'$1' failed."
> +			return
> +		fi
> +	fi
> +
> +	grep ${device_name} ${TCID}.temp | grep mntpoint | grep -q $2
> +	if [ $? -eq 0 ]; then
> +		tst_resm TPASS "'$1' passed."
> +	else
> +		tst_resm TFAIL "'$1' failed."
> +	fi
> +}
> +
> +test1()
> +{
> +	df_test "df" "19827"
> +}
> +
> +test2()
> +{
> +	df_test "df -a" "19827"
> +}
> +
> +test3()
> +{
> +	df_test "df -h" "20M"
> +}
> +
> +test4()
> +{
> +	df_test "df -H" "21M"
> +}
> +
> +test5()
> +{
> +	df_test "df -i" "5136"
> +}
> +
> +test6()
> +{
> +	df_test "df -k" "19827"
> +}
> +
> +test7()
> +{
> +	df_test "df -m" "20"
> +}
> +
> +test8()
> +{
> +	df_test "df -t ext2" "19827"
> +}
> +
> +test9()
> +{
> +	df_test "df -T" "19827"
> +}
> +
> +test10()
> +{
> +	df_test "df -v mntpoint" "19827"
> +}
> +
> +test11()
> +{
> +	df -x ext2 >${TCID}.temp 2>&1
> +	if [ $? -ne 0 ]; then
> +		grep -q -E "unrecognized option | invalid option" ${TCID}.temp
> +		if [ $? -eq 0 ]; then
> +			tst_resm TCONF "'df -x ext2' not supported."
> +			return
> +		else
> +			tst_resm TFAIL "'df -x ext2' failed."
> +			return
> +		fi
> +	fi
> +
> +	grep ${device_name} ${TCID}.temp | grep -q mntpoint
> +	if [ $? -ne 0 ]; then
> +		tst_resm TPASS "'df -x ext2' passed."
> +	else
> +		tst_resm TFAIL "'df -x ext2' failed."
> +	fi
> +}
> +
> +test12()
> +{
> +	df --version >${TCID}.temp 2>&1
> +	if [ $? -ne 0 ]; then
> +		grep -q -E "unrecognized option | invalid option" ${TCID}.temp
> +		if [ $? -eq 0 ]; then
> +			tst_resm TCONF "'df --version' not supported."
> +			return
> +		else
> +			tst_resm TFAIL "'df --version' failed."
> +			return
> +		fi
> +	else
> +		tst_resm TPASS "'df --version' passed."
> +	fi
> +}
> +
> +setup
> +TST_CLEANUP="cleanup"
> +
> +for i in $(seq 1 ${TST_TOTAL})
> +do
> +	test$i
> +done
> +
> +tst_exit

-- 
Cyril Hrubis
chrubis@suse.cz

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2015-04-28 16:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-28 11:10 [LTP] [PATCH] commands/df: Added new testcase to test df(1) command Zeng Linggang
2015-04-28 16:33 ` Cyril Hrubis [this message]
     [not found]   ` <1431596608-27065-1-git-send-email-zenglg.jy@cn.fujitsu.com>
2015-05-18 13:12     ` [LTP] [PATCH v2 1/2] test.sh: Add tst_acquire_device() and tst_release_device() Cyril Hrubis
     [not found]       ` <1432264251-27223-1-git-send-email-zenglg.jy@cn.fujitsu.com>
2015-05-27 14:40         ` [LTP] [PATCH v3 " Cyril Hrubis
     [not found]         ` <1432264251-27223-2-git-send-email-zenglg.jy@cn.fujitsu.com>
2015-05-27 14:53           ` [LTP] [PATCH v3 2/2] commands/df: Added new testcase to test df(1) command Cyril Hrubis
     [not found]             ` <1432809128.11403.53.camel@G08FNSTD140232>
2015-05-28 10:41               ` Cyril Hrubis
     [not found]                 ` <1433151743-30219-1-git-send-email-zenglg.jy@cn.fujitsu.com>
     [not found]                   ` <1433151743-30219-2-git-send-email-zenglg.jy@cn.fujitsu.com>
2015-06-03 14:27                     ` [LTP] [PATCH v4 " Cyril Hrubis
     [not found]                       ` <1433754901.2651.50.camel@G08FNSTD140232.g08.fujitsu.local>
2015-06-08 13:57                         ` Cyril Hrubis
     [not found]                           ` <1434095739-19883-1-git-send-email-zenglg.jy@cn.fujitsu.com>
     [not found]                             ` <1434095739-19883-2-git-send-email-zenglg.jy@cn.fujitsu.com>
2015-06-16 19:51                               ` [LTP] [PATCH v5 " Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150428163313.GA24127@rei \
    --to=chrubis@suse.cz \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=zenglg.jy@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox