(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:T)
          op: Equal
          rhs: {(/tmp/kvm-test-1-run.sh.) ($ VSub_Dollar "$$")}
          spids: [118]
        )
      ]
      spids: [118]
    )
    (C {(trap)} {(SQ <"rm -rf $T">)} {(0)})
    (C {(touch)} {($ VSub_Name "$T")})
    (C {(.)} {($ VSub_Name "$KVM") (/bin/functions.sh)})
    (C {(.)} {($ VSub_Name "$CONFIGFRAG") (/ver_functions.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:config_template)
          op: Equal
          rhs: {(${ VSub_Number 1)}
          spids: [146]
        )
      ]
      spids: [146]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:config_dir)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {($ VSub_Name "$config_template")})
                          (C {(sed)} {(-e)} {(SQ <"s,/[^/]*$,,">)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [152 166]
              )
            }
          spids: [151]
        )
      ]
      spids: [151]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:title)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {($ VSub_Name "$config_template")})
                          (C {(sed)} {(-e)} {(SQ <"s/^.*\\///">)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [169 183]
              )
            }
          spids: [168]
        )
      ]
      spids: [168]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:builddir) op:Equal rhs:{(${ VSub_Number 2)} spids:[185])]
      spids: [185]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(-z)} {(DQ ($ VSub_Name "$builddir"))} {(-o)} {(KW_Bang "!")} {(-d)} 
              {(DQ ($ VSub_Name "$builddir"))} {(-o)} {(KW_Bang "!")} {(-w)} {(DQ ($ VSub_Name "$builddir"))}
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ("kvm-test-1-run.sh :") ($ VSub_Name "$builddir") 
                  (": Not a writable directory, cannot build into it")
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 220]
        )
      ]
      spids: [-1 236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:resdir) op:Equal rhs:{(${ VSub_Number 3)} spids:[238])]
      spids: [238]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(-z)} {(DQ ($ VSub_Name "$resdir"))} {(-o)} {(KW_Bang "!")} {(-d)} 
              {(DQ ($ VSub_Name "$resdir"))} {(-o)} {(KW_Bang "!")} {(-w)} {(DQ ($ VSub_Name "$resdir"))}
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ("kvm-test-1-run.sh :") ($ VSub_Name "$resdir") 
                  (": Not a writable directory, cannot store results into it")
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 273]
        )
      ]
      spids: [-1 289]
    )
    (C {(cp)} {($ VSub_Name "$config_template")} {($ VSub_Name "$resdir") (/ConfigFragment)})
    (C {(echo)} {(SQ <" ---">)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(date)})])
          left_token: <Left_Backtick "`">
          spids: [304 306]
        ) (Lit_Other ":")
      } {(Starting)} {(build)}
    )
    (SimpleCommand
      words: [
        {(echo)}
        {(SQ <" ---">)}
        {(Kconfig)}
        {(fragment)}
        {(at) (Lit_Other ":")}
        {($ VSub_Name "$config_template")}
      ]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: -1
          arg_word: {($ VSub_Name "$resdir") (/log)}
          spids: [328]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-r)} {(DQ ($ VSub_Name "$config_dir") (/CFcommon))})]
          action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {($ VSub_Name "$config_dir") (/CFcommon)}
                  spids: [349]
                )
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {($ VSub_Name "$T")}
                  spids: [354]
                )
              ]
            )
          ]
          spids: [-1 344]
        )
      ]
      spids: [-1 358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:base_resdir)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {($ VSub_Name "$resdir")})
                          (C {(sed)} {(-e)} {(SQ <"s/\\.[0-9]\\+$//">)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [433 447]
              )
            }
          spids: [432]
        )
      ]
      spids: [432]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(DQ ($ VSub_Name "$base_resdir"))} {(KW_Bang "!") (Lit_Other "=")} 
              {(DQ ($ VSub_Name "$resdir"))} {(-a)} {(-f)} {($ VSub_Name "$base_resdir") (/bzImage)} {(-a)} {(-f)} 
              {($ VSub_Name "$base_resdir") (/vmlinux)}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:QEMU)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(identify_qemu)} {($ VSub_Name "$base_resdir") (/vmlinux)})
                              ]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [487 492]
                        )
                      )
                    }
                  spids: [485]
                )
              ]
              spids: [485]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:BOOT_IMAGE)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(identify_boot_image)} {($ VSub_Name "$QEMU")})]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [498 502]
                        )
                      )
                    }
                  spids: [496]
                )
              ]
              spids: [496]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KERNEL)
                  op: Equal
                  rhs: 
                    {($ VSub_Name "$base_resdir") (/) 
                      (BracedVarSub
                        token: <VSub_Name BOOT_IMAGE>
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)})
                        spids: [509 514]
                      )
                    }
                  spids: [506]
                )
              ]
              spids: [506]
            )
            (C {(ln)} {(-s)} {($ VSub_Name "$base_resdir") (/Make) (Lit_Other "*") (.out)} 
              {($ VSub_Name "$resdir")}
            )
            (C {(ln)} {(-s)} {($ VSub_Name "$base_resdir") (/.config)} {($ VSub_Name "$resdir")})
          ]
          spids: [-1 478]
        )
        (if_arm
          cond: [
            (C {(kvm-build.sh)} {($ VSub_Name "$config_template")} {($ VSub_Name "$builddir")} 
              {($ VSub_Name "$T")}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:QEMU)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(identify_qemu)} {($ VSub_Name "$builddir") (/vmlinux)})]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [566 571]
                        )
                      )
                    }
                  spids: [564]
                )
              ]
              spids: [564]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:BOOT_IMAGE)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(identify_boot_image)} {($ VSub_Name "$QEMU")})]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [577 581]
                        )
                      )
                    }
                  spids: [575]
                )
              ]
              spids: [575]
            )
            (C {(cp)} {($ VSub_Name "$builddir") (/Make) (Lit_Other "*") (.out)} 
              {($ VSub_Name "$resdir")}
            )
            (C {(cp)} {($ VSub_Name "$builddir") (/vmlinux)} {($ VSub_Name "$resdir")})
            (C {(cp)} {($ VSub_Name "$builddir") (/.config)} {($ VSub_Name "$resdir")})
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name "$BOOT_IMAGE"))})]
                  action: [
                    (C {(cp)} {($ VSub_Name "$builddir") (/) ($ VSub_Name "$BOOT_IMAGE")} 
                      {($ VSub_Name "$resdir")}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KERNEL)
                          op: Equal
                          rhs: 
                            {($ VSub_Name "$resdir") (/) 
                              (BracedVarSub
                                token: <VSub_Name BOOT_IMAGE>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_DPound
                                    arg_word: {("*") (Lit_Slash /)}
                                  )
                                spids: [637 642]
                              )
                            }
                          spids: [634]
                        )
                      ]
                      spids: [634]
                    )
                  ]
                  spids: [-1 622]
                )
              ]
              else_action: [
                (C {(echo)} {(No)} {(identifiable)} {(boot)} {(image) (Lit_Comma ",")} {(not)} {(running)} 
                  {(KVM) (Lit_Comma ",")} {(see)} {($ VSub_Name "$resdir") (.)}
                )
                (C {(echo)} {(Do)} {(the)} {(torture)} {(scripts)} {(know)} {(about)} {(your)} 
                  {(architecture) (Lit_Other "?")}
                )
              ]
              spids: [645 692]
            )
            (C {(parse-build.sh)} {($ VSub_Name "$resdir") (/Make.out)} {($ VSub_Name "$title")})
          ]
          spids: [547 557]
        )
      ]
      else_action: [
        (C {(cp)} {($ VSub_Name "$builddir") (/Make) (Lit_Other "*") (.out)} {($ VSub_Name "$resdir")})
        (AndOr
          children: [
            (C {(cp)} {($ VSub_Name "$builddir") (/.config)} {($ VSub_Name "$resdir")})
            (C {(Lit_Other ":")})
          ]
          op_id: Op_DPipe
        )
        (C {(echo)} {(Build)} {(failed) (Lit_Comma ",")} {(not)} {(running)} {(KVM) (Lit_Comma ",")} {(see)} 
          {($ VSub_Name "$resdir") (.)}
        )
        (If
          arms: [
            (if_arm
              cond: [(C {(test)} {(-f)} {($ VSub_Name "$builddir") (.wait)})]
              action: [
                (C {(mv)} {($ VSub_Name "$builddir") (.wait)} {($ VSub_Name "$builddir") (.ready)})
              ]
              spids: [-1 761]
            )
          ]
          spids: [-1 773]
        )
        (C {(exit)} {(1)})
      ]
      spids: [702 780]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-f)} {($ VSub_Name "$builddir") (.wait)})]
          action: [(C {(mv)} {($ VSub_Name "$builddir") (.wait)} {($ VSub_Name "$builddir") (.ready)})]
          spids: [-1 791]
        )
      ]
      spids: [-1 802]
    )
    (While
      cond: [(C {(test)} {(-f)} {($ VSub_Name "$builddir") (.ready)})]
      body: (DoGroup children:[(C {(sleep)} {(1)})] spids:[813820])
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:seconds)
          op: Equal
          rhs: {($ VSub_Number "$4")}
          spids: [822]
        )
      ]
      spids: [822]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:qemu_args)
          op: Equal
          rhs: {($ VSub_Number "$5")}
          spids: [825]
        )
      ]
      spids: [825]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:boot_args)
          op: Equal
          rhs: {($ VSub_Number "$6")}
          spids: [828]
        )
      ]
      spids: [828]
    )
    (C {(cd)} {($ VSub_Name "$KVM")})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:kstarttime)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (SimpleCommand
                        words: [{(awk)} {(SQ <"BEGIN { print systime() }">)}]
                        redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[844])]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [837 847]
              )
            }
          spids: [836]
        )
      ]
      spids: [836]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$TORTURE_BUILDONLY"))})]
          action: [
            (C {(echo)} {(SQ <" ---">)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(date)})])
                  left_token: <Left_Backtick "`">
                  spids: [868 870]
                ) (Lit_Other ":")
              } {(Starting)} {(kernel)}
            )
          ]
          spids: [-1 859]
        )
      ]
      spids: [-1 877]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:qemu_args)
          op: Equal
          rhs: {(DQ ("-enable-kvm -nographic ") ($ VSub_Name "$qemu_args"))}
          spids: [883]
        )
      ]
      spids: [883]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cpu_count)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(configNR_CPUS.sh)} {($ VSub_Name "$config_template")})]
                  )
                left_token: <Left_Backtick "`">
                spids: [890 894]
              )
            }
          spids: [889]
        )
      ]
      spids: [889]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:cpu_count)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(configfrag_boot_cpus)} {(DQ ($ VSub_Name "$boot_args"))} 
                        {(DQ ($ VSub_Name "$config_template"))} {(DQ ($ VSub_Name "$cpu_count"))}
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [897 911]
              )
            }
          spids: [896]
        )
      ]
      spids: [896]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:vcpus)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(identify_qemu_vcpus)})])
                left_token: <Left_Backtick "`">
                spids: [914 916]
              )
            }
          spids: [913]
        )
      ]
      spids: [913]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {($ VSub_Name "$cpu_count")} {(-gt)} {($ VSub_Name "$vcpus")})]
          action: [
            (C {(echo)} {(CPU)} {(count)} {(limited)} {(from)} {($ VSub_Name "$cpu_count")} {(to)} 
              {($ VSub_Name "$vcpus")}
            )
            (C {(touch)} {($ VSub_Name "$resdir") (/Warnings)})
            (SimpleCommand
              words: [
                {(echo)}
                {(CPU)}
                {(count)}
                {(limited)}
                {(from)}
                {($ VSub_Name "$cpu_count")}
                {(to)}
                {($ VSub_Name "$vcpus")}
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {($ VSub_Name "$resdir") (/Warnings)}
                  spids: [970]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cpu_count)
                  op: Equal
                  rhs: {($ VSub_Name "$vcpus")}
                  spids: [976]
                )
              ]
              spids: [976]
            )
          ]
          spids: [-1 928]
        )
      ]
      spids: [-1 979]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:qemu_args)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(specify_qemu_cpus)} {(DQ ($ VSub_Name "$QEMU"))} 
                          {(DQ ($ VSub_Name "$qemu_args"))} {(DQ ($ VSub_Name "$cpu_count"))}
                        )
                      ]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [983 997]
                )
              )
            }
          spids: [981]
        )
      ]
      spids: [981]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:qemu_args)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$qemu_args") (" ") 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(identify_qemu_args)} {(DQ ($ VSub_Name "$QEMU"))} 
                          {(DQ ($ VSub_Name "$resdir") (/console.log))}
                        )
                      ]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [1008 1019]
                )
              )
            }
          spids: [1004]
        )
      ]
      spids: [1004]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:qemu_append)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(identify_qemu_append)} {(DQ ($ VSub_Name "$QEMU"))})]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [1028 1034]
                )
              )
            }
          spids: [1026]
        )
      ]
      spids: [1026]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:boot_args)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(configfrag_boot_params)} {(DQ ($ VSub_Name "$boot_args"))} 
                          {(DQ ($ VSub_Name "$config_template"))}
                        )
                      ]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [1043 1053]
                )
              )
            }
          spids: [1041]
        )
      ]
      spids: [1041]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:boot_args)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(per_version_boot_params)} {(DQ ($ VSub_Name "$boot_args"))} 
                          {($ VSub_Name "$builddir") (/.config)} {($ VSub_Name "$seconds")}
                        )
                      ]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [1061 1072]
                )
              )
            }
          spids: [1059]
        )
      ]
      spids: [1059]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name "$TORTURE_BUILDONLY"))})]
          action: [
            (C {(echo)} {(Build-only)} {(run)} {(specified) (Lit_Comma ",")} {(boot/test)} {(omitted.)})
            (C {(touch)} {($ VSub_Name "$resdir") (/buildonly)})
            (C {(exit)} {(0)})
          ]
          spids: [-1 1086]
        )
      ]
      spids: [-1 1113]
    )
    (SimpleCommand
      words: [
        {(echo)}
        {(DQ ("NOTE: ") ($ VSub_Name "$QEMU") (" either did not run or was interactive"))}
      ]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: -1
          arg_word: {($ VSub_Name "$resdir") (/console.log)}
          spids: [1123]
        )
      ]
    )
    (SimpleCommand
      words: [
        {(echo)}
        {($ VSub_Name "$QEMU")}
        {($ VSub_Name "$qemu_args")}
        {(-m)}
        {(512)}
        {(-kernel)}
        {($ VSub_Name "$KERNEL")}
        {(-append)}
        {(EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$qemu_append")}
        {($ VSub_Name "$boot_args") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
      ]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: -1
          arg_word: {($ VSub_Name "$resdir") (/qemu-cmd)}
          spids: [1150]
        )
      ]
    )
    (Sentence
      child: 
        (Subshell
          child: 
            (CommandList
              children: [
                (Sentence
                  child: 
                    (C {($ VSub_Name "$QEMU")} {($ VSub_Name "$qemu_args")} {(-m)} {(512)} {(-kernel)} 
                      {($ VSub_Name "$KERNEL")} {(-append)} {(DQ ($ VSub_Name "$qemu_append") (" ") ($ VSub_Name "$boot_args"))}
                    )
                  terminator: <Op_Amp "&">
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      words: [{(echo)} {($ VSub_Bang "$!")}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {($ VSub_Name "$resdir") (/qemu_pid)}
                          spids: [1182]
                        )
                      ]
                    )
                  terminator: <Op_Semi ";">
                )
                (Sentence
                  child: 
                    (C {(wait)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(cat)} {($ VSub_Name "$resdir") (/qemu_pid)})]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [1190 1195]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (SimpleCommand
                  words: [{(echo)} {($ VSub_QMark "$?")}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {($ VSub_Name "$resdir") (/qemu-retval)}
                      spids: [1202]
                    )
                  ]
                )
              ]
            )
          spids: [1155 1207]
        )
      terminator: <Op_Amp "&">
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:commandcompleted) op:Equal rhs:{(0)} spids:[1211])]
      spids: [1211]
    )
    (C {(sleep)} {(10)})
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-s)} {(DQ ($ VSub_Name "$resdir") (/qemu_pid))})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:qemu_pid)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {(DQ ($ VSub_Name "$resdir") (/qemu_pid))})]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [1236 1243]
                      )
                    }
                  spids: [1235]
                )
              ]
              spids: [1235]
            )
            (C {(echo)} {(Monitoring)} {(qemu)} {(job)} {(at)} {(pid)} {($ VSub_Name "$qemu_pid")})
          ]
          spids: [-1 1232]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:qemu_pid) op:Equal rhs:{(DQ )} spids:[1263])]
          spids: [1263]
        )
        (C {(echo)} {(Monitoring)} {(qemu)} {(job)} {(at)} {(yet-as-unknown)} {(pid)})
      ]
      spids: [1260 1282]
    )
    (While
      cond: [(C {(Lit_Other ":")})]
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$qemu_pid"))} {(-a)} {(-s)} 
                      {(DQ ($ VSub_Name "$resdir") (/qemu_pid))}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:qemu_pid)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(cat)} {(DQ ($ VSub_Name "$resdir") (/qemu_pid))})]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1315 1322]
                              )
                            }
                          spids: [1314]
                        )
                      ]
                      spids: [1314]
                    )
                  ]
                  spids: [-1 1311]
                )
              ]
              spids: [-1 1325]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kruntime)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(awk)}
                                  {(SQ <"BEGIN { print systime() - ">) 
                                    (DQ ($ VSub_Name "$kstarttime")) (SQ <" }">)
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: -1
                                    arg_word: {(/dev/null)}
                                    spids: [1342]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [1329 1345]
                      )
                    }
                  spids: [1328]
                )
              ]
              spids: [1328]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$qemu_pid"))})
                        (SimpleCommand
                          words: [{(kill)} {(-0)} {(DQ ($ VSub_Name "$qemu_pid"))}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [1368]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [1372]
                            )
                          ]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(test)} {($ VSub_Name "$kruntime")} {(-ge)} {($ VSub_Name "$seconds")})
                          ]
                          action: [
                            (Sentence
                              child: (ControlFlow token:<ControlFlow_Break break>)
                              terminator: <Op_Semi ";">
                            )
                          ]
                          spids: [-1 1390]
                        )
                      ]
                      spids: [-1 1397]
                    )
                    (C {(sleep)} {(1)})
                  ]
                  spids: [-1 1376]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:commandcompleted)
                      op: Equal
                      rhs: {(1)}
                      spids: [1408]
                    )
                  ]
                  spids: [1408]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (C {(test)} {($ VSub_Name "$kruntime")} {(-lt)} {($ VSub_Name "$seconds")})
                      ]
                      action: [
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {(Completed)}
                            {(KW_In in)}
                            {($ VSub_Name "$kruntime")}
                            {(vs.)}
                            {($ VSub_Name "$seconds")}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: -1
                              arg_word: {($ VSub_Name "$resdir") (/Warnings)}
                              spids: [1438]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [1443]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [
                            {(grep)}
                            {(DQ ("^(qemu) qemu:"))}
                            {($ VSub_Name "$resdir") (/kvm-test-1-run.sh.out)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: -1
                              arg_word: {($ VSub_Name "$resdir") (/Warnings)}
                              spids: [1456]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [1461]
                            )
                          ]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:killpid)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(sed)} {(-n)} 
                                              {
                                                (DQ 
                                                  (
"s/^(qemu) qemu: terminating on signal [0-9]* from pid "
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) ("[0-9]*") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\)">
                                                  ) (".*") (Lit_Other "$") (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) (/p)
                                                )
                                              } {($ VSub_Name "$resdir") (/Warnings)}
                                            )
                                          ]
                                        )
                                      left_token: <Left_Backtick "`">
                                      spids: [1467 1486]
                                    )
                                  )
                                }
                              spids: [1465]
                            )
                          ]
                          spids: [1465]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name "$killpid"))})]
                              action: [
                                (SimpleCommand
                                  words: [{(echo)} {(DQ ("ps -fp ") ($ VSub_Name "$killpid"))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: -1
                                      arg_word: {($ VSub_Name "$resdir") (/Warnings)}
                                      spids: [1511]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [1516]
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [{(ps)} {(-fp)} {($ VSub_Name "$killpid")}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: -1
                                      arg_word: {($ VSub_Name "$resdir") (/Warnings)}
                                      spids: [1526]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [1531]
                                    )
                                  ]
                                )
                              ]
                              spids: [-1 1501]
                            )
                          ]
                          spids: [-1 1535]
                        )
                      ]
                      spids: [-1 1423]
                    )
                  ]
                  else_action: [
                    (C {(echo)} {(SQ <" ---">)} 
                      {
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(date)})])
                          left_token: <Left_Backtick "`">
                          spids: [1547 1549]
                        ) (Lit_Other ":")
                      } {(DQ ("Kernel done"))}
                    )
                  ]
                  spids: [1538 1557]
                )
                (ControlFlow token:<ControlFlow_Break break>)
              ]
              spids: [1405 1563]
            )
          ]
          spids: [1288 1565]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(-z)} {(DQ ($ VSub_Name "$qemu_pid"))} {(-a)} {(-s)} 
              {(DQ ($ VSub_Name "$resdir") (/qemu_pid))}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:qemu_pid)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(cat)} {(DQ ($ VSub_Name "$resdir") (/qemu_pid))})]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [1590 1597]
                      )
                    }
                  spids: [1589]
                )
              ]
              spids: [1589]
            )
          ]
          spids: [-1 1586]
        )
      ]
      spids: [-1 1599]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {($ VSub_Name "$commandcompleted")} {(-eq)} {(0)} {(-a)} {(-n)} 
              {(DQ ($ VSub_Name "$qemu_pid"))}
            )
          ]
          action: [
            (C {(echo)} {(Grace)} {(period)} {(KW_For for)} {(qemu)} {(job)} {(at)} {(pid)} 
              {($ VSub_Name "$qemu_pid")}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:oldline)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(tail)} {($ VSub_Name "$resdir") (/console.log)})]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [1643 1648]
                        )
                      )
                    }
                  spids: [1641]
                )
              ]
              spids: [1641]
            )
            (While
              cond: [(C {(Lit_Other ":")})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kruntime)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(awk)}
                                          {(SQ <"BEGIN { print systime() - ">) 
                                            (DQ ($ VSub_Name "$kstarttime")) (SQ <" }">)
                                          }
                                        ]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Less
                                            fd: -1
                                            arg_word: {(/dev/null)}
                                            spids: [1674]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1661 1677]
                              )
                            }
                          spids: [1660]
                        )
                      ]
                      spids: [1660]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (SimpleCommand
                              words: [{(kill)} {(-0)} {($ VSub_Name "$qemu_pid")}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [1688]
                                )
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {(1)}
                                  spids: [1692]
                                )
                              ]
                            )
                          ]
                          action: [(C {(Lit_Other ":")})]
                          spids: [-1 1696]
                        )
                      ]
                      else_action: [(ControlFlow token:<ControlFlow_Break break>)]
                      spids: [1702 1708]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:must_continue)
                          op: Equal
                          rhs: {(no)}
                          spids: [1711]
                        )
                      ]
                      spids: [1711]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newline)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(tail)} {($ VSub_Name "$resdir") (/console.log)})]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [1717 1722]
                                )
                              )
                            }
                          spids: [1715]
                        )
                      ]
                      spids: [1715]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name "$newline"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$oldline"))}
                                )
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name "$newline")})
                                    (C {(grep)} {(-q)} {(SQ <" [0-9]\\+us : ">)})
                                  ]
                                  negated: False
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:must_continue)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [1761]
                                )
                              ]
                              spids: [1761]
                            )
                          ]
                          spids: [-1 1758]
                        )
                      ]
                      spids: [-1 1765]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:last_ts)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(tail)} {($ VSub_Name "$resdir") (/console.log)})
                                            (C {(grep)} {(SQ <"^\\[ *[0-9]\\+\\.[0-9]\\+]">)})
                                            (C {(tail)} {(-1)})
                                            (C {(sed)} {(-e)} {(SQ <"s/^\\[ *//">)} {(-e)} 
                                              {(SQ <"s/\\..*$//">)}
                                            )
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [1770 1805]
                                )
                              )
                            }
                          spids: [1768]
                        )
                      ]
                      spids: [1768]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(-z)} {(DQ (last_ts))})]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:last_ts)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [1823]
                                )
                              ]
                              spids: [1823]
                            )
                          ]
                          spids: [-1 1820]
                        )
                      ]
                      spids: [-1 1827]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(test)} {(DQ ($ VSub_Name "$newline"))} {(KW_Bang "!") (Lit_Other "=")} 
                              {(DQ ($ VSub_Name "$oldline"))} {(-a)} {(DQ ($ VSub_Name "$last_ts"))} {(-lt)} 
                              {
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Plus
                                      left: (ArithVarRef name:seconds)
                                      right: (ArithWord w:{($ VSub_Name "$TORTURE_SHUTDOWN_GRACE")})
                                    )
                                  spids: [1853 1860]
                                )
                              }
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:must_continue)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [1866]
                                )
                              ]
                              spids: [1866]
                            )
                          ]
                          spids: [-1 1863]
                        )
                      ]
                      spids: [-1 1870]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(test)} {($ VSub_Name "$must_continue")} {(Lit_Other "=")} {(no)} {(-a)} 
                              {($ VSub_Name "$kruntime")} {(-ge)} 
                              {
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Plus
                                      left: (ArithVarRef name:seconds)
                                      right: (ArithWord w:{($ VSub_Name "$TORTURE_SHUTDOWN_GRACE")})
                                    )
                                  spids: [1889 1896]
                                )
                              }
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ("!!! PID ") ($ VSub_Name "$qemu_pid") (" hung at ") 
                                    ($ VSub_Name "$kruntime") (" vs. ") ($ VSub_Name "$seconds") (" seconds")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$resdir") (/Warnings)}
                                  spids: [1914]
                                )
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {(1)}
                                  spids: [1919]
                                )
                              ]
                            )
                            (C {(kill)} {(-KILL)} {($ VSub_Name "$qemu_pid")})
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 1899]
                        )
                      ]
                      spids: [-1 1933]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldline)
                          op: Equal
                          rhs: {($ VSub_Name "$newline")}
                          spids: [1936]
                        )
                      ]
                      spids: [1936]
                    )
                    (C {(sleep)} {(10)})
                  ]
                  spids: [1657 1945]
                )
            )
          ]
          spids: [-1 1619]
        )
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$qemu_pid"))})]
          action: [
            (C {(echo)} {(Unknown)} {(PID) (Lit_Comma ",")} {(cannot)} {(kill)} {(qemu)} {(command)})
          ]
          spids: [1947 1957]
        )
      ]
      spids: [-1 1975]
    )
    (C {(parse-torture.sh)} {($ VSub_Name "$resdir") (/console.log)} {($ VSub_Name "$title")})
    (C {(parse-console.sh)} {($ VSub_Name "$resdir") (/console.log)} {($ VSub_Name "$title")})
  ]
)