(command.CommandList
  children: [
    (C {<.>} {<'../config.lib.sh'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:config_file)
          op: assign_op.Equal
          rhs: {(DQ <'./test-conf.conf'>)}
          spids: [9]
        )
      ]
    )
    (command.ShFunction
      name: test_k_config_sections
      body: 
        (BraceGroup
          children: [
            (C {<assertEquals>} {(DQ <'Section Names'>)} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<printf>} {(DQ <section> <Id.Lit_BadBackslash '\\'> <nsection2>)})
                  )
                )
              } 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<k_config_sections>} {(DQ (${ Id.VSub_Name config_file))})
                  )
                )
              }
            )
            (C {<assertEquals>} {(DQ <'Section Names under [section2]'>)} {(DQ <baz>)} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (C {<k_config_sections>} {(DQ (${ Id.VSub_Name config_file))} {(DQ <section2>)})
                  )
                )
              }
            )
            (C {<assertEquals>} {(DQ <'Section Names under [section3]'>)} {(DQ )} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (C {<k_config_sections>} {(DQ (${ Id.VSub_Name config_file))} {(DQ <section3>)})
                  )
                )
              }
            )
          ]
        )
    )
  ]
)