(CommandList children: [ (C {(.)} { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Name '$BATS_TEST_DIRNAME')})]) left_token: <Left_CommandSub '$('> spids: [9 13] ) (/lib/utils.sh) } ) (FuncDef name: setup_asdf_dir body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASE_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)} {(-dt)} {(asdf.XXXX)})]) left_token: <Left_CommandSub '$('> spids: [25 31] ) } spids: [24] ) ] spids: [24] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HOME) op: Equal rhs: {($ VSub_Name '$BASE_DIR') (/home)} spids: [34] ) ] spids: [34] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ASDF_DIR) op: Equal rhs: {($ VSub_Name '$HOME') (/.asdf)} spids: [39] ) ] spids: [39] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$ASDF_DIR') (/plugins))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$ASDF_DIR') (/installs))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$ASDF_DIR') (/shims))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$ASDF_DIR') (/tmp))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {($ VSub_Name '$ASDF_DIR') (/shims) (Lit_Other ':') ($ VSub_Name '$PATH')} spids: [84] ) ] spids: [84] ) ] spids: [21] ) spids: [17 20] ) (FuncDef name: install_mock_plugin body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number '$1')} spids: [102] ) ] spids: [100] ) (C {(cp)} {(-r)} {(DQ ($ VSub_Name '$BATS_TEST_DIRNAME') (/fixtures/dummy_plugin))} {(DQ ($ VSub_Name '$ASDF_DIR') (/plugins/) ($ VSub_Name '$plugin_name'))} ) ] spids: [97] ) spids: [93 96] ) (FuncDef name: install_mock_plugin_version body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number '$1')} spids: [133] ) ] spids: [131] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_version) op: Equal rhs: {($ VSub_Number '$2')} spids: [139] ) ] spids: [137] ) (C {(mkdir)} {(-p)} { (DQ ($ VSub_Name '$ASDF_DIR') (/installs/) ($ VSub_Name '$plugin_name') (/) ($ VSub_Name '$plugin_version') ) } ) ] spids: [128] ) spids: [124 127] ) (FuncDef name: install_dummy_plugin body: (BraceGroup children:[(C {(install_mock_plugin)} {(DQ (dummy))})] spids:[162]) spids: [158 161] ) (FuncDef name: install_dummy_version body: (BraceGroup children: [(C {(install_mock_plugin_version)} {(DQ (dummy))} {(DQ ($ VSub_Number '$1'))})] spids: [178] ) spids: [174 177] ) (FuncDef name: clean_asdf_dir body: (BraceGroup children: [(C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$BASE_DIR'))}) (C {(unset)} {(ASDF_DIR)})] spids: [198] ) spids: [194 197] ) (FuncDef name: setup_repo body: (BraceGroup children: [ (C {(cp)} {(-r)} {(DQ ($ VSub_Name '$BATS_TEST_DIRNAME') (/fixtures/dummy_plugins_repo))} {(DQ ($ VSub_Name '$ASDF_DIR') (/repository))} ) (C {(touch)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(asdf_dir)})]) left_token: <Left_CommandSub '$('> spids: [242 244] ) (/tmp/repo-updated) ) } ) ] spids: [221] ) spids: [217 220] ) ] )