@renault-digital/bash-base 2.5.1 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/bash-base CHANGED
@@ -43,8 +43,9 @@ if [[ -n "${ZSH_VERSION:-}" ]]; then
43
43
  else
44
44
  _bash_base_argzero="$0"
45
45
  fi
46
- THIS_SCRIPT_PATH="$_bash_base_argzero" # script source path for args_valid_* lookup
47
- THIS_SCRIPT_NAME="$(basename "$_bash_base_argzero")" # the main script name
46
+ THIS_SCRIPT_PATH="$_bash_base_argzero" # script source path for args_valid_* lookup
47
+ THIS_SCRIPT_NAME="${_bash_base_argzero##*/}" # the main script name
48
+ THIS_SCRIPT_NAME="${THIS_SCRIPT_NAME#-}" # login shells may expose argv[0] as -bash/-zsh
48
49
  unset _bash_base_argzero
49
50
 
50
51
  SHORT_DESC="${THIS_SCRIPT_NAME%%.*}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@renault-digital/bash-base",
3
- "version": "2.5.1",
3
+ "version": "2.5.2",
4
4
  "description": "Reusable Bash/zsh utilities for reliable command composition and automation.",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -0,0 +1,30 @@
1
+ Describe 'login-shell invocation metadata'
2
+ login_shell_script_name() {
3
+ login_name="$1"
4
+ shell_path="$2"
5
+
6
+ /bin/bash -c '
7
+ login_name="$1"
8
+ shell_path="$2"
9
+ exec -a "$login_name" "$shell_path" -c '"'"'
10
+ source src/argument.sh
11
+ printf "%s\n" "$THIS_SCRIPT_NAME"
12
+ '"'"'
13
+ ' _ "$login_name" "$shell_path"
14
+ }
15
+
16
+ It 'normalizes Bash login argv[0]'
17
+ When call login_shell_script_name -bash /bin/bash
18
+ The status should be success
19
+ The output should equal 'bash'
20
+ The error should equal ''
21
+ End
22
+
23
+ It 'normalizes zsh login argv[0]'
24
+ zsh_path="$(command -v zsh)"
25
+ When call login_shell_script_name -zsh "$zsh_path"
26
+ The status should be success
27
+ The output should equal 'zsh'
28
+ The error should equal ''
29
+ End
30
+ End
package/src/argument.sh CHANGED
@@ -9,8 +9,9 @@ if [[ -n "${ZSH_VERSION:-}" ]]; then
9
9
  else
10
10
  _bash_base_argzero="$0"
11
11
  fi
12
- THIS_SCRIPT_PATH="$_bash_base_argzero" # script source path for args_valid_* lookup
13
- THIS_SCRIPT_NAME="$(basename "$_bash_base_argzero")" # the main script name
12
+ THIS_SCRIPT_PATH="$_bash_base_argzero" # script source path for args_valid_* lookup
13
+ THIS_SCRIPT_NAME="${_bash_base_argzero##*/}" # the main script name
14
+ THIS_SCRIPT_NAME="${THIS_SCRIPT_NAME#-}" # login shells may expose argv[0] as -bash/-zsh
14
15
  unset _bash_base_argzero
15
16
 
16
17
  SHORT_DESC="${THIS_SCRIPT_NAME%%.*}"