btrfs-progs: Add make testsuite command for export tests

Export the testsuite files to a separate tar.  Since fsck tests depend
on btrfs-corrupt-block, and misc tests depends on both
btrfs-corrupt-block and fssum, so set it as prerequisites for package
commad.

Because, althougth fssum can be generated by source that are all in
tests directory, and has no rely on the btrfs's structure.  But
btrfs-corrupt-block deeply relys on btrfs's structure.  For consistency,
at the present stage, generete the two when create test tar.

Signed-off-by: Gu Jinxiang <gujx@cn.fujitsu.com>
[ applied without changes, the generated tarball will be different from
  the one after the follow up commits ]
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Gu Jinxiang 2018-02-08 14:34:18 +08:00 committed by David Sterba
parent d5238ad711
commit eb2fe7d1c4
4 changed files with 64 additions and 0 deletions

1
.gitignore vendored
View File

@ -43,6 +43,7 @@ libbtrfs.so.0.1
library-test library-test
library-test-static library-test-static
/fssum /fssum
testsuites-id
/tests/*-tests-results.txt /tests/*-tests-results.txt
/tests/test-console.txt /tests/test-console.txt

View File

@ -331,6 +331,10 @@ test-inst: all
test: test-fsck test-mkfs test-convert test-misc test-fuzz test-cli test: test-fsck test-mkfs test-convert test-misc test-fuzz test-cli
testsuite: btrfs-corrupt-block fssum
@echo "Export tests as a package"
$(Q)bash tests/export-tests.sh
# #
# NOTE: For static compiles, you need to have all the required libs # NOTE: For static compiles, you need to have all the required libs
# static equivalent available # static equivalent available

37
tests/export-tests.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
# export the testsuite files to a separate tar
TESTSUITES_LIST_FILE=$PWD/testsuites-list
if ! [ -f $TESTSUITES_LIST_FILE ];then
echo "testsuites list file is not exsit."
exit 1
fi
TESTSUITES_LIST=$(cat $TESTSUITES_LIST_FILE)
if [ -z "$TESTSUITES_LIST" ]; then
echo "no file be list in testsuites-list"
exit 1
fi
DEST="btrfs-progs-tests.tar.gz"
if [ -f $DEST ];then
echo "remove exsit package: " $DEST
rm $DEST
fi
TEST_ID=$PWD/testsuites-id
if [ -f $TEST_ID ];then
rm $TEST_ID
fi
VERSION=`./version.sh`
TIMESTAMP=`date -u "+%Y-%m-%d %T %Z"`
echo "git version: " $VERSION > $TEST_ID
echo "this tar is created in: " $TIMESTAMP >> $TEST_ID
echo "begin create tar: " $DEST
tar --exclude-vcs-ignores -zScf $DEST -C ../ $TESTSUITES_LIST
if [ $? -eq 0 ]; then
echo "create tar successfully."
fi
rm $TEST_ID

22
testsuites-list Normal file
View File

@ -0,0 +1,22 @@
btrfs-progs/testsuites-id
btrfs-progs/fssum
btrfs-progs/btrfs-corrupt-block
btrfs-progs/Documentation/
btrfs-progs/tests/cli-tests
btrfs-progs/tests/cli-tests.sh
btrfs-progs/tests/common
btrfs-progs/tests/common.convert
btrfs-progs/tests/common.local
btrfs-progs/tests/convert-tests
btrfs-progs/tests/convert-tests.sh
btrfs-progs/tests/fsck-tests
btrfs-progs/tests/fsck-tests.sh
btrfs-progs/tests/fuzz-tests/
btrfs-progs/tests/fuzz-tests.sh
btrfs-progs/tests/misc-tests/
btrfs-progs/tests/misc-tests.sh
btrfs-progs/tests/mkfs-tests/
btrfs-progs/tests/mkfs-tests.sh
btrfs-progs/tests/README.md
btrfs-progs/tests/scan-results.sh
btrfs-progs/tests/test-console.sh