(command.CommandList children: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'../base.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'../fs.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'../string.lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'../bool.lib.sh'>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <test_k_tool_name> name: test_k_tool_name body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <assertEquals> more_env: [] words: [ {<assertEquals>} {(DQ <'Tool name auto detect is correct'>)} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {(DQ ($ Id.VSub_Number 0))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_tool_name> more_env: [] words: [{<k_tool_name>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <assertEquals> more_env: [] words: [ {<assertEquals>} {(DQ <'Tool name variable is correct'>)} {(DQ <sometoolname>)} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_tool_name> more_env: [ (EnvPair left: <Id.Lit_VarLike 'KOALEPHANT_TOOL_NAME='> name: KOALEPHANT_TOOL_NAME val: {<sometoolname>} ) ] words: [{<k_tool_name>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <test_k_tool_version> name: test_k_tool_version body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <assertEquals> more_env: [] words: [ {<assertEquals>} {(DQ <'Tool version defaults to 1.0.0'>)} {(DQ <1.0.0>)} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_tool_version> more_env: [] words: [{<k_tool_version>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <assertEquals> more_env: [] words: [ {<assertEquals>} {(DQ <'Tool version variable is correct'>)} {(DQ <2.3.1>)} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <k_tool_version> more_env: [ (EnvPair left: <Id.Lit_VarLike 'KOALEPHANT_TOOL_VERSION='> name: KOALEPHANT_TOOL_VERSION val: {<2.3.1>} ) ] words: [{<k_tool_version>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )