1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/usr/bin/env sh
-
- usage() {
- echo usage: $0 path/to/sonar-scanner
- exit 1
- }
-
- test -f "$1" && test -x "$1" || usage
-
- scanner=$1
-
- if type mktemp &>/dev/null; then
- tempdir=`mktemp -d`
- tempdir=`cd "$tempdir"; pwd -P`
- else
- tempdir=/tmp/"`basename "$0"`-$$"
- mkdir -p "$tempdir"
- fi
-
- cleanup() {
- rm -fr "$tempdir"
- }
-
- trap 'cleanup; exit 1' 1 2 3 15
- trap 'cleanup; exit 0' 0
-
- abspath() {
- (cd "`dirname "$1"`"; echo $PWD/"`basename "$1"`")
- }
-
- verify() {
- printf '%s -> ' "$1"
- shift
- "$@" &>/dev/null && echo ok || echo failed
- }
-
- relpath_to_root() {
- (
- cd "$1"
- relpath=.
- while test "$PWD" != /; do
- cd ..
- relpath=$relpath/..
- done
- echo $relpath
- )
- }
-
- ln -s "`abspath "$scanner"`" "$tempdir"/scanner
- verify 'launch from abs symlink to abs path' "$tempdir"/scanner -h
-
- ln -s "`relpath_to_root "$tempdir"``abspath "$scanner"`" "$tempdir"/scanner-rel
- verify 'symlink to rel path is valid' test -e "$tempdir"/scanner-rel
- verify 'launch from abs symlink to rel path' "$tempdir"/scanner-rel -h
-
- mkdir "$tempdir/x"
- ln -s ../scanner "$tempdir"/x/scanner
- verify 'symlink to rel symlink is valid' test -f "$tempdir"/x/scanner
- verify 'launch from abs symlink that is rel symlink to abs path' "$tempdir"/x/scanner -h
|