Here treat every feature as a signle test program.

Makefile: add configure for ffsb

runtest/fs_ext4: 5 new features test currently enabled

run_ext4_test.sh: According to the input parameter to decide which
feature test to be called.

Signed-off-by: Xiaoguang Wang <[email protected]>
---
 runtest/fs_ext4                                    |   6 +-
 testcases/kernel/fs/Makefile                       |   2 +-
 testcases/kernel/fs/ext4-new-features/Makefile     |   1 +
 .../kernel/fs/ext4-new-features/run_ext4_test.sh   | 115 ++++++---------------
 4 files changed, 37 insertions(+), 87 deletions(-)

diff --git a/runtest/fs_ext4 b/runtest/fs_ext4
index c65ebab..84b6486 100644
--- a/runtest/fs_ext4
+++ b/runtest/fs_ext4
@@ -1 +1,5 @@
-ext4_new_feature_test  run_ext4_test.sh
+ext4-inode-version     run_ext4_test.sh ext4_inode_version_test
+ext4-nsec-timestamps   run_ext4_test.sh ext4_nsec_timestamps_test
+ext4-persist-prealloc  run_ext4_test.sh ext4_persist_prealloc_test
+ext4-subdir-limit      run_ext4_test.sh ext4_subdir_limit_test
+ext4-uninit-groups     run_ext4_test.sh ext4_uninit_groups_test
diff --git a/testcases/kernel/fs/Makefile b/testcases/kernel/fs/Makefile
index afad6f9..81310f5 100644
--- a/testcases/kernel/fs/Makefile
+++ b/testcases/kernel/fs/Makefile
@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/env_pre.mk
 # XXX (garrcoop): Need to add autoconf checks for JFS.
 # ext4-new-features: This test need to be configured be user.
 # Please read $LTPROOT/README to see the detail information
-FILTER_OUT_DIRS                := dmapi ext4-new-features
+FILTER_OUT_DIRS                := dmapi
 
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
diff --git a/testcases/kernel/fs/ext4-new-features/Makefile 
b/testcases/kernel/fs/ext4-new-features/Makefile
index 208b8a6..1ad1c3c 100644
--- a/testcases/kernel/fs/ext4-new-features/Makefile
+++ b/testcases/kernel/fs/ext4-new-features/Makefile
@@ -32,6 +32,7 @@ FILTER_OUT_DIRS               := $(FFSBDIR)
 FFSB                   := $(FFSBDIR)/ffsb
 
 $(FFSB): $(FFSBDIR)
+       cd $^; ./configure
        $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
        cp $(FFSBDIR)/ffsb ffsb
 
diff --git a/testcases/kernel/fs/ext4-new-features/run_ext4_test.sh 
b/testcases/kernel/fs/ext4-new-features/run_ext4_test.sh
index bfbd844..4ede8f7 100755
--- a/testcases/kernel/fs/ext4-new-features/run_ext4_test.sh
+++ b/testcases/kernel/fs/ext4-new-features/run_ext4_test.sh
@@ -38,11 +38,15 @@
 
################################################################################
 
 source ext4_funcs.sh;
+test_features=$1
 
 export TCID="ext4_new_feature"
 export TST_TOTAL=1
 export TST_COUNT=1
 
+script_name="$test_features"".sh"
+BLOCK_COUNT=3072
+
 tst_kvercmp 2 6 31
 if [ $? -eq 0 ]; then
        tst_brkm TCONF ignored "kernel is below 2.6.31"
@@ -71,6 +75,22 @@ if [ ! -f "ext4-test-config" ]; then
        exit 0
 fi
 
+# create an ext4 partition
+dd if=/dev/zero of=fs_ext4_new_features_$$.img bs=1M count=$BLOCK_COUNT
+
+if [ $? -ne 0 ];then
+       tst_brkm TCONF ignored "failed to create an ext4 image file"
+       exit 0
+fi
+
+EXT4_DEV=$(losetup --show -f fs_ext4_new_features_$$.img)
+if [ $? -ne 0 ];then
+       tst_brkm TCONF ignored "set loop device failed"
+       exit 0
+fi
+
+echo "EXT4_DEV=$EXT4_DEV" > ./ext4-test-config
+
 cd $LTPROOT/testcases/bin/
 
 RET=0
@@ -79,101 +99,26 @@ echo "EXT4 NEW FEATURE TESTING";
 echo "TEST STARTED: Please avoid using system while this test executes";
 
 echo " "
-echo "Ext4 block allocation test"
-if [ -f "ext4-alloc-test.sh" ]; then
-       ./ext4-alloc-test.sh ./ext4-test-config
+echo "$test_features"
+if [ -f "$script_name" ]; then
+       ./$script_name ./ext4-test-config
        if [ $? -ne 0 ]; then
                RET=1
        fi
 else
-       echo "Shell file is not installed..Please check Makefile..."
+       echo "$script_name is not installed..Please check Makefile..."
        RET=1
 fi
 
-echo " "
-echo "Ext4 journal checksum test"
-if [ -f "ext4_journal_checksum.sh" ]; then
-       ./ext4_journal_checksum.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
-fi
 
-echo " "
-echo "Ext4 subdir limit test"
-if [ -f "ext4_subdir_limit_test.sh" ]; then
-       ./ext4_subdir_limit_test.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
-fi
-
-echo " "
-echo "Ext4 nanosecond timestamp test"
-if [ -f "ext4_nsec_timestamps_test.sh" ]; then
-       ./ext4_nsec_timestamps_test.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
-fi
 
-echo " "
-echo "Ext4 persist prealloc test"
-if [ -f "ext4_persist_prealloc_test.sh" ]; then
-       ./ext4_persist_prealloc_test.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
-fi
-
-echo " "
-echo "Ext4 inode version test"
-if [ -f "ext4_inode_version_test.sh" ]; then
-       ./ext4_inode_version_test.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
-fi
-
-echo " "
-echo "Ext4 uninit groups test"
-if [ -f "ext4_uninit_groups_test.sh" ]; then
-       ./ext4_uninit_groups_test.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
+# cleanup
+losetup -d $EXT4_DEV
+if [ $? -ne 0 ];then
+       tst_brkm TCONF ignored "failed to delete loop: $EXT4_DEV"
+       exit 0
 fi
 
-echo " "
-echo "Ext4 online defrag test"
-echo "The output of defrag program is in the file"\
-       "LTPROOT/output/ext4_online_defrag.txt"
-if [ -f "ext4_online_defrag_test.sh" ]; then
-       ./ext4_online_defrag_test.sh ./ext4-test-config
-       if [ $? -ne 0 ]; then
-               RET=1
-       fi
-else
-       echo "Shell file is not installed..Please check Makefile..."
-       RET=1
-fi
+rm -f fs_ext4_new_features_$$.img
 
 exit $RET
-- 
1.8.2.1


------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to