(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub '$('> spids: [64 72] ) (/../..) } spids: [63] ) ] spids: [63] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))}) (C {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') (setup_env)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_CACHE_MUTATION_DETECTOR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_CACHE_MUTATION_DETECTOR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [99 103] ) ) } spids: [97] ) ] spids: [97] ) (C {(export)} {(KUBE_CACHE_MUTATION_DETECTOR)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_PANIC_WATCH_DECODE_ERROR) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_PANIC_WATCH_DECODE_ERROR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [116 120] ) ) } spids: [114] ) ] spids: [114] ) (C {(export)} {(KUBE_PANIC_WATCH_DECODE_ERROR)}) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(which)} {(shasum)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [137] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[140]) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SHA1SUM) op: Equal rhs: {(DQ ('shasum -a1'))} spids: [147] ) ] spids: [147] ) ] spids: [16777215 144] ) (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(which)} {(sha1sum)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [158] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[161]) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SHA1SUM) op: Equal rhs: {(DQ (sha1sum))} spids: [168] ) ] spids: [168] ) ] spids: [152 165] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ('Failed to find shasum or sha1sum utility.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[182])] ) (C {(exit)} {(1)}) ] spids: [173 190] ) (FuncDef name: 'kube::test::find_dirs' body: (BraceGroup children: [ (Subshell child: (CommandList children: [ (C {(cd)} {(${ VSub_Name KUBE_ROOT)}) (Pipeline children: [ (C {(find)} {(-L)} {(.)} {(-not)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-path)} {(SQ <'./_artifacts/*'>)} {(-o)} {(-path)} {(SQ <'./bazel-*/*'>)} {(-o)} {(-path)} {(SQ <'./_output/*'>)} {(-o)} {(-path)} {(SQ <'./_gopath/*'>)} {(-o)} {(-path)} {(SQ <'./cmd/kubeadm/test/*'>)} {(-o)} {(-path)} {(SQ <'./contrib/podex/*'>)} {(-o)} {(-path)} {(SQ <'./output/*'>)} {(-o)} {(-path)} {(SQ <'./release/*'>)} {(-o)} {(-path)} {(SQ <'./target/*'>)} {(-o)} {(-path)} {(SQ <'./test/e2e/*'>)} {(-o)} {(-path)} {(SQ <'./test/e2e_node/*'>)} {(-o)} {(-path)} {(SQ <'./test/integration/*'>)} {(-o)} {(-path)} {(SQ <'./third_party/*'>)} {(-o)} {(-path)} {(SQ <'./staging/*'>)} {(-o)} {(-path)} {(SQ <'./vendor/*'>)} {(-o)} {(-path)} {(SQ <'./federation/test/*'>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-prune)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} { (DQ ('s|^') (Lit_Other '\\') ('./|') (${ VSub_Name KUBE_GO_PACKAGE) ('/|')) } ) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[430])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(-L)} {(.)} {(-path)} {(SQ <./_output>)} {(-prune)} {(-o)} {(-path)} {(SQ <'./vendor/k8s.io/client-go/*'>)} {(-o)} {(-path)} {(SQ <'./vendor/k8s.io/apiserver/*'>)} {(-o)} {(-path)} {(SQ <'./test/e2e_node/system/*'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} { (DQ ('s|^') (Lit_Other '\\') ('./|') (${ VSub_Name KUBE_GO_PACKAGE) ('/|')) } ) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[519])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(./staging/src/k8s.io/client-go)} {(-name)} {(SQ <'*_test.go'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} {(SQ <'s|^\\./staging/src/|./vendor/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[570])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(./staging/src/k8s.io/apiserver)} {(-name)} {(SQ <'*_test.go'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} {(SQ <'s|^\\./staging/src/|./vendor/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[621])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(./staging/src/k8s.io/apimachinery)} {(-name)} {(SQ <'*_test.go'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} {(SQ <'s|^\\./staging/src/|./vendor/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[672])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(./staging/src/k8s.io/kube-aggregator)} {(-name)} {(SQ <'*_test.go'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} {(SQ <'s|^\\./staging/src/|./vendor/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[719])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(./staging/src/k8s.io/apiextensions-apiserver)} {(-not)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-path)} {(SQ <'*/test/integration/*'>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-prune)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-name)} {(SQ <'*_test.go'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} {(SQ <'s|^\\./staging/src/|./vendor/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[792])] ) ] negated: False ) (Pipeline children: [ (C {(find)} {(./staging/src/k8s.io/sample-apiserver)} {(-name)} {(SQ <'*_test.go'>)} {(-name)} {(SQ <'*_test.go'>)} {(-print0)} ) (C {(xargs)} {(-0n1)} {(dirname)}) (C {(sed)} {(SQ <'s|^\\./staging/src/|./vendor/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[839])] ) ] negated: False ) ] ) spids: [206 847] ) ] spids: [203] ) spids: [193 202] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_TIMEOUT) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_TIMEOUT> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{('-timeout 120s')}) spids: [853 857] ) } spids: [852] ) ] spids: [852] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_COVER) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_COVER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [860 864] ) } spids: [859] ) ] spids: [859] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_COVERMODE) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_COVERMODE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(atomic)}) spids: [870 874] ) } spids: [869] ) ] spids: [869] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_COVERPROCS) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_COVERPROCS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(4)}) spids: [883 887] ) } spids: [882] ) ] spids: [882] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_RACE) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_RACE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [890 893] ) } spids: [889] ) ] spids: [889] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GOVERALLS_BIN) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_GOVERALLS_BIN> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [902 905] ) } spids: [901] ) ] spids: [901] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ALL_VERSIONS_CSV) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <','>)} spids: [924] ) ] spids: [924] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name KUBE_AVAILABLE_GROUP_VERSIONS> bracket_op: (WholeArray op_id:Arith_Star) suffix_op: (PatSub pat: {(' ')} replace: {(',')} do_all: True do_prefix: False do_suffix: False ) spids: [932 942] ) ) } ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(Lit_Other '$')} spids: [945] ) ] spids: [945] ) ] ) left_token: <Left_CommandSub '$('> spids: [923 947] ) (Lit_Comma ',') (federation/v1beta1) } spids: [922] ) ] spids: [922] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_API_VERSIONS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_API_VERSIONS> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name ALL_VERSIONS_CSV)} ) spids: [953 959] ) ) } spids: [951] ) ] spids: [951] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_JUNIT_REPORT_DIR) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_JUNIT_REPORT_DIR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [969 972] ) } spids: [968] ) ] spids: [968] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_KEEP_VERBOSE_TEST_OUTPUT) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_KEEP_VERBOSE_TEST_OUTPUT> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [981 985] ) } spids: [980] ) ] spids: [980] ) (FuncDef name: 'kube::test::usage' body: (BraceGroup children: [ (SimpleCommand words: [ {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (usage_from_stdin) } ] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('usage: ') ($ VSub_Number '$0') (' [OPTIONS] [TARGETS]\n') ('\n') ('OPTIONS:\n') (' -p <number> : number of parallel workers, must be >= 1\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [1009] ) ] ) ] spids: [998] ) spids: [988 997] ) (FuncDef name: isnum body: (BraceGroup children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ ($ VSub_Number '$1'))} right: {(Lit_Other '^') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) ] spids: [1026] ) spids: [1022 1025] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARALLEL) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name PARALLEL> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(1)}) spids: [1051 1055] ) ) } spids: [1049] ) ] spids: [1049] ) (While cond: [(Sentence child:(C {(getopts)} {(DQ ('hp:i:'))} {(opt)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$opt')} arms: [ (case_arm pat_list: [{(h)}] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (test) (Lit_Other ':') (Lit_Other ':') (usage) } ) (C {(exit)} {(0)}) ] spids: [1080 1081 1098 16777215] ) (case_arm pat_list: [{(p)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARALLEL) op: Equal rhs: {(DQ ($ VSub_Name '$OPTARG'))} spids: [1105] ) ] spids: [1105] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (Pipeline children: [(C {(isnum)} {(DQ (${ VSub_Name PARALLEL))})] negated: True ) (DBracket expr: (BoolBinary op_id: BoolBinary_le left: {(DQ (${ VSub_Name PARALLEL))} right: {(0)} ) ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (usage) } {(DQ ("'") ($ VSub_Number '$0') ("': argument to -p must be numeric and greater than 0"))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (test) (Lit_Other ':') (Lit_Other ':') (usage) } ) (C {(exit)} {(1)}) ] spids: [16777215 1140] ) ] spids: [16777215 1172] ) ] spids: [1101 1102 1175 16777215] ) (case_arm pat_list: [{(i)}] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (usage) } {(DQ ("'") ($ VSub_Number '$0') ("': use GOFLAGS='-count <num-iterations>'"))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (test) (Lit_Other ':') (Lit_Other ':') (usage) } ) (C {(exit)} {(1)}) ] spids: [1178 1179 1211 16777215] ) (case_arm pat_list: [{(Lit_Other '?')}] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (test) (Lit_Other ':') (Lit_Other ':') (usage) } ) (C {(exit)} {(1)}) ] spids: [1214 1215 1232 16777215] ) (case_arm pat_list: [{(Lit_Other ':')}] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (usage) } {(DQ ('Option -') ($ VSub_Name '$OPTARG') (' <value>'))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (test) (Lit_Other ':') (Lit_Other ':') (usage) } ) (C {(exit)} {(1)}) ] spids: [1235 1236 1268 16777215] ) ] spids: [1073 1077 1271] ) ] spids: [1070 1273] ) ) (C {(shift)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:OPTIND) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1277 1284] ) } ) (C {(eval)} { (DQ ('goflags=(') (BracedVarSub token: <VSub_Name GOFLAGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1294 1297] ) (')') ) } ) (C {(eval)} { (DQ ('testargs=(') (BracedVarSub token: <VSub_Name KUBE_TEST_ARGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1305 1308] ) (')') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:go_test_grep_pattern) op: Equal rhs: {(DQ ('.*'))} spids: [1316] ) ] spids: [1316] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name KUBE_JUNIT_REPORT_DIR))}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:goflags) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(-v)}])} spids: [1347] ) ] spids: [1347] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:go_test_grep_pattern) op: Equal rhs: { (DQ ('^[^[:space:]]') (Lit_Other '\\') ('+[[:space:]]') (Lit_Other '\\') ('+[^[:space:]]') (Lit_Other '\\') ('+/[^[[:space:]]') (Lit_Other '\\') ('+') ) } spids: [1357] ) ] spids: [1357] ) ] spids: [16777215 1344] ) ] spids: [16777215 1370] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:testcases) op: Equal rhs: {(ArrayLiteralPart)} spids: [1376] ) ] spids: [1376] ) (ForEach iter_name: arg do_arg_iter: True body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name arg))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:goflags) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])} spids: [1409] ) ] spids: [1409] ) ] spids: [16777215 1406] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:testcases) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])} spids: [1422] ) ] spids: [1422] ) ] spids: [1419 1432] ) ] spids: [1385 1434] ) spids: [16777215 16777215] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: { (BracedVarSub token: <VSub_Name testcases> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1440 1446] ) } right: {(0)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:testcases) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (test) (Lit_Other ':') (Lit_Other ':') (find_dirs) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1460 1468] ) } ] ) } spids: [1458] ) ] spids: [1458] ) ] spids: [16777215 1455] ) ] spids: [16777215 1471] ) (C {(set)} {(--)} { (DQ (BracedVarSub token: <VSub_Name testcases> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_Plus arg_word: { (BracedVarSub token: <VSub_Name testcases> bracket_op: (WholeArray op_id:Lit_At) spids: [1484 1489] ) } ) spids: [1478 1490] ) ) } ) (FuncDef name: junitFilenamePrefix body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(DQ (${ VSub_Name KUBE_JUNIT_REPORT_DIR))} ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ )}) (ControlFlow token:<ControlFlow_Return return>)] spids: [16777215 1516] ) ] spids: [16777215 1528] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBE_JUNIT_REPORT_DIR))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_API_HASH) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(-n)} { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_API> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar '\\/'> ) } replace: {(-)} do_all: True do_prefix: False do_suffix: False ) spids: [1572 1579] ) ) } ) (C {(${ VSub_Name SHA1SUM)}) (C {(awk)} {(SQ <'{print $1}'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1566 1593] ) ) } spids: [1564] ) ] spids: [1562] ) (C {(echo)} { (DQ (${ VSub_Name KUBE_JUNIT_REPORT_DIR) (/junit_) (${ VSub_Name KUBE_TEST_API_HASH) (_) (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (sortable_date) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1608 1616] ) ) } ) ] spids: [1498] ) spids: [1494 1497] ) (FuncDef name: verifyAndSuggestPackagePath body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:specified_package_path) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1631] ) ] spids: [1629] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:alternative_package_path) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1639] ) ] spids: [1637] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:original_package_path) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [1647] ) ] spids: [1645] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:suggestion_package_path) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [1655] ) ] spids: [1653] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$specified_package_path'))} {(Lit_Other ']')} ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:printable_package_path) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$specified_package_path'))}) (C {(sed)} { (DQ ('s|') ($ VSub_Name '$GOPATH') ('|') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('GOPATH|') ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1695 1713] ) } spids: [1694] ) ] spids: [1692] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ("specified test path '") ($ VSub_Name '$printable_package_path') ("' does not exist"))} ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$alternative_package_path'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (info) } { (DQ ('try changing ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ($ VSub_Name '$original_package_path') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' to ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ($ VSub_Name '$suggestion_package_path') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [16777215 1745] ) ] spids: [16777215 1768] ) (C {(exit)} {(1)}) ] spids: [16777215 1677] ) ] spids: [16777215 1776] ) ] spids: [1626] ) spids: [1622 1625] ) (FuncDef name: verifyPathsToPackagesUnderTest body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:packages_under_test) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_At '$@')}])} spids: [1790] ) ] spids: [1788] ) (ForEach iter_name: package_path iter_words: [ { (DQ (BracedVarSub token: <VSub_Name packages_under_test> bracket_op: (WholeArray op_id:Lit_At) spids: [1804 1809] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:local_package_path) op: Equal rhs: {(DQ ($ VSub_Name '$package_path'))} spids: [1818] ) ] spids: [1816] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:go_package_path) op: Equal rhs: {(DQ ($ VSub_Name '$GOPATH') (/src/) ($ VSub_Name '$package_path'))} spids: [1826] ) ] spids: [1824] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name package_path> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 2)}) ) spids: [1840 1846] ) ) } right: {(DQ (./))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(verifyAndSuggestPackagePath)} {(DQ ($ VSub_Name '$local_package_path'))} {(DQ ($ VSub_Name '$go_package_path'))} {(DQ ($ VSub_Name '$package_path'))} { (DQ (BracedVarSub token: <VSub_Name package_path> suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 2)})) spids: [1877 1881] ) ) } ) ] spids: [16777215 1859] ) ] else_action: [ (C {(verifyAndSuggestPackagePath)} {(DQ ($ VSub_Name '$go_package_path'))} {(DQ ($ VSub_Name '$local_package_path'))} {(DQ ($ VSub_Name '$package_path'))} {(DQ (./) ($ VSub_Name '$package_path'))} ) ] spids: [1885 1908] ) ] spids: [1813 1911] ) spids: [1802 1811] ) ] spids: [1785] ) spids: [1781 1784] ) (FuncDef name: produceJUnitXMLReport body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:junit_filename_prefix) op: Equal rhs: {($ VSub_Number '$1')} spids: [1927] ) ] spids: [1923] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(DQ (${ VSub_Name junit_filename_prefix))} ) ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [16777215 1946] ) ] spids: [16777215 1952] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:test_stdout_filenames) op:Equal spids:[1958])] spids: [1956] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:junit_xml_filename) op:Equal spids:[1963])] spids: [1961] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_stdout_filenames) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(ls)} {(${ VSub_Name junit_filename_prefix) (Lit_Other '*') (.stdout)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1967 1975] ) } spids: [1966] ) ] spids: [1966] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:junit_xml_filename) op: Equal rhs: {(DQ (${ VSub_Name junit_filename_prefix) (.xml))} spids: [1978] ) ] spids: [1978] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (SimpleCommand words: [{(command)} {(-v)} {(go-junit-report)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1997] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [2000] ) ] ) ] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (error) } {(DQ ('go-junit-report not found; please install with '))} {(DQ ('go get -u github.com/jstemmer/go-junit-report'))} ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 2004] ) ] spids: [16777215 2029] ) (Pipeline children: [ (C {(cat)} {(${ VSub_Name test_stdout_filenames)}) (SimpleCommand words: [{(go-junit-report)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name junit_xml_filename))} spids: [2042] ) ] ) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_EqualTilde left: {(${ VSub_Name KUBE_KEEP_VERBOSE_TEST_OUTPUT)} right: {(Lit_Other '^') (Lit_Other '[') (yY) (Lit_Other ']') (Lit_Other '$') } ) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {(${ VSub_Name test_stdout_filenames)})] spids: [16777215 2072] ) ] spids: [16777215 2082] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Saved JUnit XML test report to ') (${ VSub_Name junit_xml_filename))} ) ] spids: [1920] ) spids: [1916 1919] ) (FuncDef name: runTests body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:junit_filename_prefix) op:Equal spids:[2112])] spids: [2110] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:junit_filename_prefix) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(junitFilenamePrefix)})]) left_token: <Left_CommandSub '$('> spids: [2116 2118] ) } spids: [2115] ) ] spids: [2115] ) (C {(verifyPathsToPackagesUnderTest)} {(DQ ($ VSub_At '$@'))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_EqualTilde left: {(${ VSub_Name KUBE_COVER)} right: {(Lit_Other '^') (Lit_Other '[') (yY) (Lit_Other ']') (Lit_Other '$') } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ ('Running tests without code coverage'))} ) (C {(go)} {(test)} {(-i)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [2200 2205] ) } ) spids: [2194 2206] ) ) } {(${ VSub_Name KUBE_RACE)} {(${ VSub_Name KUBE_TIMEOUT)} {(DQ (${ VSub_At '@'))} { (DQ (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) spids: [2234 2239] ) } ) spids: [2228 2240] ) ) } ) (AndOr children: [ (Pipeline children: [ (C {(go)} {(test)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [2255 2260] ) } ) spids: [2249 2261] ) ) } {(${ VSub_Name KUBE_RACE)} {(${ VSub_Name KUBE_TIMEOUT)} {(DQ (${ VSub_At '@'))} { (DQ (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) spids: [2289 2294] ) } ) spids: [2283 2295] ) ) } ) (C {(tee)} { (BracedVarSub token: <VSub_Name junit_filename_prefix> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ (${ VSub_Name junit_filename_prefix) (.stdout))} ) spids: [2304 2313] ) } ) (C {(grep)} {(DQ (${ VSub_Name go_test_grep_pattern))}) ] negated: False ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2329] ) ] spids: [2329] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2334] ) ] spids: [2334] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(produceJUnitXMLReport)} {(DQ (${ VSub_Name junit_filename_prefix))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name rc)} ) ] spids: [16777215 2159] ) ] spids: [16777215 2354] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_API_HASH) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(-n)} { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_API> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar '\\/'> ) } replace: {(-)} do_all: True do_prefix: False do_suffix: False ) spids: [2370 2377] ) ) } ) (C {(${ VSub_Name SHA1SUM)}) (C {(awk)} {(SQ <'{print $1}'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [2364 2391] ) ) } spids: [2362] ) ] spids: [2362] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cover_report_dir) op: Equal rhs: { (DQ (/tmp/k8s_coverage/) (${ VSub_Name KUBE_TEST_API_HASH) (/) (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (sortable_date) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2402 2410] ) ) } spids: [2395] ) ] spids: [2395] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cover_profile) op: Equal rhs: {(DQ (coverage.out))} spids: [2414] ) ] spids: [2414] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ("Saving coverage output in '") (${ VSub_Name cover_report_dir) ("'"))} ) (C {(mkdir)} {(-p)} { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (StringUnary op_id: VTest_Plus arg_word: { (BracedVarSub token: <VSub_At '@'> suffix_op: (PatSub pat: {} replace: {(${ VSub_Name cover_report_dir) (Lit_Slash /)} do_all: False do_prefix: True do_suffix: False ) spids: [2448 2457] ) } ) spids: [2445 2458] ) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cover_ignore_dirs) op: Equal rhs: { (DQ ( 'vendor/k8s.io/code-generator/cmd/generator|vendor/k8s.io/client-go/1.4/rest' ) ) } spids: [2520] ) ] spids: [2520] ) (ForEach iter_name: path iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$cover_ignore_dirs')}) (C {(sed)} {(SQ <'s/|/ /g'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [2532 2544] ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(echo)} {(-e)} {(DQ (skipped) (Lit_Other '\\') (tk8s.io/kubernetes/) ($ VSub_Name '$path'))} ) ] spids: [2547 2562] ) spids: [2531 2545] ) (AndOr children: [ (Pipeline children: [ (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ (${ VSub_At '@'))}) (C {(grep)} {(-Ev)} {($ VSub_Name '$cover_ignore_dirs')}) (C {(xargs)} {(-I) (Lit_LBrace '{') (Lit_RBrace '}')} {(-n)} {(1)} {(-P)} {(${ VSub_Name KUBE_COVERPROCS)} {(bash)} {(-c)} { (DQ ('set -o pipefail; _pkg=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (0) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; _pkg_out=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{_pkg//') (Lit_Other '\\') ('//_}; ') (' go test -i ') (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [2650 2655] ) } ) spids: [2644 2656] ) (' ') (' ') (${ VSub_Name KUBE_RACE) (' ') (' ') (${ VSub_Name KUBE_TIMEOUT) (' ') (' -cover -covermode=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (${ VSub_Name KUBE_COVERMODE) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (' -coverprofile=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (${ VSub_Name cover_report_dir) (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{_pkg}/') (${ VSub_Name cover_profile) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{_pkg}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (' ') (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) spids: [2707 2712] ) } ) spids: [2701 2713] ) ('\n') (' go test ') (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [2722 2727] ) } ) spids: [2716 2728] ) (' ') (' ') (${ VSub_Name KUBE_RACE) (' ') (' ') (${ VSub_Name KUBE_TIMEOUT) (' ') (' -cover -covermode=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (${ VSub_Name KUBE_COVERMODE) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (' -coverprofile=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (${ VSub_Name cover_report_dir) (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{_pkg}/') (${ VSub_Name cover_profile) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{_pkg}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (' ') (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name testargs> bracket_op: (WholeArray op_id:Lit_At) spids: [2779 2784] ) } ) spids: [2773 2785] ) (' ') (' | tee ') (BracedVarSub token: <VSub_Name junit_filename_prefix> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (${ VSub_Name junit_filename_prefix) (-) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (_pkg_out.stdout) (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) } ) spids: [2789 2800] ) (' ') (' | grep ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (${ VSub_Name go_test_grep_pattern) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } {(Lit_LBrace '{') (Lit_RBrace '}')} ) ] negated: False ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_result) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2820] ) ] spids: [2820] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_result) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2825] ) ] spids: [2825] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(produceJUnitXMLReport)} {(DQ (${ VSub_Name junit_filename_prefix))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMBINED_COVER_PROFILE) op: Equal rhs: {(DQ (${ VSub_Name cover_report_dir) (/combined-coverage.out))} spids: [2840] ) ] spids: [2840] ) (BraceGroup children: [ (C {(echo)} {(DQ ('mode: ') (${ VSub_Name KUBE_COVERMODE))}) (ForEach iter_name: x iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(find)} {(DQ (${ VSub_Name cover_report_dir))} {(-name)} {(DQ (${ VSub_Name cover_profile))} ) ] ) left_token: <Left_Backtick '`'> spids: [2893 2909] ) } ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (Pipeline children: [ (C {(cat)} {($ VSub_Name '$x')}) (C {(grep)} {(-h)} {(-v)} {(DQ ('^mode:'))}) ] negated: False ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [2912 2936] ) spids: [2892 2910] ) ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name COMBINED_COVER_PROFILE))} spids: [2941] ) ] spids: [2849] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:coverage_html_file) op: Equal rhs: {(DQ (${ VSub_Name cover_report_dir) (/combined-coverage.html))} spids: [2950] ) ] spids: [2950] ) (C {(go)} {(tool)} {(cover)} {(-html) (Lit_Other '=') (DQ (${ VSub_Name COMBINED_COVER_PROFILE))} {(-o) (Lit_Other '=') (DQ (${ VSub_Name coverage_html_file))} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('Combined coverage report: ') (${ VSub_Name coverage_html_file))} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name test_result)} ) ] spids: [2107] ) spids: [2103 2106] ) (FuncDef name: reportCoverageToCoveralls body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(${ VSub_Name KUBE_COVER)} right: {(Lit_Other '^') (Lit_Other '[') (yY) (Lit_Other ']') (Lit_Other '$') } ) ) (DBracket expr: (BoolUnary op_id: BoolUnary_x child: {(DQ (${ VSub_Name KUBE_GOVERALLS_BIN))} ) ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } { (DQ ('Reporting coverage results to Coveralls for service ') (BracedVarSub token: <VSub_Name CI_NAME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [3061 3064] ) ) } ) (AndOr children: [ (C {(${ VSub_Name KUBE_GOVERALLS_BIN)} {(-coverprofile) (Lit_Other '=') (DQ (${ VSub_Name COMBINED_COVER_PROFILE))} { (BracedVarSub token: <VSub_Name CI_NAME> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('-service=') (${ VSub_Name CI_NAME))} ) spids: [3082 3091] ) } { (BracedVarSub token: <VSub_Name COVERALLS_REPO_TOKEN> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ('-repotoken=') (${ VSub_Name COVERALLS_REPO_TOKEN))} ) spids: [3095 3104] ) } ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [16777215 3048] ) ] spids: [16777215 3113] ) ] spids: [3012] ) spids: [3008 3011] ) (FuncDef name: checkFDs body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fileslimit) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(ulimit)} {(-n)})]) left_token: <Left_CommandSub '$('> spids: [3137 3141] ) ) } spids: [3135] ) ] spids: [3133] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_lt left: {($ VSub_Name '$fileslimit')} right: {(1000)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(echo)} { (DQ ('WARNING: ulimit -n (files) should be at least 1000, is ') ($ VSub_Name '$fileslimit') (', may cause test failure') ) } ) terminator: <Op_Semi ';'> ) ] spids: [16777215 3158] ) ] spids: [16777215 3171] ) ] spids: [3122] ) spids: [3118 3121] ) (C {(checkFDs)}) (SimpleCommand words: [{(read)} {(-a)} {(apiVersions)}] redirects: [ (Redir op_id: Redir_TLess fd: 16777215 arg_word: {(DQ (${ VSub_Name KUBE_TEST_API_VERSIONS))} spids: [3194] ) ] more_env: [(env_pair name:IFS val:{(SQ <';'>)} spids:[3183])] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:apiVersionsCount) op: Equal rhs: { (BracedVarSub token: <VSub_Name apiVersions> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [3203 3209] ) } spids: [3202] ) ] spids: [3202] ) (ForExpr init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)})) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w:{(${ VSub_Name apiVersionsCount)}) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:apiVersion) op: Equal rhs: { (BracedVarSub token: <VSub_Name apiVersions> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [3238 3243] ) } spids: [3237] ) ] spids: [3237] ) (C {(echo)} {(DQ ('Running tests for APIVersion: ') ($ VSub_Name '$apiVersion'))}) (SimpleCommand words: [{(runTests)} {(DQ ($ VSub_At '$@'))}] more_env: [ (env_pair name: KUBE_TEST_API val: {(DQ (${ VSub_Name apiVersion))} spids: [3258] ) ] ) ] spids: [3234 3271] ) ) (C {(reportCoverageToCoveralls)}) ] )