(command.CommandList children: [ (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog prints nothing with no actions' span_id:29))} ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:37) ) (C {(echo)} {(two)}) ] ) ) (C {(multilog)}) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:48) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog e prints to stderr' span_id:58))}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:66) ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:80) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:82) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} { (SQ (Token id: Id.Lit_Chars val: '--- multilog inserts newline after partial final line' span_id: 92 ) ) } ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:100) ) (command.Pipeline children: [ (C {(echo)} {(two)}) (C {(tr)} {(-d)} {(SQ (Token id:Id.Lit_Chars val:'\\012' span_id:113))}) ] negated: F ) ] ) ) (command.Simple words: [{(multilog)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:124) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:126) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles multiple actions' span_id:136))}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:144) ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(e)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:160) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:162) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles wildcard -' span_id:172))}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:180) ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(SQ (Token id:Id.Lit_Chars val:'-*' span_id:193))} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:198) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:200) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles literal +' span_id:210))}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:218) ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [ {(multilog)} {(SQ (Token id:Id.Lit_Chars val:'-*' span_id:231))} {(SQ (Token id:Id.Lit_Chars val:'+one' span_id:235))} {(e)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:240) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:242) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles fnmatch -' span_id:252))}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:260) ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(F)} {(SQ (Token id:Id.Lit_Chars val:'-*' span_id:275))} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:280) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:282) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles fnmatch +' span_id:292))}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:300) ) (command.Sentence child: (C {(echo)} {(two)}) terminator: (Token id:Id.Op_Semi val:';' span_id:305) ) (C {(echo)} {(one)} {(two)}) ] ) ) (command.Simple words: [ {(multilog)} {(F)} {(SQ (Token id:Id.Lit_Chars val:'-*' span_id:322))} {(SQ (Token id:Id.Lit_Chars val:'+*o*' span_id:326))} {(e)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:331) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:333) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles long lines for stderr' span_id:343))} ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} { ( 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 ) } ) (command.Simple words: [{(multilog)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:357) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:359) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} { ( 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 ) } ) (command.Simple words: [{(multilog)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:376) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:378) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} { ( 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 ) } ) (command.Simple words: [{(multilog)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:395) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:397) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog handles status files' span_id:407))}) (C {(rm)} {(-f)} {(test.status)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: (Token id:Id.Op_Semi val:';' span_id:421) ) (C {(echo)} {(two)}) ] ) ) (C {(multilog)} {(Id.Lit_Equals '=') (test.status)}) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:435) ) (C {(echo)} {($ Id.VSub_QMark '$?')}) ] ) (command.Pipeline children: [ (command.Simple words: [{(uniq)} {(-c)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:445) fd: -1 arg_word: {(test.status)} ) ] ) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/[ \t]*[ \t]/_/g' span_id:454))}) ] negated: F ) (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'--- multilog t has the right format' span_id:461))}) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(ONE)}) terminator: (Token id:Id.Op_Semi val:';' span_id:469) ) (C {(echo)} {(TWO)}) ] ) ) (command.Simple words: [{(multilog)} {(t)} {(e)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:485) fd: 2 arg_word: {(1)} ) ] ) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/[0-9a-f]/x/g' span_id:493))}) ] negated: F ) ] )