Skip to content

Instantly share code, notes, and snippets.

@stevekuznetsov
Created January 14, 2016 22:04
Show Gist options
  • Save stevekuznetsov/6fb8f273c147c1fb120a to your computer and use it in GitHub Desktop.
Save stevekuznetsov/6fb8f273c147c1fb120a to your computer and use it in GitHub Desktop.
trap test log - DEBUG removed
$ hack/test/trap
++ dirname hack/test/trap
+ OS_ROOT=hack/test/../..
+ source hack/test/../../hack/cmd_util.sh
++ source hack/test/../../hack/text.sh
++ source hack/test/../../hack/util.sh
+++ source hack/test/../../hack/lib/util/trap.sh
++++ os::util::trap::internal::init
++++ declare -A REGISTERED_TRAPS_TO_SIGNALS
++++ export REGISTERED_TRAPS_TO_SIGNALS
++++ declare -A SIGNALS_TO_REGISTERED_TRAPS
++++ export SIGNALS_TO_REGISTERED_TRAPS
++++ os::trap::internal::register_traps
+++++ os::trap::internal::list_all_possible_signals
+++++ local signals
+++++ signals=($(kill -l | grep -Po "(?<=[0-9]\) )[^\t ]+"))
++++++ kill -l
++++++ grep -Po '(?<=[0-9]\) )[^\t ]+'
+++++ signals+=("EXIT" "RETURN" "ERR")
+++++ echo SIGHUP SIGINT SIGQUIT SIGILL SIGTRAP SIGABRT SIGBUS SIGFPE SIGKILL SIGUSR1 SIGSEGV SIGUSR2 SIGPIPE SIGALRM SIGTERM SIGSTKFLT SIGCHLD SIGCONT SIGSTOP SIGTSTP SIGTTIN SIGTTOU SIGURG SIGXCPU SIGXFSZ SIGVTALRM SIGPROF SIGWINCH SIGIO SIGPWR SIGSYS SIGRTMIN SIGRTMIN+1 SIGRTMIN+2 SIGRTMIN+3 SIGRTMIN+4 SIGRTMIN+5 SIGRTMIN+6 SIGRTMIN+7 SIGRTMIN+8 SIGRTMIN+9 SIGRTMIN+10 SIGRTMIN+11 SIGRTMIN+12 SIGRTMIN+13 SIGRTMIN+14 SIGRTMIN+15 SIGRTMAX-14 SIGRTMAX-13 SIGRTMAX-12 SIGRTMAX-11 SIGRTMAX-10 SIGRTMAX-9 SIGRTMAX-8 SIGRTMAX-7 SIGRTMAX-6 SIGRTMAX-5 SIGRTMAX-4 SIGRTMAX-3 SIGRTMAX-2 SIGRTMAX-1 SIGRTMAX EXIT RETURN ERR
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGHUP' SIGHUP
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGINT' SIGINT
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGQUIT' SIGQUIT
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGILL' SIGILL
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGTRAP' SIGTRAP
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGABRT' SIGABRT
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGBUS' SIGBUS
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGFPE' SIGFPE
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGKILL' SIGKILL
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGUSR1' SIGUSR1
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGSEGV' SIGSEGV
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGUSR2' SIGUSR2
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGPIPE' SIGPIPE
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGALRM' SIGALRM
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGTERM' SIGTERM
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGSTKFLT' SIGSTKFLT
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGCHLD' SIGCHLD
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGCONT' SIGCONT
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGSTOP' SIGSTOP
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGTSTP' SIGTSTP
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGTTIN' SIGTTIN
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGTTOU' SIGTTOU
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGURG' SIGURG
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGXCPU' SIGXCPU
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGXFSZ' SIGXFSZ
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGVTALRM' SIGVTALRM
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGPROF' SIGPROF
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGWINCH' SIGWINCH
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGIO' SIGIO
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGPWR' SIGPWR
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGSYS' SIGSYS
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN' SIGRTMIN
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+1' SIGRTMIN+1
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+2' SIGRTMIN+2
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+3' SIGRTMIN+3
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+4' SIGRTMIN+4
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+5' SIGRTMIN+5
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+6' SIGRTMIN+6
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+7' SIGRTMIN+7
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+8' SIGRTMIN+8
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+9' SIGRTMIN+9
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+10' SIGRTMIN+10
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+11' SIGRTMIN+11
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+12' SIGRTMIN+12
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+13' SIGRTMIN+13
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+14' SIGRTMIN+14
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMIN+15' SIGRTMIN+15
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-14' SIGRTMAX-14
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-13' SIGRTMAX-13
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-12' SIGRTMAX-12
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-11' SIGRTMAX-11
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-10' SIGRTMAX-10
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-9' SIGRTMAX-9
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-8' SIGRTMAX-8
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-7' SIGRTMAX-7
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-6' SIGRTMAX-6
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-5' SIGRTMAX-5
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-4' SIGRTMAX-4
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-3' SIGRTMAX-3
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-2' SIGRTMAX-2
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX-1' SIGRTMAX-1
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal SIGRTMAX' SIGRTMAX
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal EXIT' EXIT
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal RETURN' RETURN
++++ for signal in '$( os::trap::internal::list_all_possible_signals )'
++++ trap 'os::trap::internal::iterate_over_traps_for_signal ERR' ERR
+++++ os::trap::internal::iterate_over_traps_for_signal RETURN
+++++ local script_return_code=0
+++++ local signal=RETURN
+++++ local registered_traps
+++++ registered_traps=(${SIGNALS_TO_REGISTERED_TRAPS["${signal}"]-})
+++++ set +o errexit
+++++ set -o errexit
+++++ os::trap::internal::iterate_over_traps_for_signal RETURN
+++++ local script_return_code=0
+++++ local signal=RETURN
+++++ local registered_traps
+++++ registered_traps=(${SIGNALS_TO_REGISTERED_TRAPS["${signal}"]-})
+++++ set +o errexit
+++++ set -o errexit
++++ os::trap::internal::iterate_over_traps_for_signal RETURN
++++ local script_return_code=0
++++ local signal=RETURN
++++ local registered_traps
++++ registered_traps=(${SIGNALS_TO_REGISTERED_TRAPS["${signal}"]-})
hack/test/../../hack/lib/util/trap.sh: line 240: RETURN: unbound variable
+++++ os::trap::internal::iterate_over_traps_for_signal EXIT
+++++ local script_return_code=1
+++++ local signal=EXIT
+++++ local registered_traps
+++++ registered_traps=(${SIGNALS_TO_REGISTERED_TRAPS["${signal}"]-})
hack/test/../../hack/lib/util/trap.sh: line 240: EXIT: unbound variable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment