summaryrefslogtreecommitdiff
path: root/test/pingpong.py
blob: df7d4b38c5485d5e6a87fde6903ae41a1b27ffe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Task scheduling test
#

import time

# Test during 5s
DURATION=5

def test(helper):
      helper.wait_output("[starting Task T]")
      helper.wait_output("[starting Task C]")
      helper.wait_output("[starting Task B]")
      helper.wait_output("[starting Task A]")
      deadline = time.time() + DURATION
      count = []
      while time.time() < deadline:
          sched = helper.wait_output("(?P<a>(?:ABC){3,200})T", use_re=True,
                                     timeout=1)["a"]
          count.append(len(sched) / 3)

      helper.trace("IRQ count %d, cycles count min %d  max %d\n" %
                   (len(count), min(count), max(count)))
      return True # PASS !