(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [47 51] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(chcon)} {(cp)} {(ls)} {(mv)} {(stat)}) (C {(require_root_)}) (C {(require_selinux_)}) (C {(skip_if_mcstransd_is_running_)}) (AndOr ops:[Op_DPipe] children:[(C {(touch)} {(f)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [(C {(mkdir)} {(d)} {(s1)} {(s2)}) (C {(framework_failure_)})] ) (C {(mkfifo_or_skip_)} {(p)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ctx) op: Equal rhs: {(root) (Lit_Other ':') (object_r) (Lit_Other ':') (tmp_t) (Lit_Other ':') (s0)} spids: [112] ) ] spids: [112] ) (AndOr ops: [Op_DPipe] children: [ (C {(chcon)} {($ VSub_Name '$ctx')} {(f)} {(d)} {(p)}) (C {(skip_)} {(SQ <'"chcon '>) ($ VSub_Name '$ctx') (SQ <' ..." failed'>)}) ] ) (ForEach iter_name: i iter_words: [{(d)} {(f)} {(p)}] do_arg_iter: F body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ls)} {(-dogZ)} {($ VSub_Name '$i')}) (C {(cut)} {(-d) (SQ <' '>)} {(-f3)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [166 181] ) } spids: [165] ) ] spids: [165] ) terminator: <Op_Semi ';'> ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) ($ VSub_Name '$c')} {(Lit_Other '=')} {(x) ($ VSub_Name '$ctx')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[196])] spids: [196] ) ] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(--printf)} {(Lit_Other '%') (C)} {($ VSub_Name '$i')}) ] ) left_token: <Left_CommandSub '$('> spids: [201 210] ) } spids: [200] ) ] spids: [200] ) terminator: <Op_Semi ';'> ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) ($ VSub_Name '$c')} {(Lit_Other '=')} {(x) ($ VSub_Name '$ctx')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[225])] spids: [225] ) ] ) ] spids: [162 228] ) spids: [154 160] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(ls)} {(-l)} {(f)}) (C {(cut)} {(-c11)})] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [235 245] ) } spids: [234] ) ] spids: [234] ) terminator: <Op_Semi ';'> ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$c'))} {(Lit_Other '=')} {(.)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[260])] spids: [260] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(getenforce)})]) left_token: <Left_CommandSub '$('> spids: [275 277] ) ) } {(Lit_Other '=')} {(Enforcing)} ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(cp)} {(--context) (Lit_Other '=') (SQ <invalid-selinux-context>)} {(f)} {(f.cp)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[302])] spids: [302] ) ] ) ] spids: [16777215 285] ) ] spids: [16777215 305] ) (AndOr ops: [Op_DPipe] children: [ (C {(cp)} {(-r)} {(--preserve) (Lit_Other '=') (all)} {(d)} {(f)} {(p)} {(s1)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[329])] spids: [329] ) ] ) (ForEach iter_name: i iter_words: [{(d)} {(f)} {(p)}] do_arg_iter: F body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(--printf)} {(Lit_Other '%') (C)} {(s1/) ($ VSub_Name '$i')} ) ] ) left_token: <Left_CommandSub '$('> spids: [349 359] ) } spids: [348] ) ] spids: [348] ) terminator: <Op_Semi ';'> ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) ($ VSub_Name '$c')} {(Lit_Other '=')} {(x) ($ VSub_Name '$ctx')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[374])] spids: [374] ) ] ) ] spids: [345 377] ) spids: [337 343] ) (AndOr ops: [Op_DPipe] children: [ (C {(mv)} {(d)} {(f)} {(p)} {(s2)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[395])] spids: [395] ) ] ) (ForEach iter_name: i iter_words: [{(d)} {(f)} {(p)}] do_arg_iter: F body: (DoGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(--printf)} {(Lit_Other '%') (C)} {(s2/) ($ VSub_Name '$i')} ) ] ) left_token: <Left_CommandSub '$('> spids: [415 425] ) } spids: [414] ) ] spids: [414] ) terminator: <Op_Semi ';'> ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) ($ VSub_Name '$c')} {(Lit_Other '=')} {(x) ($ VSub_Name '$ctx')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[440])] spids: [440] ) ] ) ] spids: [411 443] ) spids: [403 409] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )