(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(DQ ($ VSub_Number "$1"))} spids:[70])]
      spids: [70]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-d)} {($ VSub_Name "$i")})]
          action: [(C {(Lit_Other ":")})]
          spids: [-1 83]
        )
      ]
      else_action: [
        (C {(echo)} {(Unreadable)} {(results)} {(directory) (Lit_Other ":")} {($ VSub_Name "$i")})
        (C {(exit)} {(1)})
      ]
      spids: [88 107]
    )
    (C {(.)} {(tools/testing/selftests/rcutorture/bin/functions.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:configfile)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {($ VSub_Name "$i")})
                          (C {(sed)} {(-e)} {(SQ <"s/^.*\\///">)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [115 129]
              )
            }
          spids: [114]
        )
      ]
      spids: [114]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ngps)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (SimpleCommand
                            words: [{(grep)} {(ver) (Lit_Other ":")} {($ VSub_Name "$i") (/console.log)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [141]
                              )
                            ]
                          )
                          (C {(tail)} {(-1)})
                          (C {(sed)} {(-e)} {(SQ <"s/^.* ver: //">)} {(-e)} {(SQ <"s/ .*$//">)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [132 166]
              )
            }
          spids: [131]
        )
      ]
      spids: [131]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$ngps"))})]
          action: [(C {(echo)} {(DQ ($ VSub_Name "$configfile") (" -------"))})]
          spids: [-1 178]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:title)
              op: Equal
              rhs: 
                {
                  (DQ ($ VSub_Name "$configfile") (" ------- ") ($ VSub_Name "$ngps") (" grace periods"))
                }
              spids: [191]
            )
          ]
          spids: [191]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:dur)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [
                              {(sed)}
                              {(-e)}
                              {(SQ <"s/^.* rcutorture.shutdown_secs=//">)}
                              {(-e)}
                              {(SQ <"s/ .*$//">)}
                            ]
                            redirects: [
                              (Redir
                                op_id: Redir_Less
                                fd: -1
                                arg_word: {($ VSub_Name "$i") (/qemu-cmd)}
                                spids: [216]
                              )
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [221]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [201 224]
                  )
                }
              spids: [200]
            )
          ]
          spids: [200]
        )
        (If
          arms: [
            (if_arm
              cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$dur"))})]
              action: [(C {(Lit_Other ":")})]
              spids: [-1 238]
            )
          ]
          else_action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ngpsps)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [
                                  {(awk)}
                                  {(-v)}
                                  {(Lit_VarLike "ngps=") ($ VSub_Name "$ngps")}
                                  {(-v)}
                                  {(Lit_VarLike "dur=") ($ VSub_Name "$dur")}
                                  {(SQ <"\n"> <"\t\t\tBEGIN { print ngps / dur }">)}
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Less
                                    fd: -1
                                    arg_word: {(/dev/null)}
                                    spids: [266]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [248 269]
                      )
                    }
                  spids: [247]
                )
              ]
              spids: [247]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:title)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$title") (" (") ($ VSub_Name "$ngpsps") (" per second)"))}
                  spids: [272]
                )
              ]
              spids: [272]
            )
          ]
          spids: [244 281]
        )
        (C {(echo)} {($ VSub_Name "$title")})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:nclosecalls)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(grep)} {(--binary-files) (Lit_Other "=") (text)} 
                                {(SQ <"torture: Reader Batch">)} {($ VSub_Name "$i") (/console.log)}
                              )
                              (C {(tail)} {(-1)})
                              (C {(awk)} {(SQ <"{for (i=NF-8;i<=NF;i++) sum+=$i; } END {print sum}">)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [290 317]
                  )
                }
              spids: [289]
            )
          ]
          spids: [289]
        )
        (If
          arms: [
            (if_arm
              cond: [(C {(test)} {(-z)} {(DQ ($ VSub_Name "$nclosecalls"))})]
              action: [(C {(exit)} {(0)})]
              spids: [-1 331]
            )
          ]
          spids: [-1 339]
        )
        (If
          arms: [
            (if_arm
              cond: [(C {(test)} {(DQ ($ VSub_Name "$nclosecalls"))} {(-eq)} {(0)})]
              action: [(C {(exit)} {(0)})]
              spids: [-1 355]
            )
          ]
          spids: [-1 363]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:nclosecalls10)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [
                              {(awk)}
                              {(-v)}
                              {(Lit_VarLike "nclosecalls=") ($ VSub_Name "$nclosecalls")}
                              {(-v)}
                              {(Lit_VarLike "dur=") ($ VSub_Name "$dur")}
                              {(SQ <"BEGIN { print int(nclosecalls * 36000 / dur) }">)}
                            ]
                            redirects: [
                              (Redir
                                op_id: Redir_Less
                                fd: -1
                                arg_word: {(/dev/null)}
                                spids: [388]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [371 391]
                  )
                }
              spids: [370]
            )
          ]
          spids: [370]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (C {(test)} {($ VSub_Name "$nclosecalls10")} {(-gt)} {(5)} {(-a)} 
                  {($ VSub_Name "$nclosecalls")} {(-gt)} {(1)}
                )
              ]
              action: [
                (C {(print_bug)} {($ VSub_Name "$nclosecalls")} {(DQ ("Reader Batch close calls in"))} 
                  {
                    (ArithSubPart
                      anode: 
                        (ArithBinary
                          op_id: Arith_Slash
                          left: (ArithWord w:{($ VSub_Name "$dur")})
                          right: (ArithWord w:{(Lit_Digits 60)})
                        )
                      spids: [424 429]
                    )
                  } {(minute)} {(run) (Lit_Other ":")} {($ VSub_Name "$i")}
                )
              ]
              spids: [-1 413]
            )
          ]
          else_action: [
            (C {(print_warning)} {($ VSub_Name "$nclosecalls")} {(DQ ("Reader Batch close calls in"))} 
              {
                (ArithSubPart
                  anode: 
                    (ArithBinary
                      op_id: Arith_Slash
                      left: (ArithWord w:{($ VSub_Name "$dur")})
                      right: (ArithWord w:{(Lit_Digits 60)})
                    )
                  spids: [450 455]
                )
              } {(minute)} {(run) (Lit_Other ":")} {($ VSub_Name "$i")}
            )
          ]
          spids: [439 465]
        )
      ]
      spids: [188 467]
    )
  ]
)