(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LOG_TAG) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(basename)} {($ VSub_Number "$0")})]) left_token: <Left_Backtick "`"> spids: [15 19] ) ) } spids: [13] ) ] spids: [13] ) (FuncDef name: log body: (BraceGroup children: [(C {(logger)} {(-t)} {($ VSub_Name "$LOG_TAG")} {($ VSub_Number "$1")})] spids: [27] ) spids: [23 26] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id:BoolBinary_GlobDEqual left:{(DQ ($ VSub_Number "$1"))} right:{(DQ )}) ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ("You must provide the path of a LVM volume group."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[66])] ) (C {(exit)} {(100)}) ] spids: [-1 57] ) ] spids: [-1 74] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FAILED) op:Equal rhs:{(0)} spids:[77])] spids: [77] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:START_TIME) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (s.) (Lit_Other "%") (N)})] ) left_token: <Left_CommandSub "$("> spids: [81 89] ) } spids: [80] ) ] spids: [80] ) (C {(log)} {(DQ ("Beginning ephemeral functional test at ") (${ VSub_Name START_TIME))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LV_NAME) op: Equal rhs: {(EphemeralFunctionalTest_) (CommandSubPart command_list: (CommandList children:[(C {(uuidgen)})]) left_token: <Left_CommandSub "$("> spids: [102 104] ) } spids: [100] ) ] spids: [100] ) (C {(log)} {(DQ ("Creating LV ") (${ VSub_Name LV_NAME) (" in VG ") ($ VSub_Number "$1"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LV_CREATION_OUTPUT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(/sbin/lvcreate)} {($ VSub_Number "$1")} {(-n)} {(${ VSub_Name LV_NAME)} {(-L)} {(4M)} {(-A)} {(n)} ] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[140])] ) ] ) left_token: <Left_CommandSub "$("> spids: [121 142] ) } spids: [120] ) ] spids: [120] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CREATION_TIME) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (s.) (Lit_Other "%") (N)})] ) left_token: <Left_CommandSub "$("> spids: [145 153] ) } spids: [144] ) ] spids: [144] ) (C {(log)} { (DQ ("LV ") (${ VSub_Name LV_NAME) (" created in ") (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name CREATION_TIME) (-) (${ VSub_Name START_TIME))}) (C {(bc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [163 181] ) (" seconds") ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(echo)} {(${ VSub_Name LV_CREATION_OUTPUT)}) (C {(egrep)} {(-q)} {(SQ <"(Input/output error|read failed)">)}) ] negated: False ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FAILED) op:Equal rhs:{(1)} spids:[208])] spids: [208] ) ] spids: [-1 205] ) ] spids: [-1 211] ) (C {(log)} {(DQ ("Ephemeral functional test result: ") (${ VSub_Name LV_CREATION_OUTPUT))}) (SimpleCommand words: [ {(/sbin/lvremove)} {(-f)} {(/dev/) ($ VSub_Number "$1") (/) (${ VSub_Name LV_NAME)} {(-A)} {(n)} ] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[242]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[245]) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:END_TIME) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (s.) (Lit_Other "%") (N)})] ) left_token: <Left_CommandSub "$("> spids: [249 257] ) } spids: [248] ) ] spids: [248] ) (C {(log)} { (DQ ("LV ") (${ VSub_Name LV_NAME) (" removed in ") (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name END_TIME) (-) (${ VSub_Name CREATION_TIME))}) (C {(bc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [267 285] ) (" seconds") ) } ) (C {(log)} { (DQ ("Duration of test: ") (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name END_TIME) (-) (${ VSub_Name START_TIME))}) (C {(bc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [293 311] ) (" seconds") ) } ) (C {(log)} {(DQ ("Completed ephemeral functional test at ") (${ VSub_Name END_TIME))}) (C {(echo)} {($ VSub_Name "$FAILED")}) (C {(exit)} {($ VSub_Name "$FAILED")}) ] )