Hi! > +setup() > +{ > + tst_require_root > + > + tst_check_cmds dd du stat > + > + tst_tmpdir > + > + testfile=testfile > + SAFE_CALL dd if=/dev/zero of=${testfile} bs=1M count=10 > + > + testdir=testdir > + SAFE_CALL mkdir -p ${testdir} > + > + SAFE_CALL ln -s ../${testfile} ${testdir}/${testfile}
Passing the testdir and testfile as variables looks like unnecessary indirection to me. > + export DU_BLOCK_SIZE=1024 Maybe it deserves comment here, because at first glance this variable looks unused, but it's in fact used by the du itself. > +} > + > +cleanup() > +{ > + tst_rmdir > +} > + > +export test_return > +du_test() > +{ > + $@ > ${TCID}.temp 2>&1 > + test_return=$? > +} > + > +du_check() > +{ > + if [ ${test_return} -ne 0 ]; then > + grep -q -E "unrecognized option|invalid option" ${TCID}.temp > + if [ $? -eq 0 ]; then > + tst_resm TCONF $2 "not supported." > + return > + else > + tst_resm TFAIL $2 "failed." > + return > + fi > + fi > + > + grep -q $1 ${TCID}.temp > + if [ $? -eq 0 ]; then > + tst_resm TPASS $2 "passed." > + else > + tst_resm TFAIL $2 "failed." > + fi > +} Why is the du_test() and do_check() done as two functions? In the test below they are always called together, wouldn't it be easier if this was just one function? > +test1() > +{ > + du_test du > + du_check ${check1} "du(option: none)" > +} > + > +test2() > +{ > + du_test du ${testfile} > + du_check ${check2} "du(option: <FILE>)" > +} > + > +test3() > +{ > + du_test du -a > + du_check ${check3} "du(option: -a)" > +} > + > +test4() > +{ > + du_test du --all > + du_check ${check3} "du(option: --all)" > +} > + > +test5() > +{ > + du_test du -B ${block_size} > + du_check ${check5} "du(option: -B ${block_size})" > +} > + > +test6() > +{ > + du_test du --block-size=${block_size} > + du_check ${check5} "du(option: --block-size=${block_size})" > +} > + > +test7() > +{ > + du_test du -b > + du_check ${check7} "du(option: -b)" > +} > + > +test8() > +{ > + du_test du --bytes > + du_check ${check7} "du(option: --bytes)" > +} > + > +test9() > +{ > + du_test du -c > + du_check ${check9} "du(option: -c)" > +} > + > +test10() > +{ > + du_test du --total > + du_check ${check9} "du(option: --total)" > +} > + > +test11() > +{ > + du_test du -D ${testdir}/${testfile} > + du_check ${check11} "du(option: -D)" > +} > + > +test12() > +{ > + du_test du --dereference-args ${testdir}/${testfile} > + du_check ${check11} "du(option: --dereference-args)" > +} > + > +test13() > +{ > + du_test du --max-depth=1 > + du_check ${check1} "du(option: --max-depth=N)" > +} > + > +test14() > +{ > + du_test du --human-readable > + du_check ${check14} "du(option: --human-readable)" > +} > + > +test15() > +{ > + du_test du -k > + du_check ${check1} "du(option: -k)" > +} > + > +test16() > +{ > + du_test du -L ${testdir}/ > + du_check ${check16} "du(option: -L)" > +} > + > +test17() > +{ > + du_test du --dereference ${testdir}/ > + du_check ${check16} "du(option: --dereference)" > +} > + > +test18() > +{ > + du_test du -P > + du_check ${check1} "du(option: -P)" > +} > + > +test19() > +{ > + du_test du --no-dereference > + du_check ${check1} "du(option: --no-dereference)" > +} > + > +test20() > +{ > + du_test du --si > + du_check ${check20} "du(option: --si)" > +} > + > +test21() > +{ > + du_test du -s > + du_check ${check1} "du(option: -s)" > +} > + > +test22() > +{ > + du_test du --summarize > + du_check ${check1} "du(option: --summarize)" > +} > + > +test23() > +{ > + du_test du --exclude=${testfile} > + du_check ${check23} "du(option: --exclude=PATTERN)" > +} > + > +setup > +TST_CLEANUP=cleanup > + > +block_size=512 > + > +# The output could be different in some systems, if we use du to > +# estimate file space usage with the same filesystem and the same size. > +# So we use the approximate value to check. > +check1="10[2-3][0-9][0-9][[:space:]]\." > +check2="10[2-3][0-9][0-9][[:space:]]${testfile}" > +check3="0[[:space:]]\.\/${testdir}\/${testfile}" > +check5="20[4-5][0-9][0-9][[:space:]]\." > +check7="10[4-5][0-9][0-9]\{4\}[[:space:]]\." > +check9="10[2-3][0-9][0-9][[:space:]]total" > +check11="10[2-3][0-9][0-9][[:space:]]${testdir}\/${testfile}" > +check14="1[0,1]M[[:space:]]\." > +check16="10[2-3][0-9][0-9][[:space:]]${testdir}\/" > +check20="11M[[:space:]]\." > +check23="[0-9]\{1,2\}[[:space:]]\." The rest looks good to me. -- Cyril Hrubis chru...@suse.cz ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list