mirror of
https://github.com/trapd00r/LS_COLORS.git
synced 2024-12-22 13:52:12 +01:00
initial commit to build a test suite
This commit is contained in:
parent
bf7ee7e399
commit
6277ce8223
1 changed files with 117 additions and 0 deletions
117
buildsuite
Executable file
117
buildsuite
Executable file
|
@ -0,0 +1,117 @@
|
|||
#!/usr/bin/env bash
|
||||
# GNU bash, version 4.3.18(1)-release (x86_64-unknown-linux-gnu)
|
||||
#
|
||||
# © Copyright 2014 Ryan Delaney.
|
||||
# This program 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.
|
||||
#
|
||||
# This program 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.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# Functions {{{1
|
||||
verbose() {
|
||||
if [[ "$verbose" = "1" ]]; then
|
||||
echo "$1" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
error() {
|
||||
echo "$1" >&2
|
||||
}
|
||||
# }}}
|
||||
# Usage {{{1
|
||||
#
|
||||
usage() {
|
||||
cat <<EOD
|
||||
buildtest
|
||||
Web site: http://github.com/trapd00r/LS_COLORS
|
||||
© Copyright 2014 Ryan Delaney.
|
||||
|
||||
buildtest builds a test suite for LS_COLORS
|
||||
|
||||
Usage: buildtest [OPTION]
|
||||
|
||||
Options
|
||||
-?, --help print this help and exit
|
||||
-v, --verbose increase verbosity
|
||||
EOD
|
||||
exit 1
|
||||
}
|
||||
# }}}
|
||||
# Parameters {{{1
|
||||
#
|
||||
while :
|
||||
do
|
||||
case $1 in
|
||||
--help | -\?)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-v | --verbose)
|
||||
# Each instance of -v adds 1 to verbosity
|
||||
local verbose=$((verbose+1))
|
||||
shift
|
||||
;;
|
||||
--) # End of all options
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*)
|
||||
echo "FATAL: Unknown option : $1" >&2
|
||||
exit 1
|
||||
shift
|
||||
;;
|
||||
*) # no more options. Stop while loop
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# }}}
|
||||
# Dependencies {{{
|
||||
if ! type sed &> /dev/null; then echo "ERROR: Missing dependency: sed" 1>&2; exit 1; fi
|
||||
# }}}
|
||||
|
||||
if [[ ! -d "./test" ]]; then mkdir test || exit 1; fi
|
||||
cd test || exit 1
|
||||
|
||||
# File
|
||||
touch FILE
|
||||
|
||||
# Executable file
|
||||
touch EXECUTABLE
|
||||
chmod +x EXECUTABLE
|
||||
|
||||
# Directory
|
||||
mkdir DIRECTORY
|
||||
|
||||
# Symlink
|
||||
ln -s FILE SYMLINK
|
||||
|
||||
# Hardlink
|
||||
touch HARDLINK1
|
||||
ln HARDLINK1 HARDLINK2
|
||||
|
||||
# Create a link to nowhere
|
||||
touch nothing
|
||||
ln -s nothing ORPHAN
|
||||
rm nothing
|
||||
|
||||
# World-writable
|
||||
touch WORLDWRITEABLE
|
||||
chmod 0777 WORLDWRITEABLE
|
||||
|
||||
# Supported extensions
|
||||
while read line; do
|
||||
:
|
||||
# echo "$line"
|
||||
done < <(sed -e '/^[ ]+#/d' ../LS_COLORS)
|
||||
|
||||
# vim: ft=sh foldmethod=marker:
|
Loading…
Reference in a new issue