(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (C {<.>} { (DQ (braced_var_sub token: <Id.VSub_Name srcdir> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<.>}) ) <'/tests/init.sh'> ) } ) terminator: <Id.Op_Semi _> ) (C {<path_prepend_>} {<'./src'>}) ] ) (C {<print_ver_>} {<mv>} {<getfacl>} {<setfacl>}) (C {<require_acl_>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<grep>} {(SQ <'^#define USE_ACL 1'>)} {($ Id.VSub_DollarName '$CONFIG_HEADER')}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (C {<skip_>} {(DQ <'insufficient ACL support'>)}) ] ) (command.ShFunction name: cleanup_ body: (BraceGroup children: [ (command.Sentence child: (C {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) terminator: <Id.Op_Semi _> ) ] ) ) (C {<.>} {(DQ ($ Id.VSub_DollarName '$abs_srcdir') <'/tests/other-fs-tmpdir'>)}) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<touch>} {<file>}) (C {<framework_failure_>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$other_partition_tmpdir') <'/t1'>} spids: [133] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<touch>} {($ Id.VSub_DollarName '$t1')}) (C {<framework_failure_>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_partition) op: assign_op.Equal rhs: {<none>} spids: [146] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<setfacl>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {<file>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_partition) op: assign_op.Equal rhs: {<.>} spids: [170] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<setfacl>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {($ Id.VSub_DollarName '$t1')} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_partition) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$other_partition_tmpdir')} spids: [190] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl1) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<getfacl>} {<file>}))} spids: [193] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_partition) op: assign_op.Equal rhs: {<.>} spids: [202] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$skip_partition')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>} ) (C {<skip_>} { (DQ <'\''> ($ Id.VSub_DollarName '$skip_partition') <'\' is not on a suitable file system for this test'> ) } ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {<file>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [240] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl2) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) (C {<getfacl>} {<file>}) ] ) ) } spids: [243] ) ] ) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(DQ ($ Id.VSub_DollarName '$acl1'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$acl2'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [276] ) ] ) ] ) (command.AndOr ops:[Id.Op_DPipe] children:[(C {<mkdir>} {<dir>}) (C {<framework_failure_>})]) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<setfacl>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {<dir>}) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl1) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<getfacl>} {<dir>}))} spids: [307] ) ] ) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {<dir>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [328] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl2) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) (C {<getfacl>} {<dir>}) ] ) ) } spids: [331] ) ] ) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(DQ ($ Id.VSub_DollarName '$acl1'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$acl2'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [364] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<mkdir>} {<dir2>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<setfacl>} {<-d>} {<-m>} {<user> <Id.Lit_Colon ':'> <bin> <Id.Lit_Colon ':'> <rw->} {<dir2>}) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl1) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<getfacl>} {<dir2>}))} spids: [397] ) ] ) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<mv>} {<dir2>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [418] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:acl2) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$other_partition_tmpdir'))}) (C {<getfacl>} {<dir2>}) ] ) ) } spids: [421] ) ] ) (C {<framework_failure_>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(DQ ($ Id.VSub_DollarName '$acl1'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$acl2'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [454] ) ] ) ] ) (C {<Exit>} {($ Id.VSub_DollarName '$fail')}) ] )