(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'SOCKLOCAL='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCKLOCAL='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCKLOCAL='> name:SOCKLOCAL) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock1'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SOCKPEER='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCKPEER='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCKPEER='> name:SOCKPEER) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock2'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DEBUG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DEBUG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEBUG='> name:DEBUG) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name DEBUG> var_name: DEBUG suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<false>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<dad_basic>} {<cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<dad_duplicated>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <dad_basic_head> name: dad_basic_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for IPv4 DAD basic behavior'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dad_duplicated_head> name: dad_duplicated_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for IPv4 DAD duplicated state'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_server> name: setup_server body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'sock='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'ip='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [{<rump_server_add_iface>} {($ Id.VSub_DollarName sock)} {<shmif0>} {<bus1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName sock)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {($ Id.VSub_DollarName ip) <'/24'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<up>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<-w>} {<10>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <make_pkt_str> name: make_pkt_str body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'target='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'sender='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: {(DQ <'> ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42:'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName pkt) <' Request who-has '> ($ Id.VSub_DollarName target) <' tell '> ($ Id.VSub_DollarName sender) <', length 28'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName pkt)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dad_basic_body> name: dad_basic_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'pkt='>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKLOCAL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [{<rump_server_add_iface>} {($ Id.VSub_DollarName SOCKLOCAL)} {<shmif0>} {<bus1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKLOCAL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {<'10.0.0.1/24'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {<'10.0.0.2/24'>} {<alias>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<up>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./out'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep 10.0.0.1 |grep -iq tentative'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<2>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <extract_new_packets> more_env: [] words: [{<extract_new_packets>} {<bus1>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./out'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str> more_env: [] words: [{<make_pkt_str>} {<10.0.0.2>} {<0.0.0.0>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str> more_env: [] words: [{<make_pkt_str>} {<10.0.0.1>} {<0.0.0.0>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<-w>} {<10>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <extract_new_packets> more_env: [] words: [{<extract_new_packets>} {<bus1>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./out'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str> more_env: [] words: [{<make_pkt_str>} {<10.0.0.2>} {<10.0.0.2>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'rump.ifconfig shmif0 |grep 10.0.0.2 |grep -iq tentative'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {<'10.0.0.3/24'>} {<alias>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<2>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <extract_new_packets> more_env: [] words: [{<extract_new_packets>} {<bus1>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./out'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str> more_env: [] words: [{<make_pkt_str>} {<10.0.0.3>} {<0.0.0.0>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<-w>} {<10>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <extract_new_packets> more_env: [] words: [{<extract_new_packets>} {<bus1>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./out'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str> more_env: [] words: [{<make_pkt_str>} {<10.0.0.3>} {<10.0.0.3>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'rump.ifconfig shmif0 |grep 10.0.0.3 |grep -iq tentative'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dad_duplicated_body> name: dad_duplicated_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'localip1='> <10.0.1.1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'localip2='> <10.0.1.11>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'peerip='> <10.0.1.2>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKLOCAL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKPEER)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_server> more_env: [] words: [ {<setup_server>} {($ Id.VSub_DollarName SOCKLOCAL)} {($ Id.VSub_DollarName localip1)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_server> more_env: [] words: [{<setup_server>} {($ Id.VSub_DollarName SOCKPEER)} {($ Id.VSub_DollarName peerip)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKLOCAL)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} { (DQ <'rump.ifconfig shmif0 |grep '> ($ Id.VSub_DollarName localip1) <' |grep -iq duplicated'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {($ Id.VSub_DollarName peerip)} {<alias>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-x>} { (DQ <'rump.ifconfig shmif0 |grep '> ($ Id.VSub_DollarName peerip) <' |grep -iq duplicated'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {($ Id.VSub_DollarName localip2)} {<alias>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} { (DQ <'rump.ifconfig shmif0 |grep '> ($ Id.VSub_DollarName localip2) <' |grep -iq duplicated'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dad_basic_cleanup> name: dad_basic_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dad_duplicated_cleanup> name: dad_duplicated_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <atf_init_test_cases> name: atf_init_test_cases body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<dad_basic>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<dad_duplicated>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )