_notrun "Can't run srcdiff without WORKAREA set"
fi
-if [ ! -f $WORKAREA/cmd/xfstests/tools/srcdiff ]
+if [ ! -f $WORKAREA/xfstests/tools/srcdiff ]
then
_notrun "Can't find srcdiff tool under \"$WORKAREA\""
fi
_notrun "Can't find XFS source under \"$WORKAREA\""
fi
-if [ ! -d $WORKAREA/cmd/xfsprogs/include ]
+if [ ! -d $WORKAREA/xfsprogs/include ]
then
_notrun "Can't find XFS command headers under \"$WORKAREA\""
fi
-cd $WORKAREA/cmd/xfstests
+cd $WORKAREA/xfstests
echo Silence is golden.
perl tools/srcdiff -q >$seq.full
if ! diff $seq.full $seq.good >/dev/null; then
Running tests:
- - cd cmd/xfs/stress
+ - cd xfstests
- ./check 001 002 003 ...
The check script tests the return value of each script, and
- pick/create a user to run auto-qa and check they
can use ptools to check out of the tree
- - add your host to cmd/xfstests/common.config
- - add your host to cmd/xfstests/tools/auto-qa
+ - add your host to xfstests/common.config
+ - add your host to xfstests/tools/auto-qa
check both these files in
- make a directory "$HOME/qa"
- make a workarea "$HOME/qa/linux-xfs" for linux-xfs
(easiest to copy one from elsewhere)
- - cd $HOME/qa ; ln -s linux-xfs/cmd/xfstests/tools/auto-qa .
+ - cd $HOME/qa ; ln -s xfs-cmds/xfstests/tools/auto-qa .
(auto-qa must be a link into it's own source tree
so it can update itself)
- copy an appropriate .config file to
- When run in "cron-init" or "init" states, the script
will p_tupdate itself and restart. If you start
with an empty source tree, you'll need to check
- out the cmd/xfstests/tools/auto-qa script before it'll
+ out the xfstests/tools/auto-qa script before it'll
work (duh).
good luck.
_get_kernel_version()
{
- [ -x "$WORKAREA" ] \
- || _fail "can't access workarea $WORKAREA"
- [ -r "$WORKAREA/linux/Makefile" ] \
- || _fail "can't read makefile $WORKAREA/linux/Makefile"
+ [ -x "$KWORKAREA" ] \
+ || _fail "can't access kernel workarea $KWORKAREA"
+ [ -r "$KWORKAREA/Makefile" ] \
+ || _fail "can't read kernel makefile $KWORKAREA/Makefile"
eval `awk '
BEGIN { FS = "[ \t=]+" }
END {
print "VERSION=" a "." b "." c d " ; SVERSION=" a "." b "." c
}
- ' < $WORKAREA/linux/Makefile`
+ ' < $KWORKAREA/Makefile`
}
# this should be constant
ROOT="$HOME/qa"
HOST=`hostname -s`
if [ ! -z "$CVSROOT" ]; then
- export WORKAREA="$ROOT/linux-2.4-xfs"
+ export WORKAREA="$ROOT/xfs-cmds"
else
- [ -z "$WORKAREA" ] && export WORKAREA="$ROOT/linux-xfs"
+ [ -z "$WORKAREA" ] && export WORKAREA="$ROOT/xfs-cmds"
fi
export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin/ptools:/usr/local/bin"
STATE=$ROOT/qa.state
-QADIR="$WORKAREA/cmd/xfstests"
+QADIR="$WORKAREA/xfstests"
SUDO="su -c"
CONFIG="$ROOT/$HOST.config"
-COMMON_CONFIG="$WORKAREA/cmd/xfstests/common.config"
+COMMON_CONFIG="$WORKAREA/xfstests/common.config"
SH="/bin/sh"
LOG="$ROOT/qa.log"
_update_autoqa_file()
{
SELF="$ROOT/auto-qa"
- SELF_UPDATE="cmd/xfstests/tools/auto-qa"
+ SELF_UPDATE="xfstests/tools/auto-qa"
if [ -z "$CVSROOT" ]; then
cmd="p_tupdate $SELF_UPDATE"
else
{
if [ -z "$CVSROOT" ]; then
_log " *** p_tupdate"
- cd $WORKAREA
- p_tupdate 2>&1 \
+ cd "$1"
+ WORKAREA="$1" p_tupdate 2>&1 \
|| _fail " !!! p_tupdate failed"
_log " *** p_check/p_purge"
- cd $WORKAREA
- p_check -s | p_purge -yiu 2>&1 \
+ cd "$1"
+ WORKAREA="$1" p_check -s | p_purge -yiu 2>&1 \
|| _fail " !!! p_check/p_purge failed"
_log " *** non-trunk files"
- cd $WORKAREA
- p_list -c 2>&1 \
+ cd "$1"
+ WORKAREA="$1" p_list -c 2>&1 \
|| _fail " !!! p_list failed"
else
_log " *** cvs update"
- cd $WORKAREA
+ cd "$1"
cvs -z3 update -d
fi
}
_i386_install()
{
- _sudo cp -f $WORKAREA/linux/arch/i386/boot/bzImage $IMAGE 2>&1 \
+ _sudo cp -f "$KWORKAREA/arch/i386/boot/bzImage" "$IMAGE" 2>&1 \
|| _fail " !!! install kernel failed"
- _sudo cp -f $WORKAREA/linux/System.map $SYSTEMMAP 2>&1 \
+ _sudo cp -f "$KWORKAREA/System.map" "$SYSTEMMAP" 2>&1 \
|| _fail " !!! install kernel failed"
if [ -z "$KMODULES" -o "$KMODULES" = yes ]; then
_sudo make EXTRAVERSION=-$EXTRA modules_install 2>&1 \
}
-_log "*** linux-xfs QA (`date`)"
+_log "*** XFS QA (`date`)"
_get_state
[ "$UID" -eq 0 ] && _fail " !!! QA most be run as a normal user"
[ -d "$ROOT" ] || _fail " !!! QA root \"$ROOT\" not found"
+[ -d "$KWORKAREA" ] || _fail " !!! QA kernel \"$KWORKAREA\" not found"
[ -d "$WORKAREA" ] || _fail " !!! QA workarea \"$WORKAREA\" not found"
[ -r "$CONFIG" ] || _fail " !!! Can't read config file $CONFIG"
. "$COMMON_CONFIG" || _fail " !!! Couldn't source $COMMON_CONFIG"
;;
*update)
- _update_workarea
+ _update_workarea "$KWORKAREA"
+ _update_workarea "$WORKAREA"
new_state="cleantools"
;;
# we need to configure or else we might fail to clean
for pkg in attr acl xfsprogs dmapi xfsdump xfstests
do
- [ -d $WORKAREA/cmd/$pkg ] || continue
- cd $WORKAREA/cmd/$pkg
+ [ -d $WORKAREA/$pkg ] || continue
+ cd $WORKAREA/$pkg
_log " *** clean $pkg tools"
make realclean 2>&1 \
|| _fail " !!! clean $pkg failed"
_log " *** build and install tools"
for pkg in attr acl xfsprogs dmapi xfsdump xfstests
do
- [ -d $WORKAREA/cmd/$pkg ] || continue
- cd $WORKAREA/cmd/$pkg
+ [ -d $WORKAREA/$pkg ] || continue
+ cd $WORKAREA/$pkg
# use e-fence - but this will only take effect on configure
make configure 2>&1 \
;;
*cleankernel)
- _log " *** clean linux"
- cd $WORKAREA/linux
+ _log " *** clean kernel"
+ cd "$KWORKAREA"
make mrproper 2>&1 \
- || _fail " !!! clean linux failed"
+ || _fail " !!! clean kernel failed"
_log " *** install configuration file"
- cp -f $CONFIG $WORKAREA/linux/.config 2>&1 \
+ cp -f $CONFIG "$KWORKAREA/.config" 2>&1 \
|| _fail " !!! failed to install config"
_log " *** remove version file"
# we better start from scratch if this fails
_change_state "cleankernel"
- cd $WORKAREA/linux
+ cd "$KWORKAREA"
# we want to use default options for any new config options.
echo -e "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" | \
make EXTRAVERSION=-$EXTRA oldconfig 2>&1 \
_change_state "clean" ; # we better start from scratch if this fails
- cd $WORKAREA/linux
+ cd "$KWORKAREA"
[ -z "$KTARGET" ] && KTARGET=bzImage
[ -z "$KMODULES" -o "$KMODULES" = yes ] && \
KTARGET="$KTARGET modules"
_sudo rm -rf $MODULES
_log " *** install kernel"
- cd $WORKAREA/linux
+ cd "$KWORKAREA"
case `uname -m`
in
i386|i686) _i386_install ;;
#
# NB: to cross check that srcdiff is finding all the functions in the
# user source file, providing you have "mkproto" installed, you
-# can "cd cmd/xfsprogs/libxfs" and cut&paste this in a bourne shell:
+# can "cd xfsprogs/libxfs" and cut&paste this in a bourne shell:
# $ for file in xfs_*.c; do
# > mkproto -nps < $file | perl -ne '
# > END { print " $count\t- " }
#
die "WORKAREA not set" unless defined $ENV{'WORKAREA'};
+die "KWORKAREA not set" unless defined $ENV{'KWORKAREA'};
chdir $ENV{'WORKAREA'};
+my $kworkarea = $ENV{'KWORKAREA'};
my $xdiff = $ENV{'XDIFF'};
my $quiet=0;
my $usage=0;
sub m4macrodiff {
my ( $package ) = @_;
- foreach (`ls cmd/$package/m4/*.m4`) {
+ foreach (`ls $package/m4/*.m4`) {
my $m4 = `basename $_`;
chomp($m4);
- straightdiff $m4, "cmd/$package/m4", "cmd/xfstests/m4";
+ straightdiff $m4, "$package/m4", "xfstests/m4";
}
}
foreach (@pkglist) {
print "\n=== Checking $_ package ===\n";
m4macrodiff $_;
- straightdiff 'buildrules', "cmd/$first/include", "cmd/$_/include";
- straightdiff 'buildmacros', "cmd/$first/include", "cmd/$_/include";
- straightdiff 'Makefile', "cmd/$first/build", "cmd/$_/build";
- straightdiff 'Makefile', "cmd/$first/build/rpm", "cmd/$_/build/rpm";
- straightdiff 'Makefile', "cmd/$first/build/tar", "cmd/$_/build/tar";
+ straightdiff 'buildrules', "$first/include", "$_/include";
+ straightdiff 'buildmacros', "$first/include", "$_/include";
+ straightdiff 'Makefile', "$first/build", "$_/build";
+ straightdiff 'Makefile', "$first/build/rpm", "$_/build/rpm";
+ straightdiff 'Makefile', "$first/build/tar", "$_/build/tar";
}
print "\n=== Checking headers ===\n";
foreach (@difflist) {
- straightdiff $_, 'cmd/xfsprogs/include', 'linux/fs/xfs';
+ straightdiff $_, 'xfsprogs/include', "$kworkarea/fs/xfs";
}
-straightdiff 'dmapi_kern.h', 'cmd/dmapi/include', 'linux/fs/xfs/dmapi';
-straightdiff 'dmapi.h', 'cmd/dmapi/include', 'linux/fs/xfs/dmapi';
+straightdiff 'dmapi_kern.h', 'dmapi/include', "$kworkarea/fs/xfs/dmapi";
+straightdiff 'dmapi.h', 'dmapi/include', "$kworkarea/fs/xfs/dmapi";
#
# setstate
print "( Total: $count routine$plural checked in $file )\n" unless ($quiet);
}
-# cmd/xfsprogs/{libxfs,libxlog}/* fs/xfs/*
+# xfsprogs/{libxfs,libxlog}/* fs/xfs/*
my @funclist = qw(
xfs_alloc.c xfs_alloc_btree.c xfs_attr_leaf.c
xfs_bmap.c xfs_bmap_btree.c xfs_btree.c xfs_da_btree.c
print "\n=== Checking libxfs code ===\n";
foreach (@funclist) {
- functiondiff $_, 'cmd/xfsprogs/libxfs', 'linux/fs/xfs';
+ functiondiff $_, 'xfsprogs/libxfs', "$kworkarea/fs/xfs";
}
print "\n=== Checking libxlog code ===\n";
-functiondiff 'xfs_log_recover.c', 'cmd/xfsprogs/libxlog', 'linux/fs/xfs';
+functiondiff 'xfs_log_recover.c', 'xfsprogs/libxlog', "$kworkarea/fs/xfs";