(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'MD_DEVICE_FILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MD_DEVICE_FILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD_DEVICE_FILE='> name:MD_DEVICE_FILE) op: assign_op.Equal rhs: {<md.device>} ) ] redirects: [] ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<basic>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <basic_head> name: basic_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <descr>)} {(DQ <'Verifies that vnd works with files stored in tmpfs'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.user>)} {(DQ <root>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <basic_body> name: basic_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <test_mount> more_env: [] words: [{<test_mount>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<ignore>} {<dd>} {<Id.Lit_VarLike 'if='> <'/dev/zero'>} {<Id.Lit_VarLike 'of='> <disk.img>} {<Id.Lit_VarLike 'bs='> <1m>} {<Id.Lit_VarLike 'count='> <10>} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<mkdir>} {<mnt>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<mdmfs>} {<-F>} {<disk.img>} {<md>} {<mnt>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'md_dev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'md_dev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md_dev='> name:md_dev) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <df> more_env: [] words: [{<df>} {<mnt>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {(SQ <'NR != 1 { print $1 }'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <xargs> more_env: [] words: [{<xargs>} {<basename>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [{<atf_check>} {<test>} {<-c>} {<'/dev/'> ($ Id.VSub_DollarName md_dev)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {($ Id.VSub_DollarName md_dev)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MD_DEVICE_FILE)} ) ] do_fork: T ) ] spids: [180 185] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<vndconfig>} {<'/dev/vnd3'>} {<disk.img>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<ignore>} {<newfs>} {<'/dev/rvnd3a'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<mkdir>} {<mnt>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<mount>} {<'/dev/vnd3a'>} {<mnt>} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Creating test files'>)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [f] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <jot> more_env: [] words: [{<jot>} {<-w>} {<Id.Lit_Other '%'> <u>} {<100>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <uniq> more_env: [] words: [{<uniq>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <jot> more_env: [] words: [{<jot>} {<1000>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'mnt/'> (${ Id.VSub_Name f)} ) ] do_fork: T ) (command.Simple blame_tok: <atf_fail> more_env: [] words: [{<atf_fail>} {(DQ <'Failed to create file '> (${ Id.VSub_Name f))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Verifying created files'>)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [f] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <jot> more_env: [] words: [{<jot>} {<-w>} {<Id.Lit_Other '%'> <u>} {<100>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <uniq> more_env: [] words: [{<uniq>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <md5> more_env: [] words: [{<md5>} {<'mnt/'> (${ Id.VSub_Name f)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cut> more_env: [] words: [{<cut>} {<-d>} {(SQ <' '>)} {<-f>} {<4>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } {<Id.Lit_Equals '='>} {<53d025127ae99ab79e8502aae2d9bea6>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_fail> more_env: [] words: [{<atf_fail>} {(DQ <'Invalid checksum for file '> (${ Id.VSub_Name f))}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<umount>} {<mnt>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<vndconfig>} {<-u>} {<'/dev/vnd3'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_unmount> more_env: [] words: [{<test_unmount>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <touch> more_env: [] words: [{<touch>} {<Id.KW_Done done>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <basic_cleanup> name: basic_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'md_dev='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'md_dev='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'md_dev='> name:md_dev) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [ {<cat>} {($ Id.VSub_DollarName TMPDIR) <'/'> ($ Id.VSub_DollarName MD_DEVICE_FILE) } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Will try disconnecting '> ($ Id.VSub_DollarName md_dev))}] redirects: [] do_fork: T ) ] spids: [599 611] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName MD_DEVICE_FILE) <' doesn\'t exist in '> ($ Id.VSub_DollarName TMPDIR) <'; returning early'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<Id.KW_Done done>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <umount> more_env: [] words: [{<umount>} {<mnt>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <vndconfig> more_env: [] words: [{<vndconfig>} {<-u>} {<'/dev/vnd3'>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) (Redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) ] spids: [647 660] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] 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: <.> more_env: [] words: [ {<.>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <atf_get_srcdir> more_env: [] words: [{<atf_get_srcdir>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <'/../h_funcs.subr'> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [ {<.>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <atf_get_srcdir> more_env: [] words: [{<atf_get_srcdir>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <'/h_funcs.subr'> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<basic>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )