fix return 0 show error_box
This commit is contained in:
+1
-2
@@ -81,7 +81,6 @@ function on_return {
|
|||||||
print_miaou_error "${BASH_SOURCE[1]}" "${BASH_LINENO[0]}" "${failure_code}" "${failure_type}" "${failure_payload}"
|
print_miaou_error "${BASH_SOURCE[1]}" "${BASH_LINENO[0]}" "${failure_code}" "${failure_type}" "${failure_payload}"
|
||||||
miaou_debug "<on_return code=$failure_code payload=$failure_payload/>"
|
miaou_debug "<on_return code=$failure_code payload=$failure_payload/>"
|
||||||
fi
|
fi
|
||||||
true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# overridden function which permits backtracing of the original `exit` statement
|
# overridden function which permits backtracing of the original `exit` statement
|
||||||
@@ -568,7 +567,7 @@ function on_exit {
|
|||||||
|
|
||||||
if ! is_true $CHILD_PROCESS; then
|
if ! is_true $CHILD_PROCESS; then
|
||||||
2>&3 >&3 dump_stderr
|
2>&3 >&3 dump_stderr
|
||||||
if [[ -v failure_type ]]; then
|
if [[ -v failure_type && $failure_code -gt 0 ]]; then
|
||||||
2>&3 >&4 dump_failure
|
2>&3 >&4 dump_failure
|
||||||
if [[ -v error_source ]]; then
|
if [[ -v error_source ]]; then
|
||||||
2>&3 >&4 dump_stacktrace
|
2>&3 >&4 dump_stacktrace
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
let additionals = [ "core", "miaou", "rookie", "azerty" ]
|
let additionals = [ "core", "miaou", "rookie" ]
|
||||||
for additional in additionals
|
for additional in additionals
|
||||||
let s:vimrc_path = "/etc/vim/vimrc." . additional
|
let s:vimrc_path = "/etc/vim/vimrc." . additional
|
||||||
if filereadable(s:vimrc_path)
|
if filereadable(s:vimrc_path)
|
||||||
|
|||||||
+2
-2
@@ -32,9 +32,9 @@ function bootstrap {
|
|||||||
|
|
||||||
[[ "$UID" -ne 0 ]] && echo 'root privilege required' && exit 1
|
[[ "$UID" -ne 0 ]] && echo 'root privilege required' && exit 1
|
||||||
if [[ -v MIAOU_BASH_DIR ]]; then
|
if [[ -v MIAOU_BASH_DIR ]]; then
|
||||||
miaou-bash "$MIAOU_BASH_DIR/lib/self-upgrade.bash"
|
. bin/miaou-bash "$MIAOU_BASH_DIR/lib/self-upgrade.bash"
|
||||||
else
|
else
|
||||||
bootstrap
|
bootstrap
|
||||||
miaou-bash "$MIAOU_BASH_DIR/lib/init.bash"
|
. bin/miaou-bash "$MIAOU_BASH_DIR/lib/init.bash"
|
||||||
echo "miaou-bash successfully installed"
|
echo "miaou-bash successfully installed"
|
||||||
fi
|
fi
|
||||||
|
|||||||
+34
-3
@@ -2,6 +2,16 @@
|
|||||||
|
|
||||||
# CONSTANTS
|
# CONSTANTS
|
||||||
|
|
||||||
|
readonly AZERTY_ZONES=(
|
||||||
|
'Europe/Paris'
|
||||||
|
'Indian/Reunion2'
|
||||||
|
'Indian/Mayotte'
|
||||||
|
'America/Cayenne'
|
||||||
|
'America/Guadeloupe'
|
||||||
|
'America/Martinique'
|
||||||
|
'Pacific/Noumea'
|
||||||
|
'Pacific/Tahiti'
|
||||||
|
)
|
||||||
readonly REQUIRED_PKGS=(file jq vim git)
|
readonly REQUIRED_PKGS=(file jq vim git)
|
||||||
readonly BACKUP='ORIGINAL'
|
readonly BACKUP='ORIGINAL'
|
||||||
|
|
||||||
@@ -38,20 +48,41 @@ function link_etc {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function predefine_config_files {
|
function link_config_files {
|
||||||
link_etc bash.bashrc
|
link_etc bash.bashrc
|
||||||
link_etc inputrc
|
link_etc inputrc
|
||||||
link_etc vimrc.azerty vim
|
|
||||||
link_etc vimrc.core vim
|
link_etc vimrc.core vim
|
||||||
link_etc vimrc.local vim
|
link_etc vimrc.local vim
|
||||||
link_etc vimrc.miaou vim
|
link_etc vimrc.miaou vim
|
||||||
link_etc vimrc.rookie vim
|
link_etc vimrc.rookie vim
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function in_azerty_zone {
|
||||||
|
local zone
|
||||||
|
zone=$(readlink /etc/localtime)
|
||||||
|
zone="${zone#/usr/share/zoneinfo/}" # remove prefix
|
||||||
|
for i in "${AZERTY_ZONES[@]}"; do
|
||||||
|
[[ "$zone" == "$i" ]] && return 0
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function link_azerty {
|
||||||
|
if in_azerty_zone; then
|
||||||
|
echo "AZERTY zone"
|
||||||
|
else
|
||||||
|
echo "NO AZERTY"
|
||||||
|
fi
|
||||||
|
echo COUCOU
|
||||||
|
# link_etc vimrc.azerty vim
|
||||||
|
# . "$MIAOU_BASH_DIR"/tools/smart_write 'let additionals = .*' 'let additionals = [ "core", "miaou", "rookie", "azerty" ]' /etc/vim/vimrc.local
|
||||||
|
}
|
||||||
|
|
||||||
# MAIN
|
# MAIN
|
||||||
|
|
||||||
[ "$UID" -ne 0 ] && echo 'root privilege required' && exit 1
|
[ "$UID" -ne 0 ] && echo 'root privilege required' && exit 1
|
||||||
source "$MIAOU_BASH_DIR/lib/functions.bash"
|
source "$MIAOU_BASH_DIR/lib/functions.bash"
|
||||||
required_packages
|
required_packages
|
||||||
no_more_skeleton
|
no_more_skeleton
|
||||||
predefine_config_files
|
link_config_files
|
||||||
|
link_azerty
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ TIMEFORMAT=$'\nelapsed: %Rs'
|
|||||||
time {
|
time {
|
||||||
assert success
|
assert success
|
||||||
assert exit_0
|
assert exit_0
|
||||||
|
assert return_conditional
|
||||||
assert_grep success_with_args 'count args: 2' -- 'A B' C
|
assert_grep success_with_args 'count args: 2' -- 'A B' C
|
||||||
|
|
||||||
fail_type subshell_term SUBSHELL_ERROR
|
fail_type subshell_term SUBSHELL_ERROR
|
||||||
|
|||||||
@@ -58,6 +58,15 @@ function do_return {
|
|||||||
should_return
|
should_return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function do_return_conditional {
|
||||||
|
if call_function_which_will_return; then
|
||||||
|
echo SHOULD NOT APPEAR
|
||||||
|
else
|
||||||
|
echo return is: $?
|
||||||
|
fi
|
||||||
|
echo SUCCESS
|
||||||
|
}
|
||||||
|
|
||||||
function do_unbound_associative {
|
function do_unbound_associative {
|
||||||
declare -A associative
|
declare -A associative
|
||||||
associative['A']='Abc'
|
associative['A']='Abc'
|
||||||
|
|||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env miaou-bash
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
builtin echo "Usage: $(basename "$0") <REGEX> <STRING> <FILE>"
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $# -ne 3 ]] && usage && exit 2
|
||||||
|
|
||||||
|
REGEX=$1
|
||||||
|
STRING=$2
|
||||||
|
FILE=$3
|
||||||
|
|
||||||
|
if ! grep -Pq "$REGEX" "$FILE"; then
|
||||||
|
builtin echo -e "$STRING" >>"$FILE"
|
||||||
|
echo 'appended'
|
||||||
|
else
|
||||||
|
sed -Ei "s|$REGEX|$STRING|g" "$FILE"
|
||||||
|
echo 'replaced'
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user