(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (FuncDef name: die body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ('FATAL: ') ($ VSub_At '$@'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[169])] ) (C {(exit)} {(1)}) ] spids: [159] ) spids: [155 158] ) (FuncDef name: _dump-if-exists body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {($ VSub_Number '$1')} spids: [189] ) ] spids: [187] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: {($ VSub_Number '$2')} spids: [195] ) ] spids: [193] ) (AndOr children: [ (C {(test)} {(-f)} {($ VSub_Name '$path')}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (SimpleCommand words: [{(cat)} {($ VSub_Name '$path')}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$out')} spids:[214])] ) ] spids: [184] ) spids: [180 183] ) (FuncDef name: dump-shell-id body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:sh) op: Equal rhs: {($ VSub_Number '$1')} spids: [240] ) ] spids: [238] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:name) op:Equal spids:[250])] spids: [248] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(basename)} {($ VSub_Name '$sh')})]) left_token: <Left_CommandSub '$('> spids: [254 258] ) } spids: [253] ) ] spids: [253] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out_dir) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (shell-id) (Lit_Slash /) ($ VSub_Name '$name')} ) spids: [265 273] ) } spids: [264] ) ] spids: [262] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$out_dir')}) (Case to_match: {($ VSub_Name '$sh')} arms: [ (case_arm pat_list: [{(bin/osh)} {(_bin/osh)}] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:branch) op:Equal spids:[303])] spids: [301] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:branch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--abbrev-ref)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [307 315] ) } spids: [306] ) ] spids: [306] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$branch')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/git-branch.txt)} spids: [322] ) ] ) (SimpleCommand words: [{(git)} {(rev-parse)} {($ VSub_Name '$branch')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/git-commit-hash.txt)} spids: [334] ) ] ) ] spids: [295 298 340 -1] ) ] spids: [288 292 343] ) (Case to_match: {($ VSub_Name '$name')} arms: [ (case_arm pat_list: [{(bash)} {(zsh)}] action: [ (SimpleCommand words: [{($ VSub_Name '$sh')} {(--version)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/version.txt)} spids: [364] ) ] ) ] spids: [354 357 370 -1] ) (case_arm pat_list: [{(osh)}] action: [ (SimpleCommand words: [{($ VSub_Name '$sh')} {(--version)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/osh-version.txt)} spids: [381] ) ] ) ] spids: [373 374 387 -1] ) (case_arm pat_list: [{(dash)} {(mksh)}] action: [ (SimpleCommand words: [{(dpkg)} {(-s)} {($ VSub_Name '$name')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/dpkg-version.txt)} spids: [406] ) ] ) ] spids: [390 393 412 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(die)} {(DQ ("Invalid shell '") ($ VSub_Name '$name') ("'"))})] spids: [415 416 428 -1] ) ] spids: [347 351 431] ) ] spids: [235] ) spids: [231 234] ) (FuncDef name: _shell-id-hash body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {($ VSub_Number '$1')} spids: [445] ) ] spids: [443] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:file) op:Equal spids:[452])] spids: [450] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Name '$src') (/version.txt)} spids: [456] ) ] spids: [456] ) (AndOr children: [(C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(cat)} {($ VSub_Name '$file')})] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Name '$src') (/dpkg-version.txt)} spids: [479] ) ] spids: [479] ) (AndOr children: [ (C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(egrep)} {(SQ <'^Version'>)} {($ VSub_Name '$file')}) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Name '$src') (/osh-version.txt)} spids: [506] ) ] spids: [506] ) (AndOr children: [ (C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(egrep)} {(SQ <'^Oil version|^Interpreter'>)} {($ VSub_Name '$file')}) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Name '$src') (/git-commit-hash.txt)} spids: [533] ) ] spids: [533] ) (AndOr children: [(C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(cat)} {($ VSub_Name '$file')})] op_id: Op_DAmp ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [440] ) spids: [436 439] ) (FuncDef name: publish-shell-id body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {($ VSub_Number '$1')} spids: [571] ) ] spids: [569] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest_base) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(..) (Lit_Slash /) (benchmark-data) (Lit_Slash /) (shell-id)} ) spids: [581 589] ) } spids: [580] ) ] spids: [578] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name '$src')})] ) left_token: <Left_CommandSub '$('> spids: [596 600] ) } spids: [595] ) ] spids: [593] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:hash) op:Equal spids:[605])] spids: [603] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(_shell-id-hash)} {($ VSub_Name '$src')}) (C {(md5sum)})] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [618 626] ) } spids: [617] ) ] spids: [617] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:id) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name hash> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 8)}) ) spids: [637 643] ) ) } spids: [635] ) ] spids: [633] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: { (DQ ($ VSub_Name '$dest_base') (/) ($ VSub_Name '$name') (-) ($ VSub_Name '$id')) } spids: [649] ) ] spids: [647] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$dest')}) (C {(cp)} {(--no-target-directory)} {(--recursive)} {($ VSub_Name '$src') (/)} {($ VSub_Name '$dest') (/)} ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$hash')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$dest') (/HASH.txt)} spids: [685] ) ] ) (SimpleCommand words: [{(ls)} {(-l)} {($ VSub_Name '$dest')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[698])] ) (C {(echo)} {($ VSub_Name '$id')}) ] spids: [566] ) spids: [562 565] ) (FuncDef name: dump-host-id body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out_dir) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (host-id) (Lit_Slash /) (CommandSubPart command_list: (CommandList children:[(C {(hostname)})]) left_token: <Left_CommandSub '$('> spids: [754 756] ) } ) spids: [747 757] ) } spids: [746] ) ] spids: [744] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$out_dir')}) (SimpleCommand words: [{(hostname)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/hostname.txt)} spids: [771] ) ] ) (SimpleCommand words: [{(uname)} {(-m)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/machine.txt)} spids: [798] ) ] ) (BraceGroup children: [(C {(uname)} {(--kernel-release)}) (C {(uname)} {(--kernel-version)})] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/kernel.txt)} spids: [823] ) ] spids: [808] ) (C {(_dump-if-exists)} {(/etc/lsb-release)} {($ VSub_Name '$out_dir') (/lsb-release.txt)}) (SimpleCommand words: [{(cat)} {(/proc/cpuinfo)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/cpuinfo.txt)} spids: [843] ) ] ) (SimpleCommand words: [{(cat)} {(/proc/meminfo)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$out_dir') (/meminfo.txt)} spids: [861] ) ] ) (C {(head)} {($ VSub_Name '$out_dir') (/) (Lit_Other '*')}) ] spids: [741] ) spids: [737 740] ) (FuncDef name: _host-id-hash body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {($ VSub_Number '$1')} spids: [896] ) ] spids: [894] ) (C {(cat)} {($ VSub_Name '$src') (/machine.txt)}) (C {(cat)} {($ VSub_Name '$src') (/kernel.txt)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {($ VSub_Name '$src') (/lsb-release.txt)} spids: [936] ) ] spids: [934] ) (AndOr children: [(C {(test)} {(-f)} {($ VSub_Name '$file')}) (C {(cat)} {($ VSub_Name '$file')})] op_id: Op_DAmp ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [891] ) spids: [887 890] ) (FuncDef name: publish-host-id body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {($ VSub_Number '$1')} spids: [974] ) ] spids: [972] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest_base) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(..) (Lit_Slash /) (benchmark-data) (Lit_Slash /) (host-id)} ) spids: [984 992] ) } spids: [983] ) ] spids: [981] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name '$src')})] ) left_token: <Left_CommandSub '$('> spids: [999 1003] ) } spids: [998] ) ] spids: [996] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:hash) op:Equal spids:[1008])] spids: [1006] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(_host-id-hash)} {($ VSub_Name '$src')}) (C {(md5sum)})] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1012 1020] ) } spids: [1011] ) ] spids: [1011] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:id) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name hash> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 8)}) ) spids: [1031 1037] ) ) } spids: [1029] ) ] spids: [1027] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: { (DQ ($ VSub_Name '$dest_base') (/) ($ VSub_Name '$name') (-) ($ VSub_Name '$id')) } spids: [1043] ) ] spids: [1041] ) (C {(mkdir)} {(-p)} {($ VSub_Name '$dest')}) (C {(cp)} {(--no-target-directory)} {(--recursive)} {($ VSub_Name '$src') (/)} {($ VSub_Name '$dest') (/)} ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$hash')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name '$dest') (/HASH.txt)} spids: [1079] ) ] ) (SimpleCommand words: [{(ls)} {(-l)} {($ VSub_Name '$dest')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1092])] ) (C {(echo)} {($ VSub_Name '$id')}) ] spids: [969] ) spids: [965 968] ) (C {(DQ ($ VSub_At '$@'))}) ] )