On 04/09/2013 03:01 PM, Ramesh wrote: > On 04/08/2013 06:28 AM, Wanlong Gao wrote: >> On 04/05/2013 06:18 PM, Ramesh wrote: >>> Some of the tests which require a block device for their execution are >>> skipped >>> when runltp is run without any block device being specified on >>> commandline.Most >>> of such tests are from syscalls group and as a work around to make these >>> tests >>> run even when no block device is specified,I have made use of loopback >>> device >>> to create a block device with ext4 filesystem. So,runltp is modified to >>> create >>> a block device and set the values for DEVICE and DEVICE_FS_TYPE accordingly. >> >> I like this change, but seems that your email client wrapped the lines, >> please take care of this issue when you respin the patch. >> >> Thanks, >> Wanlong Gao >> >>> >>> Following are the skipped tests, >>> ---- >>> inotify03 inotify03 -D DEVICE -T DEVICE_FS_TYPE >>> mount01 mount01 -D DEVICE -T DEVICE_FS_TYPE >>> mount02 mount02 -D DEVICE -T DEVICE_FS_TYPE >>> mount03 mount03 -D DEVICE -T DEVICE_FS_TYPE >>> mount04 mount04 -D DEVICE -T DEVICE_FS_TYPE >>> umount01 umount01 -D DEVICE -T DEVICE_FS_TYPE >>> umount02 umount02 -D DEVICE -T DEVICE_FS_TYPE >>> umount03 umount03 -D DEVICE -T DEVICE_FS_TYPE >>> ---- >>> >>> Please review the patch and let me know if any more changes are needed. >>> >>> >>> Signed-off-by: Ramesh YR<[email protected]> >>> --- >>> runltp | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- >>> 1 files changed, 47 insertions(+), 5 deletions(-) >>> >>> diff --git a/runltp b/runltp >>> index 04cc690..d7e3f0d 100755 >>> --- a/runltp >>> +++ b/runltp >>> @@ -681,14 +681,22 @@ main() >>> >>> if [ -n "$DEVICE" ]; then >>> sed -i "s|DEVICE|$DEVICE|" ${TMP}/alltests >>> + RC=$? >>> else >>> - echo "remove test cases which require the block device." >>> - echo "You can specify it with option -b" >>> - sed -i "/DEVICE/d" ${TMP}/alltests >>> + create_block >>> + if [ $? -eq 0 ]; then >>> + sed -i "s|DEVICE|$DEVICE|" ${TMP}/alltests >>> + RC=$? >>> + else >>> + echo -e "no block device was specified on commandline.\n Block >>> device could not be created using loopback device" >>> + echo -e "Tests which require block device are disabled.\n You >>> can specify it with option -b" >>> + sed -i "/DEVICE/d" ${TMP}/alltests >>> + RC=$? >>> + fi >>> fi >>> >>> - if [ $? -ne 0 ]; then >>> - echo "FATAL: error during prcessing alltests file by sed" >>> + if [ $RC -ne 0 ]; then >>> + echo "FATAL: error during processing alltests file by sed" >>> exit 1 >>> fi >>> >>> @@ -971,8 +979,42 @@ main() >>> exit $VALUE >>> } >>> >>> +create_block() >>> +{ >>> + #create a block device with ext4 filesystem. >>> + dd if=/dev/zero of=${TMP}/test.img bs=1kB count=10240&>/dev/null >>> + if [ $? -ne 0 ]; then >>> + echo "Failed to create loopback device image,please check disk >>> space and re-run" >>> + return 1 >>> + else >>> + ##search for an unused loop dev >>> + LOOP_DEV=$(losetup -f) >>> + if [ $? -ne 0 ]; then >>> + echo "no unused loop device is found" >>> + return 1 >>> + else >>> + ##attach the created file to loop dev. >>> + losetup $LOOP_DEV ${TMP}/test.img&>/dev/null >>> + if [ $? -ne 0 ]; then >>> + echo "losetup failed to create block device" >>> + return 1 >>> + else >>> + mkfs.ext4 $LOOP_DEV&>/dev/null >>> + [ $? -ne 0 ]&& (echo "creating a ext4 block device >>> failed"&& return 1) >>> + #set the values in alltests which require block device. >>> + DEVICE=$LOOP_DEV >>> + DEVICE_FS_TYPE="ext4" >>> + return 0 >>> + fi >>> + fi >>> + fi >>> +} >>> + >>> + >>> cleanup() >>> { >>> + [ -e "${TEMP}/test.img" ]&& rm -f ${TEMP}/test.img >>> + [ "$LOOP_DEV" ]&& losetup -d $LOOP_DEV >>> rm -rf ${TMP} >>> } >>> >> > Hi, > > I have corrected few indentation flaws and I think this patch should be fine > to commit. > Please let me know if you are still facing any issues in extracting this > patch for commit. > > > Signed-off-by: Ramesh YR <[email protected]>
Acked-by: Wanlong Gao <[email protected]> Any other objections? Thanks, Wanlong Gao > --- > runltp | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- > 1 files changed, 46 insertions(+), 5 deletions(-) > > diff --git a/runltp b/runltp > index 04cc690..5562b9c 100755 > --- a/runltp > +++ b/runltp > @@ -681,14 +681,22 @@ main() > > if [ -n "$DEVICE" ]; then > sed -i "s|DEVICE|$DEVICE|" ${TMP}/alltests > + RC=$? > else > - echo "remove test cases which require the block device." > - echo "You can specify it with option -b" > - sed -i "/DEVICE/d" ${TMP}/alltests > + create_block > + if [ $? -eq 0 ]; then > + sed -i "s|DEVICE|$DEVICE|" ${TMP}/alltests > + RC=$? > + else > + echo -e "no block device was specified on commandline.\n Block > device could not be created using loopback device" > + echo -e "Tests which require block device are disabled.\n You > can specify it with option -b" > + sed -i "/DEVICE/d" ${TMP}/alltests > + RC=$? > + fi > fi > > - if [ $? -ne 0 ]; then > - echo "FATAL: error during prcessing alltests file by sed" > + if [ $RC -ne 0 ]; then > + echo "FATAL: error during processing alltests file by sed" > exit 1 > fi > > @@ -971,8 +979,41 @@ main() > exit $VALUE > } > > +create_block() > +{ > + #create a block device with ext4 filesystem. > + dd if=/dev/zero of=${TMP}/test.img bs=1kB count=10240 &>/dev/null > + if [ $? -ne 0 ]; then > + echo "Failed to create loopback device image,please check disk space > and re-run" > + return 1 > + else > + ##search for an unused loop dev > + LOOP_DEV=$(losetup -f) > + if [ $? -ne 0 ]; then > + echo "no unused loop device is found" > + return 1 > + else > + ##attach the created file to loop dev. > + losetup $LOOP_DEV ${TMP}/test.img &>/dev/null > + if [ $? -ne 0 ]; then > + echo "losetup failed to create block device" > + return 1 > + else > + mkfs.ext4 $LOOP_DEV &>/dev/null > + [ $? -ne 0 ] && (echo "creating a ext4 block device failed" > && return 1) > + #set the values in alltests which require block device. > + DEVICE=$LOOP_DEV > + DEVICE_FS_TYPE="ext4" > + return 0 > + fi > + fi > + fi > +} > + > cleanup() > { > + [ "$LOOP_DEV" ] && losetup -d $LOOP_DEV > + [ -e "${TEMP}/test.img" ] && rm -f ${TEMP}/test.img > rm -rf ${TMP} > } > ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
