* NEWS: Add a line for 6.5-cvs.
[coreutils.git] / src / du-tests
blob4fffc9f398c08fdcef5322747e965788115cbd4a
1 #!/bin/bash
3 # Copyright (C) 2003, 2006 Free Software Foundation, Inc.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 cat - <<\EOF > /dev/null
20 Invoke e.g., like this
21 VG_PATH_PREFIX=/cu/src/vg: DU1=/cu/src/du DU2=/usr/bin/du ./du-tests
22 Where /cu/src/vg/du is a valgrind wrapper around du,
23 and DU1 refers to the just-built du binary you want to test.
24 EOF
26 test -z "$DU1" && { echo DU1 envvar not set 1>&2; exit 1; }
27 test -z "$DU2" && { echo DU2 envvar not set 1>&2; exit 1; }
29 test -x "$DU1" || { echo $DU1 not executable 1>&2; exit 1; }
30 test -x "$DU2" || { echo $DU2 not executable 1>&2; exit 1; }
32 # Expects $DU1 and $DU2 to be the binaries to compare.
33 d1=$(mktemp -d)
34 cp -a $DU1 $d1/du
35 d2=$(mktemp -d)
36 cp -a $DU2 $d2/du
38 for args in \
39 '-Sa .' \
40 '-Sa ../..' \
41 '-Sa a' \
42 '-Sa /tmp /t' \
43 '-Sa /tmp' \
44 '/tmp /t' \
45 '-a /tmp /t' \
46 '-a a' \
47 '-ca .' \
48 '-ca ..' \
49 '-ca ../..' \
50 '-ca /tmp /t' \
51 '-ca /tmp' \
52 '-ca a' \
53 ; do
54 echo Args: $args ======================
55 diff -u --label=$DU1 --label=$DU2 \
56 <(PATH=$VG_PATH_PREFIX$d1 du $args 2>&1) <(PATH=$d2 du $args 2>&1)
57 done
58 rm -rf $d1 $d2