(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MAKEFS)
          op: assign_op.Equal
          rhs: {(DQ <'makefs -t cd9660'>)}
          spids: [107]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MOUNT)
          op: assign_op.Equal
          rhs: {(DQ <mount_cd9660>)}
          spids: [112]
        )
      ]
    )
    (C {<.>} 
      {
        (DQ 
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            child: (C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))})
          ) <'/makefs_tests_common.sh'>
        )
      }
    )
    (command.ShFunction
      name: common_cleanup
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:test_md_device)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<cat>} 
                                                {($ Id.VSub_DollarName '$TEST_MD_DEVICE_FILE')}
                                              )
                                          )
                                        }
                                      spids: [143]
                                    )
                                  ]
                                )
                              ]
                              negated: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ ($ Id.VSub_DollarName '$TEST_MD_DEVICE_FILE') 
                          <' could not be opened; has an md(4) device been attached?'>
                        )
                      }
                    )
                    (command.ControlFlow token:<Id.ControlFlow_Return return>)
                  ]
                  spids: [139 151]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<umount>} {<-f>} {<'/dev/'> ($ Id.VSub_DollarName '$test_md_device')})
                (C {<Id.Lit_Colon ':'>})
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName '$test_md_device')})
                (C {<Id.Lit_Colon ':'>})
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: check_base_iso9660_image_contents
      body: 
        (BraceGroup
          children: [
            (C {<check_image_contents>} {(DQ ($ Id.VSub_At '$@'))} {<-X>} {<c>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<test>} {<-L>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/c'>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<test>} {<-f>} {($ Id.VSub_DollarName '$TEST_MOUNT_DIR') <'/c'>}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<D_flag>} {<cleanup>})
    (command.ShFunction
      name: D_flag_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_skip>} 
              {(DQ <'makefs crashes with SIGBUS with dupe mtree entries; see FreeBSD bug # 192839'>)}
            )
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} 
              {<save> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mtree>} {<-cp>} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<not-empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-F>} {($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-M>} {<1m>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<cp>} {($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<spec2.mtree>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} 
              {<save> <Id.Lit_Colon ':'> <dupe_> ($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<cat>} 
              {($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<spec2.mtree>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<not-empty>} {<-s>} 
              {<not-exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-F>} {<dupe_> ($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-M>} {<1m>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<not-empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-D>} {<-F>} {<dupe_> ($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-M>} 
              {<1m>} {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
          ]
        )
    )
    (command.ShFunction name:D_flag_cleanup body:(BraceGroup children:[(C {<common_cleanup>})]))
    (C {<atf_test_case>} {<F_flag>} {<cleanup>})
    (command.ShFunction
      name: F_flag_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} 
              {<save> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mtree>} {<-cp>} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-F>} {($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-M>} {<1m>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction name:F_flag_cleanup body:(BraceGroup children:[(C {<common_cleanup>})]))
    (C {<atf_test_case>} {<from_mtree_spec_file>} {<cleanup>})
    (command.ShFunction
      name: from_mtree_spec_file_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} 
              {<save> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$TEST_SPEC_FILE')} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mtree>} {<-c>} {<-k>} 
              {(DQ ($ Id.VSub_DollarName '$DEFAULT_MTREE_KEYWORDS'))} {<-p>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<cd>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_SPEC_FILE')}
            )
            (C {<cd>} {<->})
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: from_mtree_spec_file_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<from_multiple_dirs>} {<cleanup>})
    (command.ShFunction
      name: from_multiple_dirs_body
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:test_inputs_dir2)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$TMPDIR') <'/inputs2'>}
                  spids: [714]
                )
              ]
            )
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$test_inputs_dir2')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<touch>} {($ Id.VSub_DollarName '$test_inputs_dir2') <'/multiple_dirs_test_file'>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')} {($ Id.VSub_DollarName '$test_inputs_dir2')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>} {<-d>} {($ Id.VSub_DollarName '$test_inputs_dir2')})
          ]
        )
    )
    (command.ShFunction
      name: from_multiple_dirs_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<from_single_dir>} {<cleanup>})
    (command.ShFunction
      name: from_single_dir_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: from_single_dir_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_allow_deep_trees>} {<cleanup>})
    (command.ShFunction
      name: o_flag_allow_deep_trees_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/a/b/c/d/e/f/g/h/i/j'>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<allow-deep-trees>} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: o_flag_allow_deep_trees_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_allow_max_name>} {<cleanup>})
    (command.ShFunction
      name: o_flag_allow_max_name_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_expect_fail>} 
              {
                (DQ 
                  <
'-o allow-max-name doesn\'t appear to be implemented on FreeBSD\'s copy of makefs [yet]'
                  >
                )
              }
            )
            (C {<create_test_inputs>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:long_path)
                  op: assign_op.Equal
                  rhs: 
                    {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/'> 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<jot>} {<-s>} {(SQ )} {<-b>} {<0>} {<37>})
                      )
                    }
                  spids: [1007]
                )
              ]
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<touch>} {($ Id.VSub_DollarName '$long_path')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<allow-max-name>} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: o_flag_allow_max_name_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_isolevel_1>} {<cleanup>})
    (command.ShFunction
      name: o_flag_isolevel_1_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_expect_fail>} 
              {(DQ <'this testcase needs work; the filenames generated seem incorrect/corrupt'>)}
            )
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<Id.Lit_VarLike 'isolevel='> <1>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: o_flag_isolevel_1_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_isolevel_2>} {<cleanup>})
    (command.ShFunction
      name: o_flag_isolevel_2_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_inputs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<Id.Lit_VarLike 'isolevel='> <2>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_base_iso9660_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: o_flag_isolevel_2_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_isolevel_3>} {<cleanup>})
    (command.ShFunction
      name: o_flag_isolevel_3_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_inputs>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [(command.Sentence child:(C {<true>}) terminator:<Id.Op_Semi _>)]
                    )
                  action: [
                    (C {<atf_check>} {<-e>} 
                      {<match> <Id.Lit_Colon ':'> (SQ <'makefs: ISO Level 3 is greater than 2\\.'>)} {<-o>} {<empty>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} 
                      {<Id.Lit_VarLike 'isolevel='> <3>} {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
                    )
                  ]
                  spids: [1265 1270]
                )
              ]
              else_action: [
                (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
                  {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<Id.Lit_VarLike 'isolevel='> <3>} 
                  {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
                )
                (C {<mount_image>})
                (C {<check_base_iso9660_image_contents>})
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: o_flag_isolevel_3_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_preparer>})
    (command.ShFunction
      name: o_flag_preparer_head
      body: (BraceGroup children:[(C {<atf_set>} {(DQ <require.progs>)} {(DQ <strings>)})])
    )
    (command.ShFunction
      name: o_flag_preparer_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_dirs>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:preparer)
                  op: assign_op.Equal
                  rhs: {(SQ <'My Very First ISO'>)}
                  spids: [1396]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:preparer_uppercase)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {($ Id.VSub_DollarName '$preparer')})
                                (C {<tr>} {(SQ <'[[:lower:]]'>)} {(SQ <'[[:upper:]]'>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [1402]
                )
              ]
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<touch>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/dummy_file'>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} 
              {<Id.Lit_VarLike 'preparer='> (DQ ($ Id.VSub_DollarName '$preparer'))} {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} 
              {<match> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName '$preparer_uppercase'))} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<strings>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<o_flag_publisher>})
    (command.ShFunction
      name: o_flag_publisher_head
      body: (BraceGroup children:[(C {<atf_set>} {(DQ <require.progs>)} {(DQ <strings>)})])
    )
    (command.ShFunction
      name: o_flag_publisher_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_dirs>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:publisher)
                  op: assign_op.Equal
                  rhs: {(SQ <'My Super Awesome Publishing Company LTD'>)}
                  spids: [1542]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:publisher_uppercase)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {($ Id.VSub_DollarName '$publisher')})
                                (C {<tr>} {(SQ <'[[:lower:]]'>)} {(SQ <'[[:upper:]]'>)})
                              ]
                              negated: F
                            )
                        )
                      )
                    }
                  spids: [1548]
                )
              ]
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<touch>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/dummy_file'>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} 
              {<Id.Lit_VarLike 'publisher='> (DQ ($ Id.VSub_DollarName '$publisher'))} {($ Id.VSub_DollarName '$TEST_IMAGE')} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} 
              {<match> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName '$publisher_uppercase'))} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<strings>} 
              {($ Id.VSub_DollarName '$TEST_IMAGE')}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<o_flag_rockridge>} {<cleanup>})
    (command.ShFunction
      name: o_flag_rockridge_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_dirs>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/a/b/c/d/e/f/g/h/i/j'>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:long_path)
                  op: assign_op.Equal
                  rhs: 
                    {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/'> 
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (C {<jot>} {<-s>} {(SQ <'/'>)} {<-b>} 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<jot>} {<-s>} {(SQ )} {<-b>} {<0>} {<64>})
                                )
                              )
                            } {<4>}
                          )
                      )
                    }
                  spids: [1718]
                )
              ]
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mkdir>} {<-p>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<dirname>} {($ Id.VSub_DollarName '$long_path')})
                  )
                )
              }
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<touch>} {(DQ ($ Id.VSub_DollarName '$long_path'))}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<rockridge>} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_image_contents>} {<-X>} {<.rr_moved>})
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<test>} {<-d>} {($ Id.VSub_DollarName '$TEST_MOUNT_DIR') <'/.rr_moved'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: o_flag_rockridge_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (C {<atf_test_case>} {<o_flag_rockridge_dev_nodes>} {<cleanup>})
    (command.ShFunction
      name: o_flag_rockridge_dev_nodes_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} 
              {
                (DQ 
                  <
'Functional tests to ensure that dev nodes are handled properly with rockridge extensions (NetBSD kern/48852; FreeBSD bug 203648)'
                  >
                )
              }
            )
          ]
        )
    )
    (command.ShFunction
      name: o_flag_rockridge_dev_nodes_body
      body: 
        (BraceGroup
          children: [
            (C {<create_test_dirs>})
            (command.Pipeline
              children: [
                (command.Subshell
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<tar>} {<-cvf>} {<->} {<-C>} {<'/dev'>} {<null>})
                        (C {<touch>} {<.tar_ok>})
                      ]
                    )
                )
                (C {<atf_check>} {<-e>} {<not-empty>} {<-o>} {<empty>} {<-s>} 
                  {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<tar>} {<-xvf>} {<->} {<-C>} {(DQ ($ Id.VSub_DollarName '$TEST_INPUTS_DIR'))}
                )
              ]
              negated: F
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<test>} {<-c>} {($ Id.VSub_DollarName '$TEST_INPUTS_DIR') <'/null'>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<test>} {<-f>} {<.tar_ok>}
            )
            (C {<atf_check>} {<-e>} {<empty>} {<-o>} {<empty>} {<-s>} 
              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {($ Id.VSub_DollarName '$MAKEFS')} {<-o>} {<rockridge>} {($ Id.VSub_DollarName '$TEST_IMAGE')} 
              {($ Id.VSub_DollarName '$TEST_INPUTS_DIR')}
            )
            (C {<mount_image>})
            (C {<check_image_contents>})
          ]
        )
    )
    (command.ShFunction
      name: o_flag_rockridge_dev_nodes_cleanup
      body: (BraceGroup children:[(C {<common_cleanup>})])
    )
    (command.ShFunction
      name: atf_init_test_cases
      body: 
        (BraceGroup
          children: [
            (C {<atf_add_test_case>} {<D_flag>})
            (C {<atf_add_test_case>} {<F_flag>})
            (C {<atf_add_test_case>} {<from_mtree_spec_file>})
            (C {<atf_add_test_case>} {<from_multiple_dirs>})
            (C {<atf_add_test_case>} {<from_single_dir>})
            (C {<atf_add_test_case>} {<o_flag_allow_deep_trees>})
            (C {<atf_add_test_case>} {<o_flag_allow_max_name>})
            (C {<atf_add_test_case>} {<o_flag_isolevel_1>})
            (C {<atf_add_test_case>} {<o_flag_isolevel_2>})
            (C {<atf_add_test_case>} {<o_flag_isolevel_3>})
            (C {<atf_add_test_case>} {<o_flag_preparer>})
            (C {<atf_add_test_case>} {<o_flag_publisher>})
            (C {<atf_add_test_case>} {<o_flag_rockridge>})
            (C {<atf_add_test_case>} {<o_flag_rockridge_dev_nodes>})
          ]
        )
    )
  ]
)