xonixx / makesure

Simple task/command runner with declarative goals and dependencies

Home Page:https://makesure.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add missing tests for `@lib`

xonixx opened this issue · comments

Actually this reveals a bug in @goal @glob + @lib combination. The glob-exported variables are not available in lib:

@lib
  echo "Unnamed lib ::: $ITEM :: $INDEX :: $TOTAL"

@goal @glob 11_goal_glob*.txt
@use_lib
  echo "@glob       ::: $ITEM :: $INDEX :: $TOTAL"

@goal glob_goal_name @glob 11_goal_glob*.txt
@use_lib lib_name
  echo "glob_goal_name ::: $ITEM :: $INDEX :: $TOTAL"

@lib lib_name
  echo "lib lib_name   ::: $ITEM :: $INDEX :: $TOTAL"

Outputs:

$ ./makesure -f tests/11_goal_glob_lib.sh '11_goal_glob*.txt'
  goal '11_goal_glob_1.txt' ...
Unnamed lib :::  ::  :: 
@glob       ::: 11_goal_glob_1.txt :: 0 :: 4
  goal '11_goal_glob_2.txt' ...
Unnamed lib :::  ::  :: 
@glob       ::: 11_goal_glob_2.txt :: 1 :: 4
  goal '11_goal_glob_3.txt' ...
Unnamed lib :::  ::  :: 
@glob       ::: 11_goal_glob_3.txt :: 2 :: 4
  goal '11_goal_glob_10.txt' ...
Unnamed lib :::  ::  :: 
@glob       ::: 11_goal_glob_10.txt :: 3 :: 4
  goal '11_goal_glob*.txt' [empty].