Home | History | Annotate | Line # | Download | only in tests
      1  1.1  christos #!/bin/sh
      2  1.1  christos #
      3  1.1  christos # Simple script to make a "shadow" test directory, using symbolic links.
      4  1.1  christos # Typically you'd put the shadow in /tmp or another local disk
      5  1.1  christos #
      6  1.1  christos # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
      7  1.1  christos # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
      8  1.1  christos # This file is part of GNU Make.
      9  1.1  christos #
     10  1.1  christos # GNU Make is free software; you can redistribute it and/or modify it under the
     11  1.1  christos # terms of the GNU General Public License as published by the Free Software
     12  1.1  christos # Foundation; either version 2, or (at your option) any later version.
     13  1.1  christos #
     14  1.1  christos # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
     15  1.1  christos # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
     16  1.1  christos # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
     17  1.1  christos #
     18  1.1  christos # You should have received a copy of the GNU General Public License along with
     19  1.1  christos # GNU Make; see the file COPYING.  If not, write to the Free Software
     20  1.1  christos # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
     21  1.1  christos 
     22  1.1  christos case "$1" in
     23  1.1  christos   "") echo 'Usage: mkshadow <destdir>'; exit 1 ;;
     24  1.1  christos esac
     25  1.1  christos 
     26  1.1  christos dest="$1"
     27  1.1  christos 
     28  1.1  christos if [ ! -d "$dest" ]; then
     29  1.1  christos   echo "Destination directory \`$dest' must exist!"
     30  1.1  christos   exit 1
     31  1.1  christos fi
     32  1.1  christos 
     33  1.1  christos if [ ! -f run_make_tests ]; then
     34  1.1  christos   echo "The current directory doesn't appear to contain the test suite!"
     35  1.1  christos   exit 1
     36  1.1  christos fi
     37  1.1  christos 
     38  1.1  christos suite=`pwd | sed 's%^/tmp_mnt%%'`
     39  1.1  christos name=`basename "$suite"`
     40  1.1  christos 
     41  1.1  christos files=`echo *`
     42  1.1  christos 
     43  1.1  christos set -e
     44  1.1  christos 
     45  1.1  christos mkdir "$dest/$name"
     46  1.1  christos cd "$dest/$name"
     47  1.1  christos 
     48  1.1  christos ln -s "$suite" .testdir
     49  1.1  christos 
     50  1.1  christos for f in $files; do
     51  1.1  christos   ln -s .testdir/$f .
     52  1.1  christos done
     53  1.1  christos 
     54  1.1  christos rm -rf work
     55  1.1  christos 
     56  1.1  christos echo "Shadow test suite created in \`$dest/$name'."
     57  1.1  christos exit 0
     58