(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:TMP spids:[7]) op: Equal rhs: {(/tmp/) ($ VSub_Dollar '$$') (.)} spids: [7] ) ] spids: [7] ) (C {(set)} {(-e)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MD spids:[16]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(mdconfig)} {(-a)} {(-t)} {(malloc)} {(-s)} {(2m)})] ) left_token: <Left_Backtick '`'> spids: [17 29] ) } spids: [16] ) ] spids: [16] ) (C {(trap)} { (DQ ('exec 7</dev/null; rm -f ') (${ VSub_Name TMP) ('* ; mdconfig -d -u ') (${ VSub_Name MD)) } {(EXIT)} {(INT)} {(TERM)} ) (C {(./sunlabel)} {(-r)} {(-w)} {($ VSub_DollarName '$MD')} {(auto)}) (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/) ($ VSub_DollarName '$MD')} {(Lit_VarLike 'of=') (${ VSub_Name TMP) (i0)} {(Lit_VarLike 'count=') (16)} ] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.SimpleCommand words: [{(./sunlabel)} {($ VSub_DollarName '$MD')}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name TMP) (l0)})] ) (command.SimpleCommand words: [ {(sed)} {(SQ <'\n'> <'/ c:/{\n'> <'p\n'> <'s/c:/a:/\n'> <'s/3969/1024/\n'> <'}\n'>)} {(${ VSub_Name TMP) (l0)} ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name TMP) (l1)})] ) (C {(./sunlabel)} {(-R)} {($ VSub_DollarName '$MD')} {(${ VSub_Name TMP) (l1)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-c)} {(/dev/) (${ VSub_Name MD) (a)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Created a: partition'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 147] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Did not create a: partition'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [159 176] ) (command.SimpleCommand words: [{(true)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/) (${ VSub_Name MD)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-c)} {(/dev/) (${ VSub_Name MD) (a)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Recreated a: partition after spoilage'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 208] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Did not recreate a: partition after spoilage'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [220 237] ) (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/) ($ VSub_DollarName '$MD')} {(Lit_VarLike 'of=') (${ VSub_Name TMP) (i1)} {(Lit_VarLike 'count=') (16)} ] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.SimpleCommand words: [ {(sed)} {(SQ <'\n'> <'/ c:/{\n'> <'p\n'> <'s/c:/a:/\n'> <'s/3969/2048/\n'> <'}\n'>)} {(${ VSub_Name TMP) (l0)} ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name TMP) (l2)})] ) (C {(./sunlabel)} {(-R)} {($ VSub_DollarName '$MD')} {(${ VSub_Name TMP) (l2)}) (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/) ($ VSub_DollarName '$MD')} {(Lit_VarLike 'of=') (${ VSub_Name TMP) (i2)} {(Lit_VarLike 'count=') (16)} ] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_Less '7<'> fd:7 arg_word:{(/dev/) (${ VSub_Name MD) (a)})] ) (command.ForEach iter_name: t iter_words: [{(a)} {(c)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i2)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) ($ VSub_DollarName '$t')} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('PASS: Could rewrite same label to ...') ($ VSub_DollarName '$t') (' while ...a open') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 366] ) ] else_action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('FAIL: Could not rewrite same label to ...') ($ VSub_DollarName '$t') (' while ...a open') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [381 401] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i1)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) ($ VSub_DollarName '$t')} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('FAIL: Could label with smaller ...a to ...') ($ VSub_DollarName '$t') (' while ...a open') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(2)} ) ] spids: [16777215 427] ) ] else_action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('PASS: Could not label with smaller ...a to ...') ($ VSub_DollarName '$t') (' while ...a open') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [447 462] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i0)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) ($ VSub_DollarName '$t')} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('FAIL: Could write label missing ...a to ...') ($ VSub_DollarName '$t') (' while ...a open') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(2)} ) ] spids: [16777215 488] ) ] else_action: [ (command.SimpleCommand words: [ {(echo)} { (DQ ('PASS: Could not write label missing ...a to ...') ($ VSub_DollarName '$t') (' while ...a open') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [508 523] ) ] spids: [341 525] ) spids: [336 16777215] ) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_Less '7<'> fd:7 arg_word:{(/dev/null)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i0)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (c)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could write missing ...a label to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 557] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could not write missing ...a label to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [569 586] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i2)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (c)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could write large ...a label to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 611] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could not write large ...a label to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [623 640] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i1)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (c)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could write small ...a label to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 665] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could not write small ...a label to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [677 694] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i2)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (a)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could increase size of ...a by writing to ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 719] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could not increase size of ...a by writing to ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [731 748] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i1)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (a)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could decrease size of ...a by writing to ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [16777215 773] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could not decrease size of ...a by writing to ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [790 802] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i0)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (a)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could delete ...a by writing to ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [16777215 827] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could not delete ...a by writing to ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [844 856] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(./sunlabel)} {(-B)} {(-b)} {(${ VSub_Name TMP) (i0)} {(${ VSub_Name MD)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-c)} {(/dev/) (${ VSub_Name MD) (a)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAILED: Writing bootcode killed ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(2)} ) ] spids: [16777215 899] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could write bootcode while closed'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [917 930] ) ] spids: [16777215 878] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAILED: Could not write bootcode while closed'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [932 949] ) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_Great '7>'> fd:7 arg_word:{(/dev/) (${ VSub_Name MD) (c)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(ktrace)} {(./sunlabel)} {(-B)} {(-b)} {(${ VSub_Name TMP) (i0)} {(${ VSub_Name MD)}) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-c)} {(/dev/) (${ VSub_Name MD) (a)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAILED: Writing bootcode killed ...a'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(2)} ) ] spids: [16777215 1004] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could write bootcode while open'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [1022 1035] ) ] spids: [16777215 983] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAILED: Could not write bootcode while open'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [1037 1054] ) (command.SimpleCommand words: [{(exec)}] redirects: [(redir.Redir op:<Redir_Great '7>'> fd:7 arg_word:{(/dev/null)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (${ VSub_Name TMP) (i0)} {(Lit_VarLike 'of=') (/dev/) (${ VSub_Name MD) (c)} ] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('PASS: Could delete ...a by writing to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) ] spids: [16777215 1085] ) ] else_action: [ (command.SimpleCommand words: [{(echo)} {(DQ ('FAIL: Could not delete ...a by writing to ...c'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [1097 1114] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )