Reduce size of profile.d-usrblackbox.sh to below 132 bytes.

Add test framework to make sure we don't break bash or sh.
This commit is contained in:
tlimoncelli@stackexchange.com
2014-09-12 16:17:35 +00:00
parent 0a465125cb
commit 8db38905de
2 changed files with 50 additions and 7 deletions

View File

@@ -0,0 +1,44 @@
#!/bin/sh
# Test profile.d-usrblackbox.sh
# Make sure profile.d-usrblackbox.sh works.
# Test variations including /usr/blackbox/bin is not in the path, is
# already there in the front, middle, or end, and tests if the path has :
# in weird places (front, middle, or both).
# To run the test:
# bash tools/profile.d-usrblackbox-test.sh | fgrep --color /usr/blackbox/bin
# sh profile.d-usrblackbox-test.sh | fgrep --color /usr/blackbox/bin
# NOTE: profile.d-usrblackbox.sh is written to be so small that it fits as an "inline" file.
# https://lwn.net/Articles/468678/
# To remove the last newline in the file:
# perl -i -pe 'chomp if eof' profile.d-usrblackbox.sh
for p in \
'/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin' \
'/usr/blackbox/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin' \
'/usr/local/bin:/bin:/usr/blackbox/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin' \
'/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/blackbox/bin' \
'/Apple spaces/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin' \
; do
export PATH="$p"
. tools/profile.d-usrblackbox.sh
echo NEW: "$PATH"
export PATH=":$p"
. tools/profile.d-usrblackbox.sh
echo NEW: "$PATH"
export PATH="$p:"
. tools/profile.d-usrblackbox.sh
echo NEW: "$PATH"
export PATH=":$p:"
. tools/profile.d-usrblackbox.sh
echo NEW: "$PATH"
done

View File

@@ -1,7 +1,6 @@
# Prepend to $PATH.
if type pathmunge > /dev/null 2>&1 ; then
pathmunge /usr/blackbox/bin
elif ! echo $PATH | grep -Eq "(^|:)/usr/blackbox/bin($|:)" ; then
PATH=/usr/blackbox/bin:$PATH
fi
x=/usr/blackbox/bin
if type pathmunge >/dev/null 2>&1;then
pathmunge $x
elif ! grep -sqF :$x:<<<":$PATH:";then
PATH="$x:$PATH"
fi