(CommandList children: [ (C {(set)} {(-ex)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id:BoolBinary_ne left:{($ VSub_Pound '$#')} right:{(2)}) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('Usage: ') ($ VSub_Number '$0') (' fuzzer_mode_build_dir no_fuzzer_mode_build_dir') ) } ) (C {(exit)} {(1)}) ] spids: [-1 61] ) ] spids: [-1 77] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fuzzer_mode_build_dir) op: Equal rhs: {($ VSub_Number '$1')} spids: [80] ) ] spids: [80] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_fuzzer_mode_build_dir) op: Equal rhs: {($ VSub_Number '$2')} spids: [83] ) ] spids: [83] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(grep)} {(-q)} {(SQ <'^FUZZ:'>)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/CMakeCache.txt))} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (' was not built with -DFUZZ=1'))}) (C {(exit)} {(1)}) ] spids: [-1 110] ) ] spids: [-1 125] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(grep)} {(-q)} {(SQ <'^NO_FUZZER_MODE:'>)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/CMakeCache.txt))} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (' was built with -DNO_FUZZER_MODE=1'))} ) (C {(exit)} {(1)}) ] spids: [-1 144] ) ] spids: [-1 159] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(grep)} {(-q)} {(SQ <'^FUZZ:'>)} {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/CMakeCache.txt))} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (' was not built with -DFUZZ=1'))} ) (C {(exit)} {(1)}) ] spids: [-1 180] ) ] spids: [-1 195] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(grep)} {(-q)} {(SQ <'^NO_FUZZER_MODE:'>)} {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/CMakeCache.txt))} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (' was not built with -DNO_FUZZER_MODE=1') ) } ) (C {(exit)} {(1)}) ] spids: [-1 216] ) ] spids: [-1 231] ) (FuncDef name: assert_directory body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id:BoolUnary_d child:{($ VSub_Number '$1')}) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ($ VSub_Number '$1') (' not found.'))}) (C {(exit)} {(1)})] spids: [-1 259] ) ] spids: [-1 275] ) ] spids: [243] ) spids: [239 242] ) (C {(assert_directory)} {(client_corpus)}) (C {(assert_directory)} {(client_corpus_no_fuzzer_mode)}) (C {(assert_directory)} {(server_corpus)}) (C {(assert_directory)} {(server_corpus_no_fuzzer_mode)}) (C {(assert_directory)} {(dtls_client_corpus)}) (C {(assert_directory)} {(dtls_server_corpus)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fuzzer_mode_shim) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(readlink)} {(-f)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/ssl/test/bssl_shim))} ) ] ) left_token: <Left_CommandSub '$('> spids: [311 320] ) } spids: [310] ) ] spids: [310] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_fuzzer_mode_shim) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(readlink)} {(-f)} {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/ssl/test/bssl_shim))} ) ] ) left_token: <Left_CommandSub '$('> spids: [323 334] ) } spids: [322] ) ] spids: [322] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fuzzer_mode_transcripts) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-d)} {(SQ </tmp/boringssl-transcript.XXXXXX>)})] ) left_token: <Left_CommandSub '$('> spids: [338 346] ) } spids: [337] ) ] spids: [337] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:no_fuzzer_mode_transcripts) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-d)} {(SQ </tmp/boringssl-transcript.XXXXXX>)})] ) left_token: <Left_CommandSub '$('> spids: [349 357] ) } spids: [348] ) ] spids: [348] ) (C {(echo)} {(Recording)} {(fuzzer-mode)} {(transcripts)}) (AndOr children: [ (Subshell child: (AndOr children: [ (C {(cd)} {(../ssl/test/runner/)}) (C {(go)} {(test)} {(-shim-path)} {(DQ ($ VSub_Name '$fuzzer_mode_shim'))} {(-transcript-dir)} {(DQ ($ VSub_Name '$fuzzer_mode_transcripts'))} {(-fuzzer)} {(-deterministic)} ) ] op_id: Op_DAmp ) spids: [368 402] ) (C {(true)}) ] op_id: Op_DPipe ) (C {(echo)} {(Recording)} {(non-fuzzer-mode)} {(transcripts)}) (AndOr children: [ (Subshell child: (AndOr children: [ (C {(cd)} {(../ssl/test/runner/)}) (C {(go)} {(test)} {(-shim-path)} {(DQ ($ VSub_Name '$no_fuzzer_mode_shim'))} {(-transcript-dir)} {(DQ ($ VSub_Name '$no_fuzzer_mode_transcripts'))} {(-deterministic)} ) ] op_id: Op_DAmp ) spids: [417 447] ) (C {(true)}) ] op_id: Op_DPipe ) (FuncDef name: minimize_corpus body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fuzzer) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [468] ) ] spids: [466] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:corpus) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [476] ) ] spids: [474] ) (C {(echo)} {(DQ ('Minimizing ') (${ VSub_Name corpus))}) (C {(mv)} {(DQ ($ VSub_Name '$corpus'))} {(DQ (${ VSub_Name corpus) (_old))}) (C {(mkdir)} {(DQ ($ VSub_Name '$corpus'))}) (C {(DQ ($ VSub_Name '$fuzzer'))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(DQ ($ VSub_Name '$corpus'))} {(DQ (${ VSub_Name corpus) (_old))} ) (C {(rm)} {(-Rf)} {(DQ (${ VSub_Name corpus) (_old))}) ] spids: [463] ) spids: [459 462] ) (C {(minimize_corpus)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/client))} {(client_corpus)} ) (C {(minimize_corpus)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/server))} {(server_corpus)} ) (C {(minimize_corpus)} {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/fuzz/client))} {(client_corpus_no_fuzzer_mode)} ) (C {(minimize_corpus)} {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/fuzz/server))} {(server_corpus_no_fuzzer_mode)} ) (C {(minimize_corpus)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/dtls_client))} {(dtls_client_corpus)} ) (C {(minimize_corpus)} {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/dtls_server))} {(dtls_server_corpus)} ) (C {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/client))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(client_corpus)} {(DQ (${ VSub_Name fuzzer_mode_transcripts) (/tls/client))} ) (C {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/server))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(server_corpus)} {(DQ (${ VSub_Name fuzzer_mode_transcripts) (/tls/server))} ) (C {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/fuzz/client))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(client_corpus_no_fuzzer_mode)} {(DQ (${ VSub_Name no_fuzzer_mode_transcripts) (/tls/client))} ) (C {(DQ ($ VSub_Name '$no_fuzzer_mode_build_dir') (/fuzz/server))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(server_corpus_no_fuzzer_mode)} {(DQ (${ VSub_Name no_fuzzer_mode_transcripts) (/tls/server))} ) (C {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/dtls_client))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(dtls_client_corpus)} {(DQ (${ VSub_Name fuzzer_mode_transcripts) (/dtls/client))} ) (C {(DQ ($ VSub_Name '$fuzzer_mode_build_dir') (/fuzz/dtls_server))} {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(dtls_server_corpus)} {(DQ (${ VSub_Name fuzzer_mode_transcripts) (/dtls/server))} ) ] )