mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
exfat: add travis-CI build and test support
Signed-off-by: Namjae Jeon <linkinjeon@gmail.com>
This commit is contained in:
parent
9273f3d387
commit
92d4cd0cde
3 changed files with 179 additions and 0 deletions
77
.travis.yml
Normal file
77
.travis.yml
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
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
|
||||
- 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/
|
||||
- mkdir ../linux/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
|
||||
- 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
|
||||
- make -j$((`nproc`+1)) fs/exfat/exfat.ko
|
||||
|
||||
# Run xfstests testsuite
|
||||
- cd ../exfat
|
||||
- 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
|
||||
- cd ..
|
||||
- sudo mkdir -p /mnt/scratch
|
||||
- sudo mkdir -p /mnt/test
|
||||
- dd if=/dev/zero bs=1024 count=1024000 of=test.img
|
||||
- dd if=/dev/zero bs=1024 count=1024000 of=scratch.img
|
||||
- mkfs.exfat test.img
|
||||
- mkfs.exfat scratch.img
|
||||
- cd exfat-testsuites/
|
||||
- tar xzvf xfstests-exfat.tgz > /dev/null
|
||||
- cd xfstests-exfat
|
||||
- ./configure > /dev/null
|
||||
- make -j$((`nproc`+1)) > /dev/null
|
||||
- sudo ./check generic/001
|
||||
- sudo ./check generic/002
|
||||
- sudo ./check generic/005
|
||||
- sudo ./check generic/006
|
||||
- sudo ./check generic/007
|
||||
65
.travis_cmd_wrapper.pl
Executable file
65
.travis_cmd_wrapper.pl
Executable file
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
# Copyright (C) 2019 Samsung Electronics Co., Ltd.
|
||||
#
|
||||
|
||||
use strict;
|
||||
|
||||
sub tweak_sysctl()
|
||||
{
|
||||
`sudo sysctl kernel.hardlockup_panic=0`;
|
||||
`sudo sysctl kernel.hung_task_panic=0`;
|
||||
`sudo sysctl kernel.panic=128`;
|
||||
`sudo sysctl kernel.panic_on_io_nmi=0`;
|
||||
`sudo sysctl kernel.panic_on_oops=0`;
|
||||
`sudo sysctl kernel.panic_on_rcu_stall=0`;
|
||||
`sudo sysctl kernel.panic_on_unrecovered_nmi=0`;
|
||||
`sudo sysctl kernel.panic_on_warn=0`;
|
||||
`sudo sysctl kernel.softlockup_panic=0`;
|
||||
`sudo sysctl kernel.unknown_nmi_panic=0`;
|
||||
}
|
||||
|
||||
sub execute($$)
|
||||
{
|
||||
my $cmd = shift;
|
||||
my $timeout = shift;
|
||||
my $output = "Timeout";
|
||||
my $status = 1;
|
||||
|
||||
$timeout = 8 * 60 if (!defined $timeout);
|
||||
|
||||
tweak_sysctl();
|
||||
|
||||
eval {
|
||||
local $SIG{ALRM} = sub {
|
||||
print "TIMEOUT:\n";
|
||||
system("top -n 1"), print "top\n";
|
||||
system("free"), print "free\n";
|
||||
system("dmesg"), print "dmesg\n";
|
||||
die "Timeout\n";
|
||||
};
|
||||
|
||||
print "Executing $cmd with timeout $timeout\n";
|
||||
|
||||
alarm $timeout;
|
||||
$output = `$cmd`;
|
||||
$status = $?;
|
||||
alarm 0;
|
||||
print $output."\n";
|
||||
print "Finished: status $status\n";
|
||||
};
|
||||
|
||||
if ($@) {
|
||||
die unless $@ eq "Timeout\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (! defined $ARGV[0]) {
|
||||
print "Usage:\n\t./.travis_cmd_wrapper.pl command [timeout seconds]\n";
|
||||
exit 1;
|
||||
}
|
||||
|
||||
execute($ARGV[0], $ARGV[1]);
|
||||
37
.travis_get_mainline_kernel
Executable file
37
.travis_get_mainline_kernel
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
|
||||
#
|
||||
# A simple script we are using to get the latest mainline kernel
|
||||
# tar ball
|
||||
#
|
||||
|
||||
wget https://www.kernel.org/releases.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not download kernel.org/releases.json"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VER=$(cat releases.json | python2.7 -c "import sys, json; print json.load(sys.stdin)['latest_stable']['version']")
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not parse release.json"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "z$VER" = "z" ]; then
|
||||
echo "Could not determine latest release version"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$VER".tar.gz
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not download $VER kernel version"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar xf linux-"$VER".tar.gz
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Could not untar kernel tar ball"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mv linux-"$VER" linux
|
||||
Loading…
Reference in a new issue