(List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub TEST_SRCDIR]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "TEST_SRCDIR not set!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub TEST_SRCDIR][LIT_CHARS /io_bazel/src/test/shell/unittest.bash]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Failed to source unittest.bash"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('PLATFORM', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub PLATFORM]]} {[DQ [LIT_CHARS linux]]}}) (List (FunctionDef statfmt [] (Com {[LIT_CHARS stat]} {[LIT_CHARS -c]} {[DQ [LIT_CHARS "%s"]]} {[VarSub 1]}) ) (= scope= flags=0 words=[] bindings=[('MD5SUM', {[LIT_CHARS md5sum]})]) ) (ElseTrue) (List (FunctionDef statfmt [] (Com {[LIT_CHARS stat]} {[LIT_CHARS -f]} {[DQ [LIT_CHARS "%z"]]} {[VarSub 1]}) ) (= scope= flags=0 words=[] bindings=[('MD5SUM', {[LIT_CHARS /sbin/md5]})]) ) ) )