(command.CommandList children: [ (C {(echo)} {(DQ ('Testing reactjs @JSX ppx...'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:testPath) op: Equal rhs: {(DQ (miscTests/reactjs_jsx_ppx_tests))} ) ] ) (command.ForEach iter_name: i iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test) op: Equal rhs: {(DQ ($ VSub_DollarName '$testPath') (/test) ($ VSub_DollarName '$i') (.re))} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:expected) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$testPath') (/expected) ($ VSub_DollarName '$i') (.txt) } ) ] ) ) } ) ] ) (command.Pipeline children: [ (command.Simple words: [ {(ocamlc)} {(-dsource)} {(-ppx)} {(./reactjs_jsx_ppx.native)} {(-pp)} {(./refmt_impl.native)} {(-impl)} {($ VSub_DollarName '$test')} ] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) (C {(sed)} {(SQ <'$ d'>)}) (command.Simple words: [{(sed)} {(SQ <'$ d'>)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_DollarName '$testPath') (/actual) (${ VSub_Name i) (.txt)} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:actual) op: Equal rhs: { (command_sub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$testPath') (/actual) ($ VSub_DollarName '$i') (.txt) } ) ] ) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_GlobEqual left: {(DQ ($ VSub_DollarName '$expected'))} right: {(DQ ($ VSub_DollarName '$actual'))} ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (OK))})] ) ] else_action: [ (C {(echo)} {(DQ (Wrong))}) (C {(diff)} {(-u)} {($ VSub_DollarName '$testPath') (/expected) ($ VSub_DollarName '$i') (.txt)} {($ VSub_DollarName '$testPath') (/actual) ($ VSub_DollarName '$i') (.txt)} ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) ) ] )