(List (= scope= flags=0 words=[] bindings=[('LOG_TAG', {[DQ [ComSub (Com {[LIT_CHARS basename]} {[VarSub 0]})]]})]) (FunctionDef log [] (Com {[LIT_CHARS logger]} {[LIT_CHARS -t]} {[VarSub LOG_TAG]} {[VarSub 1]}) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1]]} {[DQ ]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "You must provide the path of a LVM volume group."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 100]}) ) ) (= scope= flags=0 words=[] bindings=[('FAILED', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('START_TIME', {[ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s.] [LIT_OTHER "%"] [LIT_CHARS N]})]})]) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "Beginning ephemeral functional test at "][VarSub START_TIME]]}) (= scope= flags=0 words=[] bindings=[('LV_NAME', {[LIT_CHARS EphemeralFunctionalTest_] [ComSub (Com {[LIT_CHARS uuidgen]})]})]) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "Creating LV "][VarSub LV_NAME][LIT_CHARS " in VG "][VarSub 1]]}) (= scope= flags=0 words=[] bindings=[('LV_CREATION_OUTPUT', {[ComSub (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[LIT_CHARS /sbin/lvcreate]} {[VarSub 1]} {[LIT_CHARS -n]} {[VarSub LV_NAME]} {[LIT_CHARS -L]} {[LIT_CHARS 4M]} {[LIT_CHARS -A]} {[LIT_CHARS n]})]})]) (= scope= flags=0 words=[] bindings=[('CREATION_TIME', {[ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s.] [LIT_OTHER "%"] [LIT_CHARS N]})]})]) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "LV "][VarSub LV_NAME][LIT_CHARS " created in "][ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub CREATION_TIME][LIT_CHARS -][VarSub START_TIME]]}) (Com {[LIT_CHARS bc]} {[LIT_CHARS -l]}) )][LIT_CHARS " seconds"]]}) (If (Pipeline (Com {[LIT_CHARS echo]} {[VarSub LV_CREATION_OUTPUT]}) (Com {[LIT_CHARS egrep]} {[LIT_CHARS -q]} {[SQ ]}) ) (= scope= flags=0 words=[] bindings=[('FAILED', {[LIT_CHARS 1]})]) ) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "Ephemeral functional test result: "][VarSub LV_CREATION_OUTPUT]]}) (Com {[LIT_CHARS /sbin/lvremove]} {[LIT_CHARS -f]} {[LIT_CHARS /dev/] [VarSub 1] [LIT_CHARS /] [VarSub LV_NAME]} {[LIT_CHARS -A]} {[LIT_CHARS n]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (= scope= flags=0 words=[] bindings=[('END_TIME', {[ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s.] [LIT_OTHER "%"] [LIT_CHARS N]})]})]) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "LV "][VarSub LV_NAME][LIT_CHARS " removed in "][ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub END_TIME][LIT_CHARS -][VarSub CREATION_TIME]]}) (Com {[LIT_CHARS bc]} {[LIT_CHARS -l]}) )][LIT_CHARS " seconds"]]}) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "Duration of test: "][ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub END_TIME][LIT_CHARS -][VarSub START_TIME]]}) (Com {[LIT_CHARS bc]} {[LIT_CHARS -l]}) )][LIT_CHARS " seconds"]]}) (Com {[LIT_CHARS log]} {[DQ [LIT_CHARS "Completed ephemeral functional test at "][VarSub END_TIME]]}) (Com {[LIT_CHARS echo]} {[VarSub FAILED]}) (Com {[LIT_CHARS exit]} {[VarSub FAILED]}) )