(CommandList children: [ (C {(set)} {(-o)} {(pipefail)}) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(4)} {(Lit_Other ']')})] action: [ (SimpleCommand words: [{(echo)} {(DQ ('usage: bisectinate ARCH PACKAGE REPO[@BAD] GOOD [TEST...]'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[43])] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[49])] ) (SimpleCommand words: [{(echo)} {(DQ ('Bisect PACKAGE for ARCH, from START to BAD within REPO'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[59])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 34] ) ] spids: [16777215 67] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ARCH) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [74] ) ] spids: [74] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PKG) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [79] ) ] spids: [79] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REPO) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (PatSub pat: {('@*')} replace: {(EmptyPart)} do_all: F do_prefix: F do_suffix: F ) spids: [86 91] ) ) } spids: [84] ) ] spids: [84] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BRANCH) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (PatSub pat: {('*@')} replace: {(EmptyPart)} do_all: F do_prefix: F do_suffix: F ) spids: [96 101] ) ) } spids: [94] ) ] spids: [94] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$BRANCH'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ ($ VSub_Number '$3'))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BRANCH) op:Equal rhs:{(master)} spids:[121])] spids: [121] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:START) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [124] ) ] spids: [124] ) (C {(shift)} {(4)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [133] ) ] spids: [133] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TOP) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [141 143] ) ) } spids: [139] ) ] spids: [139] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SRCDIR'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRCDIR) op: Equal rhs: {(DQ ($ VSub_Name '$TOP') (/packages))} spids: [158] ) ] spids: [158] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$BUILD'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BUILD) op: Equal rhs: {(DQ ($ VSub_Name '$TOP') (/build))} spids: [176] ) ] spids: [176] ) ] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$REPO') (/.git))} {(Lit_Other ']')} ) ] action: [ (C {(echo)} {(DQ ('No git repo at ') ($ VSub_Name '$REPO'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 198] ) ] spids: [16777215 213] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$TEST'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TEST) op:Equal rhs:{(true)} spids:[228])] spids: [228] ) ] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PKG'))} {(Lit_Other '=') (Lit_Other '=')} {(linux)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$BUILD') (/root-filesystem-) ($ VSub_Name '$ARCH')) (.tar.bz2)} {(Lit_Other ']')} ) ] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ZAPJUST) op: Equal rhs: {(linux-kernel)} spids: [269] ) ] spids: [269] ) ] spids: [16777215 266] ) (if_arm cond: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PKG'))} {(Lit_Other '=') (Lit_Other '=')} {(busybox)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} { (DQ ($ VSub_Name '$BUILD') (/simple-cross-compiler-) ($ VSub_Name '$ARCH') (.tar.bz2) ) } {(Lit_Other ']')} ) ] ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ZAPJUST) op: Equal rhs: {(root-filesystem)} spids: [306] ) ] spids: [306] ) ] spids: [272 303] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ZAPJUST) op:Equal rhs:{(EmptyPart)} spids:[312])] spids: [312] ) ] spids: [309 314] ) (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DPipe] children: [ (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$BUILD') (/packages/alt-) ($ VSub_Name '$PKG'))} {(DQ ($ VSub_Name '$SRCDIR') (/alt-) ($ VSub_Name '$PKG') (-0.tar.bz2))} ) (C {(mkdir)} {(-p)} (BracedWordTree parts: [(DQ ($ VSub_Name '$BUILD')) (/) (BracedAltPart words:[{(logs)} {(packages)}])] ) ) (C {(cd)} {(DQ ($ VSub_Name '$BUILD') (/packages))}) (C {(git)} {(clone)} {(DQ ($ VSub_Name '$REPO'))} {(DQ (alt-) ($ VSub_Name '$PKG'))}) (C {(cd)} {(DQ (alt-) ($ VSub_Name '$PKG'))}) (C {(git)} {(bisect)} {(start)}) (C {(git)} {(bisect)} {(good)} {(DQ ($ VSub_Name '$START'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(DQ ('bad ') ($ VSub_Name '$BRANCH'))} spids: [414] ) ] spids: [414] ) (While cond: [(C {(true)})] body: (DoGroup children: [ (AndOr ops: [Op_DAmp Op_DAmp Op_DPipe] children: [ (C {(cd)} {(DQ ($ VSub_Name '$BUILD') (/packages/alt-) ($ VSub_Name '$PKG'))}) (C {(git)} {(clean)} {(-fdx)}) (C {(git)} {(checkout)} {(-f)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(git)} {(bisect)} {($ VSub_Name '$RESULT')})] ) left_token: <Left_CommandSub '$('> spids: [473 479] ) ) } spids: [471] ) ] spids: [471] ) (C {(echo)} {(DQ ($ VSub_Name '$RESULT'))}) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$RESULT'))}) (C {(head)} {(-n)} {(1)}) (C {(grep)} {(DQ ('^Bisecting:'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [495 517] ) ) } {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Exit exit>) ] ) (SimpleCommand words: [{(git)} {(show)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$BUILD') (/logs/bisectinate-) (${ VSub_Name ARCH) (.txt))} spids: [537] ) ] ) (SimpleCommand words: [{(git)} {(bisect)} {(log)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$BUILD') (/logs/bisectinate-) (${ VSub_Name ARCH) (.log))} spids: [555] ) ] ) (Pipeline children: [(C {(git)} {(log)} {(HEAD)} {(-1)}) (C {(cat)})] negated: F ) (C {(echo)} {(DQ (Testing...))}) (AndOr ops: [Op_DPipe] children: [ (C {(cd)} {(DQ ($ VSub_Name '$TOP'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$ZAPJUST'))} {(Lit_Other ']')} ) (C {(rm)} {(-rf)} (BracedWordTree parts: [ (DQ ($ VSub_Name '$BUILD') (/) (${ VSub_Name ZAPJUST) (-) ($ VSub_Name '$ARCH')) (BracedAltPart words:[{} {(.tar.bz2)}]) ] ) ) (C {(rm)} {(-rf)} (BracedWordTree parts: [ (DQ ($ VSub_Name '$BUILD')) (/) (Lit_Other '*') (-) (DQ ($ VSub_Name '$ARCH')) (BracedAltPart words:[{} {(.tar.bz2)}]) ] ) ) ] ) (Pipeline children: [ (SimpleCommand words: [{(./build.sh)} {(DQ ($ VSub_Name '$ARCH'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[691])] more_env: [ (env_pair name:EXTRACT_ALL val:{(1)} spids:[672]) (env_pair name:ALLOW_PATCH_FAILURE val:{(1)} spids:[675]) (env_pair name: USE_ALT val: {(DQ ($ VSub_Name '$PKG'))} spids: [678] ) ] ) (C {(tee)} {(-a)} {(DQ ($ VSub_Name '$BUILD')) (/logs/bisectinate-) (DQ ($ VSub_Name '$ARCH')) (.txt)} ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:RESULT) op:Equal rhs:{(bad)} spids:[716])] spids: [716] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$BUILD')) (/system-image-) (DQ ($ VSub_Name '$ARCH')) (.tar.bz2) } {(Lit_Other ']')} ) ] action: [ (C {(set)} {(-o)} {(pipefail)}) (Pipeline children: [ (SimpleCommand words: [{(more/timeout.sh)} {(60)} {(DQ ($ VSub_Name '$TEST'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[761])] more_env: [ (env_pair name: ARCH val: {(DQ ($ VSub_Name '$ARCH'))} spids: [748] ) ] ) (C {(tee)} {(-a)} {(DQ ($ VSub_Name '$BUILD') (/logs/bisectinate-) ($ VSub_Name '$ARCH')) (.txt) } ) ] negated: F ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RESULT) op: Equal rhs: {(good)} spids: [792] ) ] spids: [792] ) ] ) ] spids: [16777215 738] ) ] spids: [16777215 796] ) (C {(mv)} (BracedWordTree parts: [ (DQ ($ VSub_Name '$BUILD')) (/logs/bisectinate) (BracedAltPart words:[{} {(-) ($ VSub_Name '$RESULT')}]) (-) (DQ ($ VSub_Name '$ARCH')) (.txt) ] ) ) ] spids: [429 822] ) ) ] )