(command.CommandList children: [ (C {<Id.KW_Set set>} {<-o>} {<nounset>}) (C {<Id.KW_Set set>} {<-o>} {<pipefail>}) (C {<Id.KW_Set set>} {<-o>} {<errexit>}) (command.ShFunction name: make-zip body: (command.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: (command.BraceGroup children: [ (C {<Id.KW_Set set>} {<Id.Lit_Other '+'> <o>} {<errexit>}) (C {<_bin/hello.ovm>}) (command.If arms: [ (if_arm cond: [ (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: (command.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: (command.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.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {<../../_release/> ($ Id.VSub_DollarName '$name') <-> ($ Id.VSub_DollarName '$version') <.tar.gz> } ) ] ) (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: (command.BraceGroup children: [ (C {<_tarball>} {<hello>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<head>} {<-n>} {<1>} {<build/testdata/hello-version.txt>})] ) ) } ) ] ) ) (command.ShFunction name: oil-tar body: (command.BraceGroup children: [ (C {<_tarball>} {<oil>} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<head>} {<-n>} {<1>} {<oil-version.txt>})] ) ) } ) ] ) ) (command.ShFunction name: ovm-main-func body: (command.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])] ) (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])] ) (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])] ) ] ) ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )