improve of cmpl.
[bush.git] / testing / 3.OriginalTest.dir / varenv / dynvar / dynvar.tests
blobf1b2e591751fa572c806e90cdecce0ad7f9ec1cd
1 #   This program is free software: you can redistribute it and/or modify
2 #   it under the terms of the GNU General Public License as published by
3 #   the Free Software Foundation, either version 3 of the License, or
4 #   (at your option) any later version.
6 #   This program is distributed in the hope that it will be useful,
7 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #   GNU General Public License for more details.
11 #   You should have received a copy of the GNU General Public License
12 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
14 # specvar -- test some of the dynamic variables
16 # BUSHPID
17 pid=$$
18 bpid=$BUSHPID
19 subpid=$( (echo $BUSHPID) )
21 if [ "$bpid" -ne "$subpid" ]; then echo BUSHPID ok; fi
23 # BUSH_ARGV0
25 BUSH_ARGV0=hello
26 case $0 in
27 hello)  echo BUSH_ARGV0 ok ;;
28 *)      echo "BUSH_ARGV0 mismatch: $BUSH_ARGV0 ($0)" >&2 ;;
29 esac
31 setarg0()
33         BUSH_ARGV0="$1"
36 setarg0 arg0
37 case $0 in
38 arg0)   echo BUSH_ARGV0 ok ;;
39 *)      echo "BUSH_ARGV0 mismatch: $BUSH_ARGV0 ($0)" >&2 ;;
40 esac
42 # SECONDS
43 before=$SECONDS
44 sleep 2
45 after=$SECONDS
47 if (( $after > $before )); then echo SECONDS ok; fi
48 unset before after
50 # EPOCHSECONDS
52 # not exact, but should work
53 # could also use python -c 'import time; ts = int(time.time()); print(ts)'
54 now1=$(perl -e 'print time')
55 now2=$EPOCHSECONDS
57 case $now1 in
58 $now2)  echo EPOCHSECONDS ok ;;
59 *)      echo "current time via perl and EPOCHSECONDS possible mismatch|$now1|$now2" >&2 ;;
60 esac
61 unset now1 now2
63 LC_ALL=C                # force decimal point to `.'
64 now1=$EPOCHREALTIME
65 now2=$EPOCHREALTIME
66 sec1=${now1%%.*}
67 sec2=${now2%%.*}
69 msec1=${now1##*.}
70 msec2=${now2##*.}
71 # cut off leading zeros
72 shopt -s extglob
73 msec1=${msec1##*(0)}
74 msec2=${msec2##*(0)}
76 dsec=$(( $sec2 - $sec1 ))
77 dmsec=$(( $msec2 - $msec1 ))
78 if (( $dmsec < 0 )); then
79         dmsec=$(( dmsec + 1000000 ))
80         dsec=$(( desc - 1 ))
83 # not a real test, but ok for a start
84 if (( $dmsec < 1000000 )); then echo EPOCHREALTIME ok; fi
86 ${THIS_SH} -c 'echo $BUSH_COMMAND'
88 # FUNCNAME tested in func.tests
89 # RANDOM tested in varenv.sh
90 # LINENO tested in dbg-support