(command.CommandList
  children: [
    (C {<export>} {<Id.Lit_VarLike 'ARROW_TEST_NN_HOST='> <arrow-hdfs>})
    (C {<export>} 
      {<Id.Lit_VarLike 'ARROW_TEST_IMPALA_HOST='> ($ Id.VSub_DollarName ARROW_TEST_NN_HOST)}
    )
    (C {<export>} {<Id.Lit_VarLike 'ARROW_TEST_IMPALA_PORT='> <21050>})
    (C {<export>} {<Id.Lit_VarLike 'ARROW_TEST_WEBHDFS_PORT='> <50070>})
    (C {<export>} {<Id.Lit_VarLike 'ARROW_TEST_WEBHDFS_USER='> <ubuntu>})
    (C {<docker>} {<stop>} {($ Id.VSub_DollarName ARROW_TEST_NN_HOST)})
    (C {<docker>} {<rm>} {($ Id.VSub_DollarName ARROW_TEST_NN_HOST)})
    (C {<docker>} {<run>} {<-d>} {<-it>} {<--name>} {($ Id.VSub_DollarName ARROW_TEST_NN_HOST)} {<-v>} 
      {($ Id.VSub_DollarName PWD) <Id.Lit_Colon ':'> <'/io'>} {<--hostname>} {($ Id.VSub_DollarName ARROW_TEST_NN_HOST)} {<--shm-size> <Id.Lit_Equals '='> <2gb>} 
      {<-p>} {($ Id.VSub_DollarName ARROW_TEST_WEBHDFS_PORT)} {<-p>} {($ Id.VSub_DollarName ARROW_TEST_IMPALA_PORT)} 
      {<arrow-hdfs-test>}
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {<docker>} {<exec>} {($ Id.VSub_DollarName ARROW_TEST_NN_HOST)} {<impala-shell>} 
                      {<-q>} {(SQ <'SELECT VERSION()'>)}
                    )
                  ]
                  negated: T
                  stderr_indices: []
                )
              terminator: <Id.Op_Semi _>
            )
          ]
        )
      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
      redirects: []
    )
  ]
)