(command.CommandList children: [ (C {<set>} {<-o>} {<nounset>}) (C {<set>} {<-o>} {<pipefail>}) (C {<set>} {<-o>} {<errexit>}) (command.ShFunction name: make-zip body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'out='> <'_tmp/make-zip-test.zip'>}) (C {<'build/make_zip.py'>} {($ Id.VSub_DollarName '$out')} {<'_build/runpy-deps-py.txt'>}) (C {<unzip>} {<-l>} {($ Id.VSub_DollarName '$out')}) ] ) ) (command.ShFunction name: hello-bundle body: (BraceGroup children: [ (C {<set>} {<Id.Lit_Other '+'> <o>} {<errexit>}) (C {<'_bin/hello.ovm'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {($ Id.VSub_QMark '$?')} {<Id.Lit_Equals '='>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {<OK>})] spids: [80 91] ) ] else_action: [ (C {<echo>} {(SQ <'FAIL: expected exit code 1'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ] ) ) (command.ShFunction name: oil-bundle body: (BraceGroup children: [ (C {<'_bin/oil.ovm'>} {<osh>} {<-c>} {(SQ <'echo hi'>)}) (C {<ln>} {<-s>} {<-f>} {<oil.ovm>} {<'_bin/osh'>}) (C {<'_bin/osh'>} {<-c>} {(SQ <'echo hi from osh'>)}) ] ) ) (command.ShFunction name: _tarball body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'name='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{<hello>}) ) } ) (C {<local>} {<Id.Lit_VarLike 'version='> (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{<0.0.0>}) ) } ) (C {<local>} {<Id.Lit_VarLike 'tmp='> <'_tmp/'> (${ Id.VSub_Name name) <-tar-test>}) (C {<rm>} {<-r>} {<-f>} {($ Id.VSub_DollarName '$tmp')}) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$tmp')}) (C {<cd>} {($ Id.VSub_DollarName '$tmp')}) (command.Simple words: [{<tar>} {<--extract>} {<-z>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {<'../../_release/'> ($ Id.VSub_DollarName '$name') <-> ($ Id.VSub_DollarName '$version') <.tar.gz> } ) ] do_fork: T ) (C {<cd>} {($ Id.VSub_DollarName '$name') <-> ($ Id.VSub_DollarName '$version')}) (C {<'./configure'>}) (C {<local>} {<Id.Lit_VarLike 'bin='> <'_bin/'> (${ Id.VSub_Name name) <.ovm>}) (command.TimeBlock pipeline:(C {<make>} {($ Id.VSub_DollarName '$bin')})) (C {($ Id.VSub_DollarName '$bin')} {<--version>}) ] ) ) (command.ShFunction name: hello-tar body: (BraceGroup children: [ (C {<_tarball>} {<hello>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<head>} {<-n>} {<1>} {<'build/testdata/hello-version.txt'>}) ) } ) ] ) ) (command.ShFunction name: oil-tar body: (BraceGroup children: [ (C {<_tarball>} {<oil>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<head>} {<-n>} {<1>} {<oil-version.txt>}) ) } ) ] ) ) (command.ShFunction name: ovm-main-func body: (BraceGroup children: [ (C {<echo>} {<--->}) (C {<echo>} {(SQ <'Running nothing'>)}) (C {<echo>} {<--->}) (C {<local>} {<Id.Lit_VarLike 'ovm='> <'_build/hello/ovm-dbg'>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{($ Id.VSub_DollarName '$ovm')}] more_env: [(env_pair name:_OVM_RUN_SELF val:{<0>} spids:[362])] do_fork: T ) (C {<true>}) ] ) (C {<echo>} {<--->}) (C {<echo>} {(SQ <'Running bytecode.zip'>)}) (C {<echo>} {<--->}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{($ Id.VSub_DollarName '$ovm')} {<'_build/hello/bytecode.zip'>}] more_env: [(env_pair name:_OVM_RUN_SELF val:{<0>} spids:[391])] do_fork: T ) (C {<true>}) ] ) (C {<echo>} {<--->}) (C {<echo>} {(SQ <'Running lib.pyc'>)}) (C {<echo>} {<--->}) (command.Simple words: [{($ Id.VSub_DollarName '$ovm')} {<'build/testdata/lib.pyc'>}] more_env: [(env_pair name:_OVM_RUN_SELF val:{<0>} spids:[426])] do_fork: T ) ] ) ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )