mirror of
https://github.com/mirror/make.git
synced 2024-12-26 04:40:16 +08:00
58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Simple script to make a "shadow" test directory, using symbolic links.
|
|
# Typically you'd put the shadow in /tmp or another local disk
|
|
#
|
|
# Copyright (C) 1992-2024 Free Software Foundation, Inc.
|
|
# This file is part of GNU Make.
|
|
#
|
|
# GNU Make is free software; you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 3 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
# details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along with
|
|
# this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
case "$1" in
|
|
"") echo 'Usage: mkshadow <destdir>'; exit 1 ;;
|
|
esac
|
|
|
|
dest="$1"
|
|
|
|
if [ ! -d "$dest" ]; then
|
|
echo "Destination directory '$dest' must exist!"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f run_make_tests ]; then
|
|
echo "The current directory doesn't appear to contain the test suite!"
|
|
exit 1
|
|
fi
|
|
|
|
suite=`pwd | sed 's%^/tmp_mnt%%'`
|
|
name=`basename "$suite"`
|
|
|
|
files=`echo *`
|
|
|
|
set -e
|
|
|
|
mkdir "$dest/$name"
|
|
cd "$dest/$name"
|
|
|
|
ln -s "$suite" .testdir
|
|
|
|
for f in $files; do
|
|
ln -s .testdir/$f .
|
|
done
|
|
|
|
rm -rf work
|
|
|
|
echo "Shadow test suite created in '$dest/$name'."
|
|
exit 0
|