exfat: add auto build-test and simple stability test using travis-CI
When backporting mainline exfat patch, there are build issue from low kernel version. This patch add auto build-test for exfat with 4.1 kernel and simple tests. Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
This commit is contained in:
parent
a129bcc645
commit
d7cd524f7f
96
.travis.yml
Normal file
96
.travis.yml
Normal file
@ -0,0 +1,96 @@
|
||||
dist: bionic
|
||||
|
||||
language: c
|
||||
|
||||
notifications:
|
||||
- email: true
|
||||
|
||||
before_script:
|
||||
# Download the kernel
|
||||
- sudo apt-get install libelf-dev wget tar gzip python
|
||||
- wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.1.36.tar.gz
|
||||
- tar xf linux-4.1.36.tar.gz
|
||||
- mv linux-4.1.36 linux-stable
|
||||
- ./.travis_get_mainline_kernel
|
||||
- cp ./.travis_cmd_wrapper.pl ~/travis_cmd_wrapper.pl
|
||||
# Prerequisite for xfstests testing
|
||||
- sudo apt-get install linux-headers-$(uname -r)
|
||||
- sudo apt-get install autoconf libtool pkg-config libnl-3-dev libnl-genl-3-dev
|
||||
- sudo apt-get install xfslibs-dev uuid-dev libtool-bin xfsprogs libgdbm-dev gawk fio attr libattr1-dev libacl1-dev libaio-dev
|
||||
- git clone --branch=exfat-next https://github.com/exfat-utils/exfat-utils
|
||||
- git clone https://github.com/namjaejeon/exfat-testsuites
|
||||
- export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
||||
- export PATH=/usr/local/lib:$PATH
|
||||
- sudo useradd fsgqa
|
||||
- sudo useradd 123456-fsgqa
|
||||
|
||||
script:
|
||||
# Copy ksmbd source to kernel
|
||||
- mv linux-stable ../
|
||||
- mv linux ../
|
||||
- mkdir ../linux-stable/fs/exfat
|
||||
- cp -ar * ../linux-stable/fs/exfat/
|
||||
- cp -ar * ../linux/fs/exfat/
|
||||
|
||||
# Compile with 4.1 kernel
|
||||
- cd ../linux-stable
|
||||
- yes "" | make oldconfig > /dev/null
|
||||
- echo 'obj-$(CONFIG_EXFAT_FS) += exfat/' >> fs/Makefile
|
||||
- echo 'source "fs/exfat/Kconfig"' >> fs/Kconfig
|
||||
- echo 'CONFIG_EXFAT_FS=m' >> .config
|
||||
- echo 'CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"' >> .config
|
||||
- make -j$((`nproc`+1)) fs/exfat/exfat.ko
|
||||
|
||||
# Compile with latest Torvalds' kernel
|
||||
# - cd ../linux
|
||||
# - yes "" | make oldconfig > /dev/null
|
||||
# - echo 'obj-$(CONFIG_EXFAT) += exfat/' >> fs/Makefile
|
||||
# - echo 'source "fs/exfat/Kconfig"' >> fs/Kconfig
|
||||
# - echo 'CONFIG_EXFAT_FS=m' >> .config
|
||||
# - echo 'CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"' >> .config
|
||||
# - make -j$((`nproc`+1)) fs/exfat/exfat.ko
|
||||
|
||||
# Run xfstests testsuite
|
||||
- cd ../linux-exfat-oot
|
||||
- make > /dev/null
|
||||
- sudo make install > /dev/null
|
||||
- sudo modprobe exfat
|
||||
- cd exfat-utils
|
||||
- ./autogen.sh > /dev/null
|
||||
- ./configure > /dev/null
|
||||
- make -j$((`nproc`+1)) > /dev/null
|
||||
- sudo make install > /dev/null
|
||||
- sudo mkdir -p /mnt/scratch
|
||||
- sudo mkdir -p /mnt/test
|
||||
- sudo mkdir -p /mnt/full_test
|
||||
# create file/director test
|
||||
- truncate -s 10G full_test.img
|
||||
- sudo losetup /dev/loop22 full_test.img
|
||||
- sudo mkfs.exfat /dev/loop22
|
||||
- sudo mount -t exfat /dev/loop22 /mnt/full_test/
|
||||
- cd /mnt/full_test/
|
||||
- i=1;while [ $i -le 10000 ];do sudo touch file$i;if [ $? != 0 ]; then exit 1; fi; i=$(($i + 1));done
|
||||
- sync
|
||||
- sudo fsck.exfat /dev/loop22
|
||||
- sudo rm -rf *
|
||||
- i=1;while [ $i -le 10000 ];do sudo mkdir file$i;if [ $? != 0 ]; then exit 1; fi; i=$(($i + 1));done
|
||||
- sync
|
||||
- sudo rm -rf *
|
||||
- sudo fsck.exfat /dev/loop22
|
||||
- cd -
|
||||
- sudo umount /mnt/full_test/
|
||||
- sudo fsck.exfat /dev/loop22
|
||||
# run xfstests test
|
||||
- truncate -s 100G test.img
|
||||
- truncate -s 100G scratch.img
|
||||
- sudo losetup /dev/loop20 test.img
|
||||
- sudo losetup /dev/loop21 scratch.img
|
||||
- sudo mkfs.exfat /dev/loop20
|
||||
- sudo mkfs.exfat /dev/loop21
|
||||
- cd ..
|
||||
- cd exfat-testsuites/
|
||||
- tar xzvf xfstests-exfat.tgz > /dev/null
|
||||
- cd xfstests-exfat
|
||||
- make -j$((`nproc`+1)) > /dev/null
|
||||
- sudo ./check generic/001
|
||||
- sudo ./check generic/006
|
Loading…
Reference in New Issue
Block a user