(command.CommandList children: [ (C {(.)} { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(dirname)} {($ VSub_DollarName '$BATS_TEST_DIRNAME')})] ) left_token: <Left_CommandSub '$('> ) (/lib/utils.sh) } ) (command.FuncDef name: setup_asdf_dir body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BASE_DIR) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(mktemp)} {(-dt)} {(asdf.XXXX)})] ) left_token: <Left_CommandSub '$('> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HOME) op: Equal rhs: {($ VSub_DollarName '$BASE_DIR') (/home)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ASDF_DIR) op: Equal rhs: {($ VSub_DollarName '$HOME') (/.asdf)} ) ] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$ASDF_DIR') (/plugins))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$ASDF_DIR') (/installs))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$ASDF_DIR') (/shims))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$ASDF_DIR') (/tmp))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH) op: Equal rhs: {($ VSub_DollarName '$ASDF_DIR') (/shims) (Lit_Other ':') ($ VSub_DollarName '$PATH') } ) ] ) ] ) ) (command.FuncDef name: install_mock_plugin body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (C {(cp)} {(-r)} {(DQ ($ VSub_DollarName '$BATS_TEST_DIRNAME') (/fixtures/dummy_plugin))} {(DQ ($ VSub_DollarName '$ASDF_DIR') (/plugins/) ($ VSub_DollarName '$plugin_name'))} ) ] ) ) (command.FuncDef name: install_mock_plugin_version body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:plugin_version) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (C {(mkdir)} {(-p)} { (DQ ($ VSub_DollarName '$ASDF_DIR') (/installs/) ($ VSub_DollarName '$plugin_name') (/) ($ VSub_DollarName '$plugin_version') ) } ) ] ) ) (command.FuncDef name: install_dummy_plugin body: (command.BraceGroup children:[(C {(install_mock_plugin)} {(DQ (dummy))})]) ) (command.FuncDef name: install_dummy_version body: (command.BraceGroup children: [(C {(install_mock_plugin_version)} {(DQ (dummy))} {(DQ ($ VSub_Number '$1'))})] ) ) (command.FuncDef name: clean_asdf_dir body: (command.BraceGroup children: [ (C {(rm)} {(-rf)} {(DQ ($ VSub_DollarName '$BASE_DIR'))}) (C {(unset)} {(ASDF_DIR)}) ] ) ) (command.FuncDef name: setup_repo body: (command.BraceGroup children: [ (C {(cp)} {(-r)} {(DQ ($ VSub_DollarName '$BATS_TEST_DIRNAME') (/fixtures/dummy_plugins_repo))} {(DQ ($ VSub_DollarName '$ASDF_DIR') (/repository))} ) (C {(touch)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(asdf_dir)})]) left_token: <Left_CommandSub '$('> ) (/tmp/repo-updated) ) } ) ] ) ) ] )