(command.CommandList children: [ (C {(echo)} {(DQ ('Testing reactjs @JSX ppx...'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:testPath spids:[7]) op: Equal rhs: {(DQ (miscTests/reactjs_jsx_ppx_tests))} spids: [7] ) ] spids: [7] ) (command.ForEach iter_name: i iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)}] do_arg_iter: F body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test spids:[32]) op: Equal rhs: {(DQ ($ VSub_DollarName '$testPath') (/test) ($ VSub_DollarName '$i') (.re))} spids: [32] ) ] spids: [32] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:expected spids:[42]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$testPath') (/expected) ($ VSub_DollarName '$i') (.txt) } ) ] ) left_token: <Left_Backtick '`'> spids: [43 50] ) } spids: [42] ) ] spids: [42] ) (command.Pipeline children: [ (command.SimpleCommand 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.SimpleCommand 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.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:actual spids:[109]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$testPath') (/actual) ($ VSub_DollarName '$i') (.txt) } ) ] ) left_token: <Left_Backtick '`'> spids: [110 117] ) } spids: [109] ) ] spids: [109] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobEqual left: {(DQ ($ VSub_DollarName '$expected'))} right: {(DQ ($ VSub_DollarName '$actual'))} ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (OK))})] spids: [16777215 138] ) ] 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)}) ] spids: [148 182] ) ] spids: [29 184] ) spids: [18 16777215] ) ] )